mirror of
https://github.com/tbamud/tbamud.git
synced 2026-02-27 05:51:45 +01:00
Updated World and files for 3.55 release. --Rumble
This commit is contained in:
@@ -8,7 +8,7 @@ Non-attachable trigger~
|
||||
Mob Tutorial Example Quest Offer - M14~
|
||||
0 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A very basic 3 trigger receive quest. Trigs 1-3.
|
||||
* Make sure the actor is a player first.
|
||||
if %actor.is_pc%
|
||||
@@ -30,7 +30,7 @@ end
|
||||
Mob Tutorial Example Kill Ogre - 16~
|
||||
0 f 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A very basic 3 trigger receive quest. Trigs 1-3.
|
||||
say you got the best of me %actor.name%. But I'll be back.
|
||||
* Load the wings to be returned to the questmaster.
|
||||
@@ -42,7 +42,7 @@ say you got the best of me %actor.name%. But I'll be back.
|
||||
Mob Tutorial Example Completion - 14~
|
||||
0 j 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A very basic 3 trigger receive quest. Trigs 1-3.
|
||||
* Check if this was indeed the right object.
|
||||
if %object.vnum% == 1
|
||||
@@ -64,7 +64,7 @@ end
|
||||
Tutorial II Guard Greet - 24~
|
||||
0 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A basic guard bribe trigger. Trigs 4, 5, 7, 8.
|
||||
* This is a N S road so only greet players arriving from the south.
|
||||
if %direction% == south && %actor.is_pc%
|
||||
@@ -78,7 +78,7 @@ end
|
||||
Tutorial II Guard Bribe 10 - 24~
|
||||
0 m 1
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A basic guard bribe trigger. Trigs 4, 5, 7, 8.
|
||||
* This is a comment. Always use amplifying comments to explain your Triggers!
|
||||
* If actor gives 10 coins or more.
|
||||
@@ -108,7 +108,7 @@ end
|
||||
Obj Command Magic Eight Ball - O47~
|
||||
1 c 2
|
||||
shake~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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.
|
||||
@@ -203,7 +203,7 @@ end
|
||||
Tutorial II Guard Closes Gate - 24~
|
||||
0 e 0
|
||||
The gate is opened from~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A basic guard bribe trigger. Trigs 4, 5, 7, 8.
|
||||
* This is required to close the gate after someone opens it from the other
|
||||
* side.
|
||||
@@ -216,7 +216,7 @@ lock gate
|
||||
Tutorial II Guard Closes Gate 2 - 24~
|
||||
0 e 0
|
||||
leaves north.~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A basic guard bribe trigger. Trigs 4, 5, 7, 8.
|
||||
* This is required to close the gate after the guard is bribed and someone
|
||||
* leaves to the north.
|
||||
@@ -229,7 +229,7 @@ lock gate
|
||||
Tutorial Quest 1317 - Starter~
|
||||
0 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Quest Trigs 9-12. If the player comes from the south and has not done the quest.
|
||||
if %direction% == south
|
||||
if %actor.varexists(solved_tutorial_quest_zone_0)%
|
||||
@@ -247,7 +247,7 @@ end
|
||||
Tutorial Quest 1317 - Accept~
|
||||
0 d 1
|
||||
yes~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Quest Trigs 9-12. If the player has not done the quest give them a hint.
|
||||
if !%actor.varexists(solved_tutorial_quest_zone_0)%
|
||||
wait 1 sec
|
||||
@@ -261,32 +261,32 @@ end
|
||||
Tutorial Quest 1317 - Completion~
|
||||
0 j 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* Quest Trigs 9-12. If the player returns the right object reward them.
|
||||
if !%actor.varexists(solved_tutorial_quest_zone_0)% && %object.vnum% == 1394
|
||||
dance
|
||||
wait 1 sec
|
||||
say Thank you, %actor.name%.
|
||||
nop %actor.exp(50)%
|
||||
nop %actor.gold(50)%
|
||||
say finally, now I can get some answers.
|
||||
wait 1 sec
|
||||
emote shakes the magic eight ball vigorously.
|
||||
wait 1 sec
|
||||
emote does not seem too pleased with his answer.
|
||||
set solved_tutorial_quest_zone_0 1
|
||||
remote solved_tutorial_quest_zone_0 %actor.id%
|
||||
%purge% %object%
|
||||
else
|
||||
say I don't want that!
|
||||
junk %object.name%
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Quest Trigs 9-12. If the player returns the right object reward them.
|
||||
if !%actor.varexists(solved_tutorial_quest_zone_0)% && %object.vnum% == 1394
|
||||
set solved_tutorial_quest_zone_0 1
|
||||
remote solved_tutorial_quest_zone_0 %actor.id%
|
||||
%purge% %object%
|
||||
dance
|
||||
wait 1 sec
|
||||
say Thank you, %actor.name%.
|
||||
nop %actor.exp(50)%
|
||||
nop %actor.gold(50)%
|
||||
say finally, now I can get some answers.
|
||||
wait 1 sec
|
||||
emote shakes the magic eight ball vigorously.
|
||||
wait 1 sec
|
||||
emote does not seem too pleased with his answer.
|
||||
else
|
||||
say I don't want that!
|
||||
junk %object.name%
|
||||
end
|
||||
~
|
||||
#12
|
||||
Tutorial Quest 1441 - Load 8ball~
|
||||
2 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Quest Trigs 9-12. Drop the 8ball on their head when they enter.
|
||||
wait 1 sec
|
||||
%echoaround% %actor.name% A magic eight ball drops from the sky striking %actor.name% on the head.
|
||||
@@ -309,7 +309,7 @@ end
|
||||
Restorative Comfy Bed 1401 - Heal~
|
||||
1 b 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Healing Bed Trigs 13-15. Heals those who sleep on it.
|
||||
set room_var %actor.room%
|
||||
set target_char %room_var.people%
|
||||
@@ -336,7 +336,7 @@ end
|
||||
Damage Example~
|
||||
2 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* First put a wait in so the echo waits for the player to get into the room.
|
||||
wait 1 sec
|
||||
%echo% As %actor.name% enters the room a bolt of lightning smites %actor.himher%.
|
||||
@@ -410,7 +410,7 @@ end
|
||||
Switch Echo Example~
|
||||
2 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* put a wait in here so it doesn't fire before the player enters the room
|
||||
wait 1
|
||||
switch %random.3%
|
||||
@@ -442,7 +442,7 @@ done
|
||||
AT Example~
|
||||
2 b 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* put a wait in here so it doesn't fire before the player enters the room
|
||||
%at% 33 %echo% at'd to a room
|
||||
%at% Rumble %echo% at'd to Rumble
|
||||
@@ -451,7 +451,7 @@ AT Example~
|
||||
Rumble's Spy~
|
||||
0 d 100
|
||||
*~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* put a wait in here so it doesn't fire before the player enters the room
|
||||
* Arguments: * means all speech will trigger this.
|
||||
* This will echo all speech to Rumble.
|
||||
@@ -461,16 +461,13 @@ Rumble's Spy~
|
||||
Transform Example~
|
||||
0 g 100
|
||||
~
|
||||
* %transform% test
|
||||
* as a greet trigger, entering the room will cause
|
||||
* the mob this is attached to, to toggle between mob 1 and 99.
|
||||
say Beginning transform.
|
||||
if %self.vnum%==1
|
||||
%transform% 99
|
||||
else
|
||||
%transform% -1
|
||||
end
|
||||
say Transform complete.
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* As a greet trigger, entering the room will cause this mob to transform into
|
||||
* a random mob vnum 100-199.
|
||||
emote starts to twist and contort into something different.
|
||||
eval number %random.100% + 99
|
||||
%transform% %number%
|
||||
say Transform complete to mob %number%.
|
||||
~
|
||||
#22
|
||||
IF Example~
|
||||
@@ -541,32 +538,7 @@ end
|
||||
While Damage Example - Grenade O1301~
|
||||
1 h 100
|
||||
~
|
||||
* 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%
|
||||
%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
|
||||
* By Rumble of The Builder Academy tbamud.com 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%
|
||||
@@ -594,7 +566,7 @@ done
|
||||
Room While Teleport Example~
|
||||
2 b 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Target the first person or mob in the room.
|
||||
eval person %self.people%
|
||||
wait 1 sec
|
||||
@@ -612,69 +584,98 @@ done
|
||||
Command Example~
|
||||
2 c 100
|
||||
l~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A command trigger to demonstrate basic usage. The Arg list 'l' will capture
|
||||
* any 'l' word. We are looking specifically for the MUD command (all commands
|
||||
* are listed under COMMANDS) 'look' with the abbreviated argument of 'window.'
|
||||
if %cmd.mudcommand% == look && window /= %arg%
|
||||
%echo% %actor.name% %arg% at the %arg%.
|
||||
%echo% %actor.name% typed %cmd% to %cmd.mudcommand% at the %arg%.
|
||||
else
|
||||
* Without this return zero a player would be unable to look at anything else
|
||||
* in the room, leave, list, etc.
|
||||
return 0
|
||||
end
|
||||
~
|
||||
#26
|
||||
Blocks Mobs Not Following~
|
||||
2 g 100
|
||||
~
|
||||
* This trigger blocks all mobs except those that are charmed, pets, etc.
|
||||
Name: 'Blocks Mobs Not Following', VNum: [ 26], RNum: [ 26]
|
||||
Trigger Intended Assignment: Rooms
|
||||
Trigger Type: Enter , Numeric Arg: 100, Arg list: None
|
||||
Commands:
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* This trigger blocks all mobs except those that are following.
|
||||
* If actor is a mob, !is_pc actually means not a PC.
|
||||
if !%actor.is_pc%
|
||||
* If the mob does not have a master than do not let it enter.
|
||||
* If the mob does not have a master.
|
||||
if !%actor.master%
|
||||
* Return 0 prevents the mob from entering.
|
||||
return 0
|
||||
end
|
||||
end
|
||||
~
|
||||
#27
|
||||
Character Variables Example~
|
||||
Actor Variables Example~
|
||||
0 b 100
|
||||
~
|
||||
* Variables Example by Rumble
|
||||
* Random trigger so we must define actor
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A listing and demonstration of all actor variables.
|
||||
* Random triggers do not have actors so we must define one.
|
||||
set actor %random.char%
|
||||
* Make sure actor can be seen and is a player.
|
||||
* Make sure the actor can be seen and is a player.
|
||||
if %actor.canbeseen% && %actor.is_pc%
|
||||
%echo% ACTOR.NAME: %actor.name%
|
||||
%echo% AGE: %actor.age%
|
||||
%echo% ALIAS: %actor.alias%
|
||||
%echo% CANBESEEN: %actor.canbeseen%
|
||||
%echo% CHARISMA: %actor.cha%
|
||||
%echo% CLASS: %actor.class%
|
||||
%echo% CONSTITUTION: %actor.con%
|
||||
%echo% DEXTERITY: %actor.dex%
|
||||
%echo% INTELLIGENCE: %actor.int%
|
||||
%echo% STRENGTH/STRADD: %actor.str%/%actor.stradd%
|
||||
%echo% WISDOM: %actor.wis%
|
||||
%echo% ALIAS: %actor.alias%
|
||||
%echo% ALIGN: %actor.align%
|
||||
%echo% AFFECT: %actor.affect%
|
||||
%echo% CANBESEEN: %actor.canbeseen%
|
||||
%echo% CLASS: %actor.class%
|
||||
%echo% DRUNK: %actor.drunk%
|
||||
%echo% EXPERIENCE: %actor.exp%
|
||||
%echo% FIGHTING: %actor.fighting%
|
||||
%echo% GOLD: %actor.gold%
|
||||
* %echo% HAS_ITEM: %actor.has_item(1300)%
|
||||
%echo% ID: %actor.id%
|
||||
%echo% INTELLIGENCE: %actor.int%
|
||||
%echo% IS_KILLER: %actor.is_killer%
|
||||
%echo% IS_THIEF: %actor.is_thief%
|
||||
%echo% LEVEL: %actor.level%
|
||||
%echo% HITPOINTS: %actor.hitp%
|
||||
%echo% MANA: %actor.mana%
|
||||
%echo% MOVEMENT POINTS: %actor.move%
|
||||
%echo% MASTER: %actor.master%
|
||||
%echo% FOLLOWER: %actor.follower%
|
||||
%echo% MAX HITPOINTS: %actor.maxhitp%
|
||||
%echo% MAX MANA: %actor.maxmana%
|
||||
%echo% MAX MOVE: %actor.maxmove%
|
||||
%echo% NEXT_IN_ROOM: %actor.next_in_room%
|
||||
%echo% PRACTICES %actor.prac%
|
||||
%echo% ROOM: %actor.room%
|
||||
%echo% SEX: %actor.sex%
|
||||
%echo% HISHER: %actor.hisher%
|
||||
%echo% GOLD: %actor.gold%
|
||||
%echo% HAS_ITEM: %actor.has_item(1332)%
|
||||
%echo% HESHE: %actor.heshe%
|
||||
%echo% HIMHER: %actor.himher%
|
||||
%echo% INVENTORY: %actor.inventory%
|
||||
%echo% HISHER: %actor.hisher%
|
||||
%echo% HITPOINTS: %actor.hitp%
|
||||
%echo% HUNGER: %actor.hunger%
|
||||
%echo% ID: %actor.id%
|
||||
%echo% INV: %actor.inventory%
|
||||
%echo% IS_KILLER: %actor.is_killer%
|
||||
%echo% IS_PC: %actor.is_pc%
|
||||
%echo% IS_THIEF: %actor.is_thief%
|
||||
%echo% LEVEL: %actor.level%
|
||||
%echo% MANA: %actor.mana%
|
||||
%echo% MASTER: %actor.master%
|
||||
%echo% MAX HP: %actor.maxhitp%
|
||||
%echo% MAX MANA: %actor.maxmana%
|
||||
%echo% MAX MOVE: %actor.maxmove%
|
||||
%echo% MOVE: %actor.move%
|
||||
%echo% NAME: %actor.name%
|
||||
%echo% NEXT_IN_ROOM: %actor.next_in_room%
|
||||
%echo% POSITION: %actor.pos%
|
||||
%echo% PRACTICES: %actor.prac%
|
||||
%echo% QUESTPOINTS: %actor.questpoints%
|
||||
%echo% ROOM: %actor.room%
|
||||
%echo% SAVING_PARA: %actor.saving_para%
|
||||
%echo% SAVING_ROD: %actor.saving_rod%
|
||||
%echo% SAVING_PETRI: %actor.saving_petri%
|
||||
%echo% SAVING_BREATH: %actor.saving_breath%
|
||||
%echo% SAVING_SPELL: %actor.saving_spell%
|
||||
%echo% SEX: %actor.sex%
|
||||
%echo% SKILL BACKSTAB: %actor.skill(backstab)%
|
||||
%echo% STRENGTH/STRADD: %actor.str%/%actor.stradd%
|
||||
%echo% THIRST: %actor.thirst%
|
||||
%echo% TITLE: %actor.title%
|
||||
%echo% VAREXISTS: %actor.varexists(tba_greeting)%
|
||||
%echo% VNUM: %actor.vnum%
|
||||
%echo% WISDOM: %actor.wis%
|
||||
%echo% WEIGHT: %actor.weight%
|
||||
* Objects TSTAT 28, Rooms TSTAT 29, Text TSTAT 30, Special TSTAT 31.
|
||||
*
|
||||
@@ -693,9 +694,19 @@ end
|
||||
Object Variables Example~
|
||||
1 b 100
|
||||
~
|
||||
* By Rumble
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A listing and demonstration of all object variables.
|
||||
%echo% CARRIED_BY: %self.carried_by%
|
||||
%echo% CONTENTS: %self.contents%
|
||||
%echo% COST: %self.cost%
|
||||
%echo% COST_PER_DAY: %self.cost_per_day%
|
||||
%echo% COUNT: %self.count%
|
||||
%echo% HAS_IN: %self.has_in%
|
||||
%echo% ID: %self.id%
|
||||
%echo% IS_INROOM: %self.is_inroom%
|
||||
%echo% NAME: %self.name%
|
||||
%echo% NEXT_IN_LIST: %self.next_in_list%
|
||||
%echo% ROOM: %self.room%
|
||||
%echo% SHORTDESC: %self.shortdesc%
|
||||
%echo% TIMER: %self.timer%
|
||||
%echo% TYPE: %self.type%
|
||||
@@ -704,44 +715,39 @@ Object Variables Example~
|
||||
%echo% VAL2: %self.val2%
|
||||
%echo% VAL3: %self.val3%
|
||||
%echo% VNUM: %self.vnum%
|
||||
%echo% CARRIED_BY: %self.carried_by%
|
||||
%echo% NEXT_IN_LIST: %self.next_in_list%
|
||||
%echo% WORN_BY: %self.worn_by%
|
||||
%echo% WEARFLAG: %self.wearflag%
|
||||
%echo% WEIGHT: %self.weight%
|
||||
%echo% COST: %self.cost%
|
||||
%echo% COST_PER_DAY: %self.cost_per_day%
|
||||
%echo% CONTENTS: %self.contents%
|
||||
%echo% IS_INROOM: %self.is_inroom%
|
||||
%echo% ROOM: %self.room%
|
||||
%echo% VNUM: %self.room.vnum%
|
||||
%echo% WORN_BY: %self.worn_by%
|
||||
%purge% self
|
||||
~
|
||||
#29
|
||||
Room Variables Example~
|
||||
2 b 100
|
||||
~
|
||||
* By Rumble
|
||||
%echo% ID: %self.id%
|
||||
%echo% NAME: %self.name%
|
||||
%echo% NORTH: %self.north% %self.north(vnum)%
|
||||
%echo% SOUTH: %self.south% %self.south(key)%
|
||||
%echo% SOUTH: %self.south% %self.south(vnum)%
|
||||
%echo% EAST: %self.east% %self.east(bits)%
|
||||
%echo% WEST: %self.west% %self.west(room)%
|
||||
%echo% UP: %self.up%
|
||||
%echo% DOWN: %self.down%
|
||||
%echo% VNUM: %self.vnum%
|
||||
%echo% PEOPLE: %self.people%
|
||||
%echo% WEATHER: %self.weather%
|
||||
%echo% SECTOR: %self.sector%
|
||||
%echo% CONTENTS: %self.contents%
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A listing and demonstration of all room variables.
|
||||
%echo% CONTENTS: %self.contents%
|
||||
%echo% NORTH: %self.north% %self.north(vnum)%
|
||||
%echo% SOUTH: %self.south% %self.south(key)%
|
||||
%echo% SOUTH: %self.south% %self.south(vnum)%
|
||||
%echo% EAST: %self.east% %self.east(bits)%
|
||||
%echo% WEST: %self.west% %self.west(room)%
|
||||
%echo% UP: %self.up%
|
||||
%echo% DOWN: %self.down%
|
||||
%echo% ID: %self.id%
|
||||
%echo% NAME: %self.name%
|
||||
%echo% PEOPLE: %self.people%
|
||||
%echo% RANDOM.DIR: %self.random.dir%
|
||||
%echo% SECTOR: %self.sector%
|
||||
%echo% VNUM: %self.vnum%
|
||||
%echo% WEATHER: %self.weather%
|
||||
~
|
||||
#30
|
||||
Text Variables Example~
|
||||
2 d 100
|
||||
*~
|
||||
* By Rumble
|
||||
* The Arguments: * means all speech will fire the trigger.
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A listing and demonstration of all text variables.
|
||||
%echo% SPEECH: %speech%
|
||||
%echo% STRLEN: %speech.strlen%
|
||||
%echo% TRIM: %speech.trim%
|
||||
@@ -749,38 +755,34 @@ Text Variables Example~
|
||||
%echo% CDR: %speech.cdr%
|
||||
%echo% MUDCOMMAND: %speech.mudcommand%
|
||||
%echo% CONTAINS: %speech.contains(test)%
|
||||
%echo% CHARAT 3: %speech.charat(3)%
|
||||
~
|
||||
#31
|
||||
Special Variables Example~
|
||||
2 d 100
|
||||
*~
|
||||
* By Rumble
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A listing and demonstration of all special variables.
|
||||
%echo% SELF ID: %self.id%
|
||||
%echo% HOUR: %time.hour%
|
||||
%echo% DAY: %time.day%
|
||||
%echo% MONTH: %time.month%
|
||||
%echo% YEAR: %time.year%
|
||||
%echo% PEOPLE: %people.1233%
|
||||
%echo% PEOPLE: %people.3%
|
||||
%echo% RANDOM NUM: %random.99%
|
||||
%echo% RANDOM PC: %random.char%
|
||||
%echo% SPEECH: %speech%
|
||||
%echo% FINDOBJ: There are %findobj.1233(1300)% objects of vnum 1300 in room 1233.
|
||||
%echo% There is %findobj.1233(1346356)% object of ID 1346356 in room 1233.
|
||||
%echo% There are %findobj.1233(app)% objects of name app in room 1233.
|
||||
%echo% There are %findobj.1233(apprehension)% objects of name apprehension in room 1233.
|
||||
%echo% FINDMOB: There are %findmob.1233(1300)% mobs of vnum 1300 in room 1233.
|
||||
%echo% There is %findmob.1233(64741)% mobs of ID 64741 in room 1233.
|
||||
* not working
|
||||
%echo% There are %findmob.1233(fried)% mobs of name fried in room 1233.
|
||||
%echo% There are %findmob.1233(friedrich)% mobs of name friedrich in room 1233.
|
||||
%echo% There are %findmob.self(fried)% mobs of name fried in room 1233.
|
||||
%echo% There are %findmob.self(friedrich)% mobs of name friedrich in room 1233.
|
||||
%echo% FINDOBJ: There are %findobj.3(33)% objects of vnum 33 in room 3.
|
||||
%echo% There are %findobj.3(guide)% objects of name guide in room 3.
|
||||
%echo% FINDMOB: There are %findmob.3(33)% mobs of vnum 33 in room 3.
|
||||
~
|
||||
#32
|
||||
Mob Checks Player Inventory~
|
||||
0 g 100
|
||||
~
|
||||
* By Jamie Nelson modified by Rumble* Checks if the actor is wielding the item
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* This trigger has been replaced by the has_item variable. But this is still a
|
||||
* good example. if %actor.has_item(1300)% does the same thing.
|
||||
if %actor.eq(wield)%
|
||||
eval wep %actor.eq(wield)%
|
||||
if %wep.vnum%==1300
|
||||
@@ -967,44 +969,41 @@ say %msg%
|
||||
Switch Example~
|
||||
0 g 100
|
||||
~
|
||||
* By Falstar
|
||||
switch %random.6%
|
||||
case 0
|
||||
* By Falstar of The Builder Academy tbamud.com 9091
|
||||
* Pick a random number 1-7, 7 is actually for the default case.
|
||||
switch %random.7%
|
||||
case 1
|
||||
set book 'Creative cooking with human flesh'
|
||||
break
|
||||
case 1
|
||||
case 2
|
||||
set book 'Re-animating the Dead for Dummies'
|
||||
break
|
||||
case 2
|
||||
case 3
|
||||
set book 'How to teach your henchman to rob graves in 7 days'
|
||||
break
|
||||
case 3
|
||||
case 4
|
||||
set book 'An A-Z guide of Mage-induced maladies and mutations'
|
||||
break
|
||||
case 4
|
||||
case 5
|
||||
set book '101 Easy ways to rescue a damsel in distress'
|
||||
break
|
||||
case 5
|
||||
case 6
|
||||
set book 'Witch Hazel's Bumper Book of rare herbs and potions'
|
||||
break
|
||||
case 6
|
||||
set book 'Arcane Artifacts made easy'
|
||||
break
|
||||
default
|
||||
* this should be here, even if it's never reached
|
||||
set book default reached
|
||||
done
|
||||
*
|
||||
wait 1 s
|
||||
%echo% Dr. Von Erhartz seems engrossed in reading a large leatherbound book through a battered pair
|
||||
%echo% of reading glasses. The title reads: %book%.
|
||||
%echo% The doctor looks up at you, seeming to notice you for the first time.
|
||||
wait 1 s
|
||||
say ah %actor.name%, I was wondering when you'd drop by.
|
||||
set book 'Arcane Artifacts made easy'
|
||||
done
|
||||
*
|
||||
wait 1 s
|
||||
%echo% Dr. Von Erhartz seems engrossed in reading a large leatherbound book through a battered pair
|
||||
%echo% of reading glasses. The title reads: %book%.
|
||||
%echo% The doctor looks up at you, seeming to notice you for the first time.
|
||||
wait 1 s
|
||||
say ah %actor.name%, I was wondering when you'd drop by.
|
||||
~
|
||||
#35
|
||||
Mob Room Wander Switch~
|
||||
0 b 100
|
||||
Mob Room Specific Speeches~
|
||||
0 b 5
|
||||
~
|
||||
* By Rumble
|
||||
* So we don't get problems if more than one is loaded.
|
||||
@@ -1065,7 +1064,7 @@ done
|
||||
Time Example~
|
||||
0 b 1
|
||||
~
|
||||
* By Rumble w/help from Jamie Nelson on http://groups.yahoo.com/group/dg_scripts/
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A replica of the "time" command.
|
||||
* Convert hour from 24 hour to 12 hour clock with am/pm
|
||||
if %time.hour% > 12
|
||||
@@ -1188,28 +1187,44 @@ eval months %%m%time.month%%%
|
||||
%echo% The %time.day%%suf% Day of the %months%, Year %time.year%.
|
||||
~
|
||||
#37
|
||||
Emote Copycat~
|
||||
0 c 100
|
||||
e~
|
||||
if %cmd.mudcommand% == emote && %arg%
|
||||
wait 2 sec
|
||||
emote %arg%
|
||||
Obj Command quarter flip example~
|
||||
1 c 2
|
||||
flip~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Numeric Arg: 2 means in character's carried inventory
|
||||
* does not work for level 32 and above.
|
||||
if coin /= %arg% || quarter /= %arg%
|
||||
%echoaround% %actor% %actor.name% flips a coin high up into the air.
|
||||
%send% %actor% You flip the coin up into the air.
|
||||
switch %random.2%
|
||||
case 1
|
||||
%echo% The coin falls to the ground, bounces, rolls, and ends up showing heads!
|
||||
break
|
||||
case 2
|
||||
%echo% The coin falls to the ground, bounces, rolls, and ends up showing tails!
|
||||
break
|
||||
default
|
||||
%echo% The coin falls on its edge and balances perfectly.
|
||||
break
|
||||
done
|
||||
else
|
||||
%send% %actor% flip What?
|
||||
end
|
||||
~
|
||||
#38
|
||||
Mob Receive and Assemble Example~
|
||||
0 j 100
|
||||
~
|
||||
* Example by Aeon
|
||||
wait 2 sec
|
||||
* Check mob's inventory (this does not include equipped items)
|
||||
* By Aeon of The Builder Academy tbamud.com 9091
|
||||
* Check mob's inventory (this does not include equipped items).
|
||||
if %self.inventory(16701)% && %self.inventory(16702)% && %self.inventory(16703)% && %self.inventory(16704)% && %self.inventory(16705)%
|
||||
* Removing items from the mob
|
||||
%purge% flour
|
||||
%purge% salt
|
||||
%purge% sugar
|
||||
%purge% soda
|
||||
%purge% egg
|
||||
* Removing items from the mob.
|
||||
%purge% %self.inventory(16701)%
|
||||
%purge% %self.inventory(16702)%
|
||||
%purge% %self.inventory(16703)%
|
||||
%purge% %self.inventory(16704)%
|
||||
%purge% %self.inventory(16705)%
|
||||
wait 2 sec
|
||||
* For roleplay sake
|
||||
say Thank you %actor.name%! Now here is the cake.
|
||||
* Give the reward
|
||||
@@ -1222,7 +1237,8 @@ end
|
||||
Mob Following Assist Master~
|
||||
0 b 100
|
||||
~
|
||||
* By Rumble
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Make following mob assist.
|
||||
if %self.master%
|
||||
eval master %self.master%
|
||||
if %master.fighting%
|
||||
@@ -1233,33 +1249,65 @@ if %self.master%
|
||||
end
|
||||
~
|
||||
#40
|
||||
mfollow Example~
|
||||
0 b 100
|
||||
Random Equipment Scatter and Teleport~
|
||||
2 g 100
|
||||
~
|
||||
* By Welcor
|
||||
set actor %random.char%
|
||||
mfollow %actor%
|
||||
say I follow you now %actor.name%
|
||||
say self.master: %self.master%
|
||||
say actor: %actor%
|
||||
eval follower %self.master%
|
||||
say follower: %follower%
|
||||
say follower.name : %follower.name%
|
||||
* By Random of The Builder Academy tbamud.com 9091
|
||||
* Scatter the player and all of their equipment randomly across the zone.
|
||||
wait 1 sec
|
||||
%send% %actor% You feel you must not have been worthy when a powerful force hurls you back through the gates.
|
||||
wait 2 sec
|
||||
eval stunned %actor.hitp% -1
|
||||
%damage% %actor% %stunned%
|
||||
eval num %random.99% + 20300
|
||||
%teleport% %actor% %num%
|
||||
while %actor.inventory%
|
||||
eval item %actor.inventory%
|
||||
if %item.type% == CONTAINER
|
||||
while %item.contents%
|
||||
eval stolen %item.contents.vnum%
|
||||
%echo% purging %item.contents.shortdesc% in container.
|
||||
%purge% %item.contents%
|
||||
eval num %random.99% + 2300
|
||||
%at% %num% %load% obj %stolen%
|
||||
done
|
||||
end
|
||||
eval item_to_purge %actor.inventory%
|
||||
eval stolen %item.vnum%
|
||||
%purge% %item_to_purge%
|
||||
eval num %random.99% + 2300
|
||||
%at% %num% %load% obj %stolen%
|
||||
done
|
||||
eval i 0
|
||||
while %i% < 18
|
||||
eval item %%actor.eq(%i%)%%
|
||||
if %item%
|
||||
eval stolen %item.vnum%
|
||||
eval item_to_purge %%actor.eq(%i%)%%
|
||||
%send% %actor% You drop %item.shortdesc%
|
||||
%purge% %item_to_purge%
|
||||
eval num %random.99% + 20300
|
||||
%at% %num% %load% obj %stolen%
|
||||
end
|
||||
eval i %i%+1
|
||||
done
|
||||
%force% %actor% look
|
||||
~
|
||||
#41
|
||||
Hunt Example~
|
||||
Memory and Mhunt Example~
|
||||
0 o 100
|
||||
~
|
||||
* Mob must first have a memory trig, attach 74.
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Fires if player is in mobs memory via mremember and the mob sees the actor.
|
||||
%echo% Sleeping for 10 secs, give %actor.name% a head start.
|
||||
sleep
|
||||
%echo% Targetting %actor.name%
|
||||
wait 10 s
|
||||
wake
|
||||
stand
|
||||
north
|
||||
north
|
||||
up
|
||||
%random.dir%
|
||||
%random.dir%
|
||||
%random.dir%
|
||||
%echo% Hunting...%actor.name%
|
||||
mhunt %actor%
|
||||
~
|
||||
@@ -1380,15 +1428,13 @@ done
|
||||
Rumble's Shotgun~
|
||||
1 b 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* If the object is being wielded.
|
||||
if %self.worn_by%
|
||||
* This is a random trigger so actor has to be defined.
|
||||
eval actor %self.worn_by%
|
||||
* If the person wielding the object is fighting.
|
||||
if %actor.fighting%
|
||||
* Evaluate uniquely to this player.
|
||||
context %actor.id%
|
||||
* Count the shots.
|
||||
eval shotgun_rounds %shotgun_rounds% + 1
|
||||
* Remember the count for the next time this trig fires.
|
||||
@@ -1500,7 +1546,7 @@ end
|
||||
Eval and Set Example~
|
||||
2 d 100
|
||||
test~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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):
|
||||
@@ -1818,7 +1864,7 @@ Mob Entry Example~
|
||||
* first find the room the mob is in and put the value in %inroom%
|
||||
eval inroom %self.room%
|
||||
* then check on the rooms vnum
|
||||
if %inroom.vnum% == 1233
|
||||
if %inroom.vnum% == 33
|
||||
say I, %self.name%, declare this room Rumble's.
|
||||
end
|
||||
eval person %inroom.people%
|
||||
@@ -1923,7 +1969,8 @@ done
|
||||
Mob Memory Example Part 1~
|
||||
0 g 100
|
||||
~
|
||||
* This must be set by another trigger first before the mem trigger can be used.
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* mremember must be used before you can use the trigger type memory.
|
||||
mremember %actor.name%
|
||||
say I'll remember you now, %actor.name%
|
||||
~
|
||||
@@ -1931,6 +1978,8 @@ say I'll remember you now, %actor.name%
|
||||
Mob Memory Example Part 2~
|
||||
0 o 100
|
||||
~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Fires if player is in mobs memory via mremember and the mob sees the actor.
|
||||
wait 4 s
|
||||
poke %actor.name%
|
||||
say i've seen you before, %actor.name%.
|
||||
|
||||
@@ -443,7 +443,7 @@ end
|
||||
Mob Act - 156 speaker greet~
|
||||
0 e 0
|
||||
has entered the game.~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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.
|
||||
@@ -602,7 +602,7 @@ end
|
||||
Thief Guildguard - 177~
|
||||
0 q 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* This replaces stock guildguard spcial procedure that stops non-class members.
|
||||
if %direction% == up
|
||||
* Let the guildmaster pass to pawn players items. T137.
|
||||
@@ -624,7 +624,7 @@ end
|
||||
Thief Guildmaster Steals - M122~
|
||||
0 b 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Idea taken from cheesymud.com
|
||||
* 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
|
||||
@@ -665,74 +665,111 @@ end
|
||||
Questmaster Greet - 3~
|
||||
0 g 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.
|
||||
* 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
|
||||
* 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.
|
||||
* A simple automated quest so only let players earn up to 50 questpoints.
|
||||
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
|
||||
*get the values from the player variable
|
||||
extract day 1 %actor.on_quest_zone_1%
|
||||
extract hour 2 %actor.on_quest_zone_1%
|
||||
* Set this value to the number of mud hours in a mud day
|
||||
set HOURS_IN_DAY 24
|
||||
* Compare the values to the current time
|
||||
* (Your hours per day and days per year vary on each mud.)
|
||||
* (You may also want to check for 'time.year')
|
||||
eval current_ticks (%time.day%/%HOURS_IN_DAY%)+%time.hour%
|
||||
eval start_ticks (%day%/%HOURS_IN_DAY%)+%hour%
|
||||
*find out the time difference in ticks
|
||||
eval ticks_passed %current_ticks%-%start_ticks%
|
||||
*check if 10 ticks (~10 mins) have passed
|
||||
if %ticks_passed% > 10
|
||||
rdelete on_quest_zone_1 %actor.id%
|
||||
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
|
||||
end
|
||||
~
|
||||
#139
|
||||
Questmaster Quest Assignment - 3~
|
||||
0 d 1
|
||||
*~
|
||||
* 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
|
||||
* 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 %actor.varexists(on_quest_zone_1)%
|
||||
*get the values from the player variable
|
||||
extract day 1 %actor.on_quest_zone_1%
|
||||
extract hour 2 %actor.on_quest_zone_1%
|
||||
* Set this value to the number of mud hours in a mud day
|
||||
set HOURS_IN_DAY 24
|
||||
* Compare the values to the current time
|
||||
* (Your hours per day and days per year vary on each mud.)
|
||||
* (You may also want to check for 'time.year')
|
||||
eval current_ticks (%time.day%/%HOURS_IN_DAY%)+%time.hour%
|
||||
eval start_ticks (%day%/%HOURS_IN_DAY%)+%hour%
|
||||
*find out the time difference in ticks
|
||||
eval ticks_passed %current_ticks%-%start_ticks%
|
||||
*check if 10 ticks (~10 mins) have passed
|
||||
if %ticks_passed% > 10
|
||||
rdelete on_quest_zone_1 %actor.id%
|
||||
else
|
||||
halt
|
||||
end
|
||||
end
|
||||
if %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
|
||||
* Pick a room from 100 to 365.
|
||||
* 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
|
||||
* 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.
|
||||
set on_quest_zone_1 1
|
||||
remote on_quest_zone_1 %actor.id%
|
||||
halt
|
||||
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_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.
|
||||
set on_quest_zone_1 1
|
||||
remote on_quest_zone_1 %actor.id%
|
||||
halt
|
||||
end
|
||||
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% %self.name% gives you the quest timer.
|
||||
%echoaround% %actor% %self.name% gives %actor.name% the quest timer.
|
||||
set on_quest_zone_1 %time.day% %time.hour%
|
||||
remote on_quest_zone_1 %actor.id%
|
||||
halt
|
||||
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_token_zone_1
|
||||
%load% obj 16 %actor% inv
|
||||
%send% %actor% %self.name% gives you the quest timer.
|
||||
%echoaround% %actor% %self.name% gives %actor.name% the quest timer.
|
||||
set on_quest_zone_1 %time.day% %time.hour%
|
||||
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%
|
||||
* remainder for the next pass.
|
||||
eval word %rest.car%
|
||||
eval rest %rest.cdr%
|
||||
done
|
||||
~
|
||||
#140
|
||||
Quest Timer - 16~
|
||||
1 c 7
|
||||
l~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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%
|
||||
@@ -747,7 +784,7 @@ end
|
||||
Quest 10 min Purge - 15, 16, 17~
|
||||
1 f 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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.
|
||||
@@ -767,7 +804,7 @@ end
|
||||
Quest Timer Random - 16~
|
||||
1 b 10
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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%
|
||||
@@ -781,7 +818,7 @@ end
|
||||
Questmaster Receive - 3~
|
||||
0 j 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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)%
|
||||
@@ -791,13 +828,13 @@ if !%actor.varexists(on_quest_zone_1)%
|
||||
end
|
||||
*
|
||||
wait 1 sec
|
||||
* If they have the head or the token.
|
||||
* If they had the head or the token.
|
||||
if %object.vnum% == 15 || %object.vnum% == 17
|
||||
rdelete on_quest_zone_1 %actor.id%
|
||||
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%
|
||||
* Reward them with 1 questpoint. Cheap I know but these quests are not hard.
|
||||
nop %actor.questpoints(1)%
|
||||
@@ -812,7 +849,7 @@ end
|
||||
Quest Mob Loads Head - 15~
|
||||
0 n 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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.
|
||||
@@ -913,7 +950,7 @@ emote %speech%
|
||||
Angel Receives Treats - 207~
|
||||
0 j 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A simple receive trig if you give the dog food she will eat it. If you give
|
||||
* her dog treats she will follow you. Everything else she drops.
|
||||
if %object.type% == FOOD
|
||||
@@ -1007,14 +1044,20 @@ end
|
||||
Check for treats - 207~
|
||||
0 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* My dog is looking if people have some beggin strips.
|
||||
if %actor.has_item(164)%
|
||||
wait 1 sec
|
||||
emote sits down and stands up on %self.hisher% hind legs, then starts whining pitifully staring at %actor.name%.
|
||||
%send% %actor% %self.name% sits down and stands up on %self.hisher% hind legs, then starts whining pitifully staring at you.
|
||||
%echoaround% %actor% %self.name% sits down and stands up on %self.hisher% hind legs, then starts whining pitifully staring at %actor.name%.
|
||||
* Or if they have her rubber chicken.
|
||||
elseif %actor.has_item(172)%
|
||||
wait 1 sec
|
||||
emote sniff %actor.name%
|
||||
wait 1 sec
|
||||
growl %actor.name%
|
||||
emote tries to get at something you are carrying.
|
||||
%send% %actor% %self.name% tries to get at something you are carrying.
|
||||
%echoaround% %actor% %self.name% tries to get at something %actor.name% is carrying.
|
||||
end
|
||||
~
|
||||
#156
|
||||
@@ -1163,7 +1206,7 @@ end
|
||||
Cast spells on Greet - M135~
|
||||
0 g 10
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Cast a random spell on players that enter. But, only if they are not already
|
||||
* affected and only 10% of the time.
|
||||
switch %random.12%
|
||||
@@ -1236,7 +1279,7 @@ done
|
||||
Mob Questshop Example~
|
||||
0 c 100
|
||||
*~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A questshop that uses questpoints!
|
||||
* Command triggers do not work for level 32 and above.
|
||||
if %cmd.mudcommand% == list
|
||||
@@ -1878,7 +1921,7 @@ say %speech%
|
||||
Confucius - 23~
|
||||
0 b 10
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Confucius - M23 - T186 By Rumble
|
||||
eval max %random.27%
|
||||
set txt[1] Before you embark on a journey of revenge, dig two graves.
|
||||
@@ -2131,7 +2174,10 @@ say The best advice for new builders is under @RHELP SUGGESTIONS@n.
|
||||
TBA Welcome - 18~
|
||||
0 e 1
|
||||
entered reconnected~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* TBA mortal greet to fill out the application.
|
||||
if %actor.is_pc% && %actor.level% == 1
|
||||
context %actor.id%
|
||||
wait 1 sec
|
||||
if %actor.varexists(TBA_mortal_greeting)%
|
||||
say Welcome back %actor.name%. Tell someone level 32 or above when you complete the application.
|
||||
@@ -2140,7 +2186,9 @@ if %actor.is_pc% && %actor.level% == 1
|
||||
wait 2 sec
|
||||
say If you are interested in learning how to build, or want to teach others, then you have come to the right place.
|
||||
wait 2 sec
|
||||
say Please fill out the application at: http://tbamud.com/builderapplication
|
||||
say Please fill out the application at: http://www.geocities.com/buildersacademy
|
||||
nop %actor.thirst(-1)%
|
||||
nop %actor.hunger(-1)%
|
||||
set TBA_mortal_greeting 1
|
||||
remote TBA_mortal_greeting %actor.id%
|
||||
if !%actor.has_item(1332)%
|
||||
|
||||
@@ -48,20 +48,29 @@ CAPITAL~
|
||||
%send% %actor% @RSocrates tells you, 'Good job, that is correct. Be on the lookout for more of those.'@n
|
||||
~
|
||||
#1304
|
||||
free~
|
||||
0 g 100
|
||||
Sanct check on enter~
|
||||
2 g 100
|
||||
~
|
||||
wait 1 sec
|
||||
say some more good advice may be found under @RHELP GRAMMAR@n and @RHELP REPORT@n.
|
||||
if %actor.affect(SANCT)%
|
||||
%echo% checked sanct
|
||||
else
|
||||
%echo% sanct check failed
|
||||
end
|
||||
~
|
||||
#1305
|
||||
TBA Greeting - 1301~
|
||||
0 e 1
|
||||
arrives entered appears~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* TBA start room greeting for anyone that enters, poofs, or is transferred.
|
||||
* Simple remote to remember if this is a newbie or someone returning.
|
||||
* Only fire on players.
|
||||
if %actor.is_pc%
|
||||
wait 1 sec
|
||||
* If they have already been greeted welcome them back.
|
||||
if %actor.varexists(TBA_greeting)%
|
||||
say Welcome back %actor.name%. Read through these rooms whenever you need a refresher.
|
||||
* First greeting, give them instructions.
|
||||
else
|
||||
say Welcome to The Builder Academy %actor.name%.
|
||||
wait 1 sec
|
||||
@@ -70,8 +79,11 @@ if %actor.is_pc%
|
||||
say This zone is like a newbie zone, except for gods. All you have to do is walk through the zone and read every room description.
|
||||
wait 3 sec
|
||||
say Be sure to do everything the room descriptions tell you to do. You should read and comprehend everything contained within these walls.
|
||||
* Now create a variable to remember they have been greeted.
|
||||
set TBA_greeting 1
|
||||
* Save it to the player file.
|
||||
remote TBA_greeting %actor.id%
|
||||
* Give them a trial vnum assigner if they don't have one yet.
|
||||
if !%actor.has_item(1332)%
|
||||
%load% obj 1332 %actor% inv
|
||||
end
|
||||
@@ -1486,7 +1498,7 @@ free~
|
||||
Drop While Example - Grenade 01301~
|
||||
1 h 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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%
|
||||
@@ -1727,35 +1739,10 @@ while (%person%)
|
||||
done
|
||||
~
|
||||
#1361
|
||||
Postal Shotgun - 1392~
|
||||
Free~
|
||||
1 b 100
|
||||
~
|
||||
* if the object is being wielded
|
||||
if %self.worn_by%
|
||||
* a random trigger so actor has to be defined
|
||||
eval actor %self.worn_by%
|
||||
* if the person wielding the object is fighting
|
||||
if %actor.fighting%
|
||||
* evaluate uniquely to this player
|
||||
context %actor.id%
|
||||
* count the shots
|
||||
eval shotgun_rounds %shotgun_rounds% + 1
|
||||
* remember the count for the next time this trig fires
|
||||
global shotgun_rounds
|
||||
* double barrel shotgun, only has 2 rounds
|
||||
if %shotgun_rounds% > 2
|
||||
* detaching trig since gun is out of ammo.
|
||||
detach 1361 %self.id%
|
||||
halt
|
||||
end
|
||||
* have to define the victim
|
||||
eval victim %actor.fighting%
|
||||
* send the message and do the damage
|
||||
%echoaround% %actor% %actor.name% points %self.shortdesc% at %victim.name% and pulls the trigger.
|
||||
%send% %actor% You point %self.shortdesc% at %victim.name% and pull the trigger.
|
||||
%damage% %victim% 10
|
||||
end
|
||||
end
|
||||
* No Script
|
||||
~
|
||||
#1362
|
||||
Deodorant Bottle - 1391~
|
||||
@@ -2182,60 +2169,63 @@ if (%cmd.mudcommand% == bash || %cmd.mudcommand% == backstab || %cmd.mudcommand%
|
||||
Rumble's Poofs~
|
||||
0 e 0
|
||||
has entered the game.~
|
||||
* does not work for level 32 and above.
|
||||
eval maxpoofin %random.24% -1
|
||||
set poofins[0] appears with a strange wooshing sound and climbs out of a pneumatic air tube like they use at the bank.
|
||||
set poofins[1] thinks himself into existence.
|
||||
set poofins[2] soars into the room like a bird, and THWAP! right into a window.
|
||||
set poofins[3] crawls out of the ground gasping for air.
|
||||
set poofins[4] appears in a flash of blinding nothingness!
|
||||
set poofins[5] falls from the sky above, screaming until he hits the ground. SPLAT! like a bug on a windshield.
|
||||
set poofins[6] appears with a dulcet bang.
|
||||
set poofins[7] appears with a sonic boom.
|
||||
set poofins[8] wanders into the room while practicing omphaloskepsis.
|
||||
set poofins[9] somersaults into the room.
|
||||
set poofins[10] stumbles into the room, tripping over his own feet and falling flat on his face.
|
||||
set poofins[11] dives into the room doing a two and a half tuck gainer, right into the dirt.
|
||||
set poofins[12] runs into the room screaming and looking over his shoulder.
|
||||
set poofins[13] steps out of your shadow.
|
||||
set poofins[14] forms out of the very essence of your shadow to hang in the air before you.
|
||||
set poofins[15] climbs out of your left nostril.
|
||||
set poofins[16] has abandoned his search for truth and is now looking for a good fantasy.
|
||||
set poofins[17] wishes he was a donut specialist.
|
||||
set poofins[18] can resist everything but temptation.
|
||||
set poofins[19] is searching for a near life experience.
|
||||
set poofins[20] walks into the room fashionably early.
|
||||
set poofins[21] hanglides into the room.
|
||||
set poofins[22] parachutes into the room performing a perfect parachute landing fall, except for the fact that he landed backside first.
|
||||
set poofins[23] does a cannonball into room, injuring himself on the hard ground.
|
||||
set poofin %%poofins[%maxpoofin%]%%
|
||||
eval poofin %poofin%
|
||||
%force% %actor% poofin %poofin%
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* To generate random poofs at login just set your loadroom to wherever this
|
||||
* mob is. Does not work for level 32 and above.
|
||||
eval maxpoofin %random.24%
|
||||
set poofins[1] appears with a strange wooshing sound and climbs out of a pneumatic air
|
||||
tube like they use at the bank.
|
||||
set poofins[2] thinks himself into existence.
|
||||
set poofins[3] soars into the room like a bird, and THWAP! right into a window.
|
||||
set poofins[4] crawls out of the ground gasping for air.
|
||||
set poofins[5] appears in a flash of blinding nothingness!
|
||||
set poofins[6] falls from the sky above, screaming until he hits the ground. SPLAT! like a
|
||||
bug on a windshield.
|
||||
set poofins[7] appears with a dulcet bang.
|
||||
set poofins[8] appears with a sonic boom.
|
||||
set poofins[9] wanders into the room while practicing omphaloskepsis.
|
||||
set poofins[10] somersaults into the room.
|
||||
set poofins[11] stumbles into the room, tripping over his own feet and falling flat on his face.
|
||||
set poofins[12] dives into the room doing a two and a half tuck gainer, right into the dirt.
|
||||
set poofins[13] runs into the room screaming and looking over his shoulder.
|
||||
set poofins[14] steps out of your shadow.
|
||||
set poofins[15] forms out of the very essence of your shadow to hang in the air before you.
|
||||
set poofins[16] climbs out of your left nostril.
|
||||
set poofins[17] has abandoned his search for truth and is now looking for a good fantasy.
|
||||
set poofins[18] wishes he was a donut specialist.
|
||||
set poofins[19] can resist everything but temptation.
|
||||
set poofins[20] is searching for a near life experience.
|
||||
set poofins[21] walks into the room fashionably early.
|
||||
set poofins[22] hanglides into the room.
|
||||
set poofins[23] parachutes into the room performing a perfect parachute landing fall,
|
||||
except for the fact that he landed backside first.
|
||||
set poofins[24] does a cannonball into room, injuring himself on the hard ground.
|
||||
eval poofin %%poofins[%maxpoofin%]%%
|
||||
%force% %actor% set self poofin %poofin%
|
||||
*
|
||||
eval maxpoofout %random.20% -1
|
||||
set poofouts[0] is chased out of the room by a barrel of rabid monkeys.
|
||||
set poofouts[1] creates a pneumatic air tube, like they use at the banks, and steps in. He is sucked out of sight.
|
||||
set poofouts[2] thinks himself out of existence.
|
||||
set poofouts[3] walks out saying 'time to make the donuts.'
|
||||
set poofouts[4] goes super critical and has a meltdown. Nothing remains but a pile of steaming radioactive mush.
|
||||
set poofouts[5] disappears in a flash of blinding nothingness!
|
||||
set poofouts[6] merges with his surroundings and vanishes.
|
||||
set poofouts[7] morphs into millions of ants, which run off in all directions.
|
||||
set poofouts[8] senses that everything is well, so he floats away.
|
||||
set poofouts[9] goes to hell in a handbasket.
|
||||
set poofouts[10] does somersaults out of the room.
|
||||
set poofouts[11] dives out of the room doing three rotations in the jackknife position.
|
||||
set poofouts[12] stumbles out of the room with a look of confusion on his face, must have forgotten where he parked.
|
||||
set poofouts[13] steps into your shadow and disappears.
|
||||
set poofouts[14] points behind you with a look of horror. While you turn away he disappears chuckling 'made you look'.
|
||||
set poofouts[15] doesn't like saying goodbye, so he didn't.
|
||||
set poofouts[16] completes an intricate spell of chantings and gestures that creates an inter-dimensional portal of space and time. Before he steps through it and disappears you notice a 'made in china' sticker on its bottom.
|
||||
set poofouts[17] creates a huge rubber band, straps himself into the middle of it and stretches it back like a slingshot. With a wave he releases it and is hurtled out of sight.
|
||||
set poofouts[18] straps an ACME rocket to his back and asks, 'got a light?' right before it explodes and sends him soaring.
|
||||
set poofouts[19] puts on a helmet and climbs into the barrel of an ACME cannon. It explodes sending pieces of Rumble off into the distance.
|
||||
set poofout %%poofouts[%maxpoofout%]%%
|
||||
eval poofout %poofout%
|
||||
%force% %actor% poofout %poofout%
|
||||
eval maxpoofout %random.20%
|
||||
set poofouts[1] is chased out of the room by a barrel of rabid monkeys.
|
||||
set poofouts[2] creates a pneumatic air tube, like they use at the banks, and steps in. He is sucked out of sight.
|
||||
set poofouts[3] thinks himself out of existence.
|
||||
set poofouts[4] walks out saying 'time to make the donuts.'
|
||||
set poofouts[5] goes super critical and has a meltdown. Nothing remains but a pile of steaming radioactive mush.
|
||||
set poofouts[6] disappears in a flash of blinding nothingness!
|
||||
set poofouts[7] merges with his surroundings and vanishes.
|
||||
set poofouts[8] morphs into millions of ants, which run off in all directions.
|
||||
set poofouts[9] senses that everything is well, so he floats away.
|
||||
set poofouts[10] goes to hell in a handbasket.
|
||||
set poofouts[11] does somersaults out of the room.
|
||||
set poofouts[12] dives out of the room doing three rotations in the jackknife position.
|
||||
set poofouts[13] stumbles out of the room with a look of confusion on his face, must have forgotten where he parked.
|
||||
set poofouts[14] steps into your shadow and disappears.
|
||||
set poofouts[15] points behind you with a look of horror. While you turn away he disappears chuckling 'made you look'.
|
||||
set poofouts[16] doesn't like saying goodbye, so he didn't.
|
||||
set poofouts[17] completes an intricate spell of chantings and gestures that creates an inter-dimensional portal of space and time. Before he steps through it and disappears you notice a 'made in china' sticker on its bottom.
|
||||
set poofouts[18] creates a huge rubber band, straps himself into the middle of it and stretches it back like a slingshot. With a wave he releases it and is hurtled out of sight.
|
||||
set poofouts[19] straps an ACME rocket to his back and asks, 'got a light?' right before it explodes and sends him soaring.
|
||||
set poofouts[20] puts on a helmet and climbs into the barrel of an ACME cannon. It explodes sending pieces of Rumble off into the distance.
|
||||
eval poofout %%poofouts[%maxpoofout%]%%
|
||||
%force% %actor% set self poofout %poofout%
|
||||
~
|
||||
#1373
|
||||
Present Unwrapping~
|
||||
@@ -2962,7 +2952,7 @@ say 24
|
||||
Random Rabbit Decapitates Mobs - M1307~
|
||||
0 b 100
|
||||
none~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* This is for any Monty Python Fans.
|
||||
* First figure out what room you are in.
|
||||
eval room_var %self.room%
|
||||
|
||||
@@ -122,6 +122,63 @@ else
|
||||
end
|
||||
%echoaround% %actor% %actor.name% peers into %actor.hisher% gently glowing ring.
|
||||
~
|
||||
#206
|
||||
Smelly Bum - M168~
|
||||
0 i 100
|
||||
~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A trig to let people smell the bum from 1 room away.
|
||||
* For the first move there is no from_room so set it.
|
||||
if !%from_room%
|
||||
eval from_room %self.room.vnum%
|
||||
global from_room
|
||||
halt
|
||||
end
|
||||
wait 1 sec
|
||||
eval inroom %self.room%
|
||||
*
|
||||
%at% %from_room% %echo% %self.name%'s smell slowly dissipates with %self.himher%.
|
||||
if %inroom.north% && %inroom.north(vnum)% != %from_room%
|
||||
%at% %inroom.north(vnum)% %echo% You notice a nasty smell to the south.
|
||||
end
|
||||
if %inroom.south% && %inroom.south(vnum)% != %from_room%
|
||||
%at% %inroom.south(vnum)% %echo% You notice a nasty smell to the north.
|
||||
end
|
||||
if %inroom.east% && %inroom.east(vnum)% != %from_room%
|
||||
%at% %inroom.east(vnum)% %echo% You notice a nasty smell to the west.
|
||||
end
|
||||
if %inroom.west% && %inroom.west(vnum)% != %from_room%
|
||||
%at% %inroom.west(vnum)% %echo% You notice a nasty smell to the east.
|
||||
end
|
||||
if %inroom.up% && %inroom.up(vnum)% != %from_room%
|
||||
%at% %inroom.up(vnum)% %echo% You notice a nasty smell below you.
|
||||
end
|
||||
if %inroom.down% && %inroom.down(vnum)% != %from_room%
|
||||
%at% %inroom.down(vnum)% %echo% You notice a nasty smell above you.
|
||||
end
|
||||
*
|
||||
eval from_room %self.room.vnum%
|
||||
global from_room
|
||||
~
|
||||
#207
|
||||
Mob Blocks opening of chest~
|
||||
0 c 100
|
||||
o~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* does not work for level 32 and above.
|
||||
* Make sure the command is open, check for any abbrev of chest
|
||||
if %cmd.mudcommand% == open && chest /= %arg%
|
||||
* findmob checks if the mob is in the room.
|
||||
if %findmob.230(189)%
|
||||
%echoaround% %actor% As %actor.name% tries to approach the chest %self.name% looks up.
|
||||
wait 1 sec
|
||||
say get away from there.
|
||||
end
|
||||
else
|
||||
* If it doesn't match let the command continue.
|
||||
return 0
|
||||
end
|
||||
~
|
||||
#212
|
||||
Phoenix Rising - 219~
|
||||
1 c 4
|
||||
|
||||
@@ -419,7 +419,7 @@ mkill %bad_guy%
|
||||
Lieutenant Door Bribe - M23608~
|
||||
0 m 1
|
||||
~
|
||||
* By Welcor of The Builder Academy builderacademy.net 9091
|
||||
* By Welcor of The Builder Academy tbamud.com 9091
|
||||
wait 1
|
||||
* The price is 400 coins to pass. Player must 'give 400 coin leader.'
|
||||
if %amount% < 400
|
||||
@@ -440,7 +440,7 @@ end
|
||||
Lieutenant Door Bribe 2 - M23608~
|
||||
0 r 100
|
||||
~
|
||||
* By Welcor of The Builder Academy builderacademy.net 9091
|
||||
* By Welcor of The Builder Academy tbamud.com 9091
|
||||
* Allows more than one instance of this trigger to run.
|
||||
context %actor.id%
|
||||
* Checks a global variable to see if this mob has been bribed. TSTAT 23612.
|
||||
@@ -466,7 +466,7 @@ end
|
||||
Lieutenant Leave - 23608~
|
||||
0 q 100
|
||||
~
|
||||
* By Welcor of The Builder Academy builderacademy.net 9091
|
||||
* By Welcor of The Builder Academy tbamud.com 9091
|
||||
* If the player is trying to leave to the East.
|
||||
if %direction% == east
|
||||
context %actor.id%
|
||||
@@ -483,20 +483,16 @@ if %direction% == east
|
||||
end
|
||||
~
|
||||
#23615
|
||||
Check for Dwarf - 23610~
|
||||
2 c 100
|
||||
e~
|
||||
if %cmd.mudcommand% == east
|
||||
if %actor.race%==dwarf
|
||||
%send% %actor% The door vanishes as if it was never there, and you step through.
|
||||
%echoaround% %actor% As %actor.name% steps through the doorway, the door disappears for an instant.
|
||||
%teleport% %actor% 23611
|
||||
%echoaround% %actor% %actor.name% has arrived.
|
||||
%force% %actor% look
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
end
|
||||
FREE~
|
||||
2 q 100
|
||||
~
|
||||
if %direction% == east
|
||||
return 0
|
||||
%send% %actor% The door vanishes as if it was never there, and you step through.
|
||||
%echoaround% %actor% As %actor.name% steps through the doorway, the door disappears for an instant.
|
||||
%teleport% %actor% 23611
|
||||
%echoaround% %actor% %actor.name% has arrived.
|
||||
%force% %actor% look
|
||||
end
|
||||
~
|
||||
#23616
|
||||
|
||||
@@ -399,7 +399,7 @@ done
|
||||
Slipping on Marbles - 27147~
|
||||
1 q 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* A leave trigger that checks for low dexterity.
|
||||
if %actor.is_pc%
|
||||
if %actor.dex% < 15
|
||||
|
||||
@@ -203,10 +203,14 @@ quit~
|
||||
%send% %actor% Powerful forces keep you here.
|
||||
~
|
||||
#315
|
||||
Room Command - No Recall~
|
||||
2 c 100
|
||||
recall ~
|
||||
%send% %actor% Divine forces prevent you from doing that.
|
||||
Obj Command - No quit~
|
||||
1 c 3
|
||||
q~
|
||||
if %cmd.mudcommand% == quit
|
||||
%send% %actor% Divine forces prevent you from doing that.
|
||||
else
|
||||
return 0
|
||||
end
|
||||
~
|
||||
#316
|
||||
Mob Fight - generic poison~
|
||||
|
||||
@@ -1,234 +1,240 @@
|
||||
#3000
|
||||
Mage Guildguard - 3024~
|
||||
0 q 100
|
||||
~
|
||||
* Check the direction the player must go to enter the guild.
|
||||
if %direction% == south
|
||||
* Stop them if they are not the appropriate class.
|
||||
if %actor.class% != Magic User
|
||||
return 0
|
||||
%send% %actor% The guard humiliates you, and blocks your way.
|
||||
%echoaround% %actor% The guard humiliates %actor.name%, and blocks %actor.hisher% way.
|
||||
end
|
||||
end
|
||||
~
|
||||
#3001
|
||||
Cleric Guildguard - 3025~
|
||||
0 q 100
|
||||
~
|
||||
* Check the direction the player must go to enter the guild.
|
||||
if %direction% == north
|
||||
* Stop them if they are not the appropriate class.
|
||||
if %actor.class% != Cleric
|
||||
return 0
|
||||
%send% %actor% The guard humiliates you, and blocks your way.
|
||||
%echoaround% %actor% The guard humiliates %actor.name%, and blocks %actor.hisher% way.
|
||||
end
|
||||
end
|
||||
~
|
||||
#3002
|
||||
Thief Guildguard - 3026~
|
||||
0 q 100
|
||||
~
|
||||
* Check the direction the player must go to enter the guild.
|
||||
if %direction% == east
|
||||
* 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.
|
||||
end
|
||||
end
|
||||
~
|
||||
#3003
|
||||
Warrior Guildguard - 3027~
|
||||
0 q 100
|
||||
~
|
||||
* Check the direction the player must go to enter the guild.
|
||||
if %direction% == east
|
||||
* Stop them if they are not the appropriate class.
|
||||
if %actor.class% != Warrior
|
||||
return 0
|
||||
%send% %actor% The guard humiliates you, and blocks your way.
|
||||
%echoaround% %actor% The guard humiliates %actor.name%, and blocks %actor.hisher% way.
|
||||
end
|
||||
end
|
||||
~
|
||||
#3004
|
||||
Dump - 3030~
|
||||
2 h 100
|
||||
~
|
||||
%echo% %object.shortdesc% vanishes in a puff of smoke!
|
||||
%send% %actor% You are awarded for outstanding performance.
|
||||
%echoaround% %actor% %actor.name% has been awarded for being a good citizen.
|
||||
eval value %object.cost% / 10
|
||||
%purge% %object%
|
||||
if %value% > 50
|
||||
eval value 50
|
||||
elseif %value% < 1
|
||||
eval value 1
|
||||
end
|
||||
if %actor.level% < 3
|
||||
nop %actor.exp(%value%)%
|
||||
else
|
||||
nop %actor.gold(%value%)%
|
||||
end
|
||||
~
|
||||
#3005
|
||||
Stock Thief~
|
||||
0 b 10
|
||||
~
|
||||
set actor %random.char%
|
||||
if %actor%
|
||||
if %actor.is_pc% && %actor.gold%
|
||||
%send% %actor% You discover that %self.name% has %self.hisher% hands in your wallet.
|
||||
%echoaround% %actor% %self.name% tries to steal gold from %actor.name%.
|
||||
eval coins %actor.gold% * %random.10% / 100
|
||||
nop %actor.gold(-%coins%)
|
||||
nop %self.gold(%coins%)
|
||||
end
|
||||
end
|
||||
~
|
||||
#3006
|
||||
Stock Snake~
|
||||
0 k 10
|
||||
~
|
||||
%send% %actor% %self.name% bites you!
|
||||
%echoaround% %actor% %self.name% bites %actor.name%.
|
||||
dg_cast 'poison' %actor%
|
||||
~
|
||||
#3007
|
||||
Stock Magic User~
|
||||
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
|
||||
~
|
||||
#3008
|
||||
Death Trap~
|
||||
2 g 100
|
||||
~
|
||||
* Near Death Trap stuns actor
|
||||
eval stunned %actor.hitp%
|
||||
%damage% %actor% %stunned%
|
||||
%send% %actor% You are on the brink of life and death.
|
||||
%send% %actor% The Gods must favor you this day.
|
||||
~
|
||||
#3009
|
||||
Stock Cityguard - 3059, 60, 67~
|
||||
0 b 50
|
||||
~
|
||||
if !%self.fighting%
|
||||
set actor %random.char%
|
||||
if %actor%
|
||||
if %actor.is_killer%
|
||||
emote screams 'HEY!!! You're one of those PLAYER KILLERS!!!!!!'
|
||||
kill %actor.name%
|
||||
elseif %actor.is_thief%
|
||||
emote screams 'HEY!!! You're one of those PLAYER THIEVES!!!!!!'
|
||||
kill %actor.name%
|
||||
elseif %actor.cha% < 6
|
||||
%send% %actor% %self.name% spits in your face.
|
||||
%echoaround% %actor% %self.name% spits in %actor.name%'s face.
|
||||
end
|
||||
if %actor.fighting%
|
||||
eval victim %actor.fighting%
|
||||
if %actor.align% < %victim.align% && %victim.align% >= 0
|
||||
emote screams 'PROTECT THE INNOCENT! BANZAI! CHARGE! ARARARAGGGHH!'
|
||||
kill %actor.name%
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
~
|
||||
#3010
|
||||
Stock Fido - 3062, 3066~
|
||||
0 b 100
|
||||
~
|
||||
eval inroom %self.room%
|
||||
eval item %inroom.contents%
|
||||
while %item%
|
||||
* Target the next item in room. In case it is devoured.
|
||||
set next_item %item.next_in_list%
|
||||
* Check for a corpse. Corpse on TBA is vnum 65535. Stock is -1.
|
||||
if %item.vnum% == 65535
|
||||
emote savagely devours a corpse.
|
||||
%purge% %item%
|
||||
end
|
||||
set item %next_item%
|
||||
* Loop back
|
||||
done
|
||||
~
|
||||
#3011
|
||||
Stock Janitor - 3061, 3068~
|
||||
0 b 100
|
||||
~
|
||||
eval inroom %self.room%
|
||||
eval item %inroom.contents%
|
||||
while %item%
|
||||
* Target the next item in room. In case it is picked up.
|
||||
set next_item %item.next_in_list%
|
||||
* TODO: if %item.wearflag(take)%
|
||||
* Check for fountains and expensive items.
|
||||
if %item.type% != FOUNTAIN && %item.cost% <= 15
|
||||
take %item.name%
|
||||
end
|
||||
set item %next_item%
|
||||
* Loop back
|
||||
done
|
||||
~
|
||||
$~
|
||||
#3000
|
||||
Mage Guildguard - 3024~
|
||||
0 q 100
|
||||
~
|
||||
* Check the direction the player must go to enter the guild.
|
||||
if %direction% == south
|
||||
* Stop them if they are not the appropriate class.
|
||||
if %actor.class% != Magic User
|
||||
return 0
|
||||
%send% %actor% The guard humiliates you, and blocks your way.
|
||||
%echoaround% %actor% The guard humiliates %actor.name%, and blocks %actor.hisher% way.
|
||||
end
|
||||
end
|
||||
~
|
||||
#3001
|
||||
Cleric Guildguard - 3025~
|
||||
0 q 100
|
||||
~
|
||||
* Check the direction the player must go to enter the guild.
|
||||
if %direction% == north
|
||||
* Stop them if they are not the appropriate class.
|
||||
if %actor.class% != Cleric
|
||||
return 0
|
||||
%send% %actor% The guard humiliates you, and blocks your way.
|
||||
%echoaround% %actor% The guard humiliates %actor.name%, and blocks %actor.hisher% way.
|
||||
end
|
||||
end
|
||||
~
|
||||
#3002
|
||||
Thief Guildguard - 3026~
|
||||
0 q 100
|
||||
~
|
||||
* Check the direction the player must go to enter the guild.
|
||||
if %direction% == east
|
||||
* 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.
|
||||
end
|
||||
end
|
||||
~
|
||||
#3003
|
||||
Warrior Guildguard - 3027~
|
||||
0 q 100
|
||||
~
|
||||
* Check the direction the player must go to enter the guild.
|
||||
if %direction% == east
|
||||
* Stop them if they are not the appropriate class.
|
||||
if %actor.class% != Warrior
|
||||
return 0
|
||||
%send% %actor% The guard humiliates you, and blocks your way.
|
||||
%echoaround% %actor% The guard humiliates %actor.name%, and blocks %actor.hisher% way.
|
||||
end
|
||||
end
|
||||
~
|
||||
#3004
|
||||
Dump - 3030~
|
||||
2 h 100
|
||||
~
|
||||
%echo% %object.shortdesc% vanishes in a puff of smoke!
|
||||
%send% %actor% You are awarded for outstanding performance.
|
||||
%echoaround% %actor% %actor.name% has been awarded for being a good citizen.
|
||||
eval value %object.cost% / 10
|
||||
%purge% %object%
|
||||
if %value% > 50
|
||||
eval value 50
|
||||
elseif %value% < 1
|
||||
eval value 1
|
||||
end
|
||||
if %actor.level% < 3
|
||||
nop %actor.exp(%value%)%
|
||||
else
|
||||
nop %actor.gold(%value%)%
|
||||
end
|
||||
~
|
||||
#3005
|
||||
Stock Thief~
|
||||
0 b 10
|
||||
~
|
||||
set actor %random.char%
|
||||
if %actor%
|
||||
if %actor.is_pc% && %actor.gold%
|
||||
%send% %actor% You discover that %self.name% has %self.hisher% hands in your wallet.
|
||||
%echoaround% %actor% %self.name% tries to steal gold from %actor.name%.
|
||||
eval coins %actor.gold% * %random.10% / 100
|
||||
nop %actor.gold(-%coins%)
|
||||
nop %self.gold(%coins%)
|
||||
end
|
||||
end
|
||||
~
|
||||
#3006
|
||||
Stock Snake~
|
||||
0 k 10
|
||||
~
|
||||
%send% %actor% %self.name% bites you!
|
||||
%echoaround% %actor% %self.name% bites %actor.name%.
|
||||
dg_cast 'poison' %actor%
|
||||
~
|
||||
#3007
|
||||
Stock Magic User~
|
||||
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
|
||||
~
|
||||
#3008
|
||||
Death Trap~
|
||||
2 g 100
|
||||
~
|
||||
* Near Death Trap stuns actor
|
||||
eval stunned %actor.hitp%
|
||||
%damage% %actor% %stunned%
|
||||
%send% %actor% You are on the brink of life and death.
|
||||
%send% %actor% The Gods must favor you this day.
|
||||
~
|
||||
#3009
|
||||
Stock Cityguard - 3059, 60, 67~
|
||||
0 b 50
|
||||
~
|
||||
if !%self.fighting%
|
||||
set actor %random.char%
|
||||
if %actor%
|
||||
if %actor.is_killer%
|
||||
emote screams 'HEY!!! You're one of those PLAYER KILLERS!!!!!!'
|
||||
kill %actor.name%
|
||||
elseif %actor.is_thief%
|
||||
emote screams 'HEY!!! You're one of those PLAYER THIEVES!!!!!!'
|
||||
kill %actor.name%
|
||||
elseif %actor.cha% < 6
|
||||
%send% %actor% %self.name% spits in your face.
|
||||
%echoaround% %actor% %self.name% spits in %actor.name%'s face.
|
||||
end
|
||||
if %actor.fighting%
|
||||
eval victim %actor.fighting%
|
||||
if %actor.align% < %victim.align% && %victim.align% >= 0
|
||||
emote screams 'PROTECT THE INNOCENT! BANZAI! CHARGE! ARARARAGGGHH!'
|
||||
kill %actor.name%
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
~
|
||||
#3010
|
||||
Stock Fido - 3062, 3066~
|
||||
0 b 100
|
||||
~
|
||||
eval inroom %self.room%
|
||||
eval item %inroom.contents%
|
||||
while %item%
|
||||
* Target the next item in room. In case it is devoured.
|
||||
set next_item %item.next_in_list%
|
||||
* Check for a corpse. Corpse on TBA is vnum 65535. Stock is -1.
|
||||
if %item.vnum% == 65535
|
||||
emote savagely devours a corpse.
|
||||
%purge% %item%
|
||||
end
|
||||
set item %next_item%
|
||||
* Loop back
|
||||
done
|
||||
~
|
||||
#3011
|
||||
Stock Janitor - 3061, 3068~
|
||||
0 b 100
|
||||
~
|
||||
eval inroom %self.room%
|
||||
eval item %inroom.contents%
|
||||
while %item%
|
||||
* Target the next item in room. In case it is picked up.
|
||||
set next_item %item.next_in_list%
|
||||
* TODO: if %item.wearflag(take)%
|
||||
* Check for fountains and expensive items.
|
||||
if %item.type% != FOUNTAIN && %item.cost% <= 15
|
||||
take %item.name%
|
||||
end
|
||||
set item %next_item%
|
||||
* Loop back
|
||||
done
|
||||
~
|
||||
#3012
|
||||
Newbie Tour Guide~
|
||||
0 e 0
|
||||
has entered the game.~
|
||||
%echo% This trigger commandlist is not complete!
|
||||
~
|
||||
$~
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Near Death Trap Mahatma - 6318~
|
||||
0 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy builderacademy.net 9091
|
||||
* By Rumble of The Builder Academy tbamud.com 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.
|
||||
|
||||
Reference in New Issue
Block a user