mirror of
https://github.com/tbamud/tbamud.git
synced 2026-01-04 16:38:49 +01:00
963 lines
26 KiB
Text
963 lines
26 KiB
Text
#13000
|
|
Maze Trigger~
|
|
2 g 100
|
|
~
|
|
* Random
|
|
* Mist Maze
|
|
* Using random directions maze a "maze" useing loaded and purged exits
|
|
* and load the mobs that will exist in this room
|
|
*
|
|
* first remove any exits that may already exist
|
|
eval thisRoom %self.vnum%
|
|
* if %self.people% == 0
|
|
%door% %thisRoom% north purge
|
|
%door% %thisRoom% south purge
|
|
%door% %thisRoom% east purge
|
|
%door% %thisRoom% west purge
|
|
wait 1 sec
|
|
set bottomRoom 13000
|
|
set upperRoom 13078
|
|
* bottomRoom is the lowest room number in the maze
|
|
* upperRoom is the highest room number in the maze
|
|
set numExits 0
|
|
eval totalRooms %upperRoom% - %bottomRoom%
|
|
* 1:4 chance for any direction to show up, but more than one may show
|
|
while !%numExits%
|
|
eval exitN %random.4%
|
|
eval exitS %random.4%
|
|
eval exitW %random.4%
|
|
eval exitE %random.4%
|
|
if %exitN% == 1
|
|
eval temp %%random.%totalRooms%%%
|
|
eval targetRoom %temp% + %bottomRoom%
|
|
%door% %thisRoom% north room %targetRoom%
|
|
eval numExits %numExits% + 1
|
|
else
|
|
return 0
|
|
end
|
|
if %exitS% == 1
|
|
eval temp %%random.%totalRooms%%%
|
|
eval targetRoom %temp% + %bottomRoom%
|
|
%door% %thisRoom% south room %targetRoom%
|
|
eval numExits %numExits% + 1
|
|
else
|
|
return 0
|
|
end
|
|
if %exitW% == 1
|
|
eval temp %%random.%totalRooms%%%
|
|
eval targetRoom %temp% + %bottomRoom%
|
|
%door% %thisRoom% west room %targetRoom%
|
|
eval numExits %numExits% + 1
|
|
else
|
|
return 0
|
|
end
|
|
if %exitE% == 1
|
|
eval temp %%random.%totalRooms%%%
|
|
eval targetRoom %temp% + %bottomRoom%
|
|
%door% %thisRoom% east room %targetRoom%
|
|
eval numExits %numExits% + 1
|
|
else
|
|
return 0
|
|
end
|
|
done
|
|
%send% %actor% The mists swirl at your entrance revealing a new path.
|
|
%echoaround% %actor% %actor.name% causes the mists to swirl revealing a path.
|
|
*
|
|
* Now load the mobs
|
|
eval totalMob %random.3%
|
|
eval totalMob %totalMob% -1
|
|
set howMany 0
|
|
while %howMany% < %totalMob%
|
|
switch %random.4%
|
|
case 1
|
|
%load% mob 13000
|
|
%force% feeling kill %actor.name%
|
|
eval howMany %howMany% + 1
|
|
break
|
|
case 2
|
|
%load% mob 13001
|
|
%force% feeling kill %actor.name%
|
|
eval howMany %howMany% + 1
|
|
break
|
|
case 3
|
|
%load% mob 13002
|
|
%force% feeling kill %actor.name%
|
|
eval howMany %howMany% + 1
|
|
break
|
|
case 4
|
|
%load% mob 13003
|
|
%force% feeling kill %actor.name%
|
|
eval howMany %howMany% + 1
|
|
break
|
|
default
|
|
%echo% This trigger is broken, please report to an immortal.
|
|
break
|
|
done
|
|
done
|
|
*
|
|
* Check to see if the players "hear" anything in the background
|
|
eval doHear %random.5%
|
|
if %doHear% < 3
|
|
wait 20 sec
|
|
switch %random.3%
|
|
case 1
|
|
%echo% Voices in the distance can be heard complaining about wasting arrows shooting in the distance, since they don't have a crown to peek ahead.
|
|
break
|
|
case 2
|
|
%load% obj 13008
|
|
%echo% A torn piece of paper floats in on a soft breeze.
|
|
break
|
|
case 3
|
|
%echo% A voice from behind you cusses at a tombstone, then cusses when he pokes himself with an arrow.
|
|
wait 2 sec
|
|
%echo% An arrow flies past your face and strikes the ground nearby.
|
|
%load% obj 13003
|
|
break
|
|
default
|
|
%echo% This trigger is broken, please report to an immortal.
|
|
break
|
|
done
|
|
end
|
|
* end
|
|
~
|
|
#13001
|
|
Mist Maze exit trigger~
|
|
2 q 100
|
|
~
|
|
* Random
|
|
* Swirling mists maze clean up trigger
|
|
* Removes all the room exits when a player leaves the room
|
|
wait 1 sec
|
|
eval thisRoom %self.vnum%
|
|
if !%self.people%
|
|
%door% %thisRoom% north purge
|
|
%door% %thisRoom% south purge
|
|
%door% %thisRoom% east purge
|
|
%door% %thisRoom% west purge
|
|
else
|
|
return 0
|
|
end
|
|
~
|
|
#13002
|
|
recall Staff~
|
|
1 c 1
|
|
staff~
|
|
* Random
|
|
* recall staff
|
|
* set of trigs to allow users to recall infinitely, and be able
|
|
* to return to where they where
|
|
* Trigger Intended Assignment: Objects
|
|
* Trigger Type: Command , Numeric Arg: 1, Arg list: staff
|
|
*
|
|
* this allows the user to return to a preset room
|
|
eval actor %self.worn_by%
|
|
* this allows the user to recall to 3001
|
|
if %arg% == recall
|
|
if %actor.eq(17)%
|
|
%teleport% %actor% 3001
|
|
%force% %actor% look
|
|
else
|
|
%send% %actor% You must hold the recall staff to use it.
|
|
end
|
|
*
|
|
* this allows the user to set the return to room
|
|
elseif %arg% == set
|
|
if %actor.eq(17)%
|
|
if !%actor.varexists(set_life_counter)%
|
|
set set_life_counter 1
|
|
remote set_life_counter %actor.id%
|
|
end
|
|
if %actor.set_life_counter% < 14
|
|
eval setReturn %self.room%
|
|
eval setReturn %setReturn.vnum%
|
|
eval return_room_staff %setReturn%
|
|
eval set_life_counter %actor.set_life_counter% + 1
|
|
set set_counter 0
|
|
remote set_life_counter %actor.id%
|
|
global return_room_staff
|
|
global set_counter
|
|
%send% %actor% You will now return to here.
|
|
else
|
|
%send% %actor% The recall staff cannot be set anymore.
|
|
end
|
|
else
|
|
%send% %actor% You must hold the recall staff to use it.
|
|
end
|
|
*
|
|
* this allows the user to return to the preset room
|
|
elseif %arg% == return
|
|
if %actor.eq(17)%
|
|
%teleport% %actor% %return_room_staff%
|
|
%force% %actor% look
|
|
eval set_counter %set_counter% + 1
|
|
global set_counter
|
|
if %set_counter% > 2
|
|
%send% %actor% The recall staff glows briefly then flickers back to normal.
|
|
set return_room_staff 3001
|
|
set set_counter 0
|
|
global return_room_staff
|
|
global set_counter
|
|
end
|
|
else
|
|
%send% %actor% You must hold the recall staff to use it.
|
|
end
|
|
else
|
|
%send% %actor% Huh?!? Who?!? What?!?
|
|
end
|
|
~
|
|
#13003
|
|
recall staff drop~
|
|
1 hi 100
|
|
~
|
|
* Random
|
|
* recall staff drop
|
|
* keeps players from getting rid of the recall staff
|
|
* Trigger Intended Assignment: Objects
|
|
* Trigger Type: Drop Give , Numeric Arg: 100, Arg list: None
|
|
%send% %actor% You cannot get rid of %self.shortdesc%.
|
|
return 0
|
|
~
|
|
#13004
|
|
Eagle Eye~
|
|
1 c 1
|
|
peek~
|
|
* Random
|
|
* Eagle eyes
|
|
* allows players to see the next room
|
|
eval room2 %self.room%
|
|
eval thisRoom %room2.vnum%
|
|
*
|
|
if %arg% == north || %arg% == east || %arg% == south || %arg% == west || %arg% == up || %arg% == down || %arg% == northwest || %arg% == northeast || %arg% == southeast || %arg% == southwest
|
|
eval dir %arg%
|
|
eval room1 %self.room%
|
|
eval thatRoom %%room1.%dir%(vnum)%%
|
|
if %thatRoom%
|
|
%teleport% %actor% %thatRoom%
|
|
%force% %actor% l
|
|
%teleport% %actor% %thisRoom%
|
|
else
|
|
%send% %actor% There is no exit that direction to peek at.
|
|
end
|
|
else
|
|
%send% %actor% Where do you want to peek?
|
|
end
|
|
~
|
|
#13005
|
|
Bow and Arrow~
|
|
1 c 1
|
|
fire~
|
|
* Detta and Random
|
|
* bow and arrow
|
|
* this trig is a hack of Detta's bow and arrow trig (from TBA)
|
|
* Trigger Intended Assignment: Objects
|
|
* Trigger Type: Command , Numeric Arg: 1, Arg list: fire
|
|
*
|
|
* Checks if there are any players/mobs in the room
|
|
* to the direction specified.
|
|
*
|
|
eval target %arg.car%
|
|
eval dir %arg.cdr%
|
|
if %dir.mudcommand% == north || %dir.mudcommand% == east || %dir.mudcommand% == south || %dir.mudcommand% == west || %dir.mudcommand% == up || %dir.mudcommand% == down
|
|
eval dir %dir.mudcommand%
|
|
eval room1 %self.room%
|
|
eval direction %%room1.%dir%(vnum)%%
|
|
eval where %%room1.%dir%(room)%%
|
|
* checks to see if there is a target
|
|
if !%target%
|
|
%send% %actor% Who are you trying to shoot?
|
|
halt
|
|
end
|
|
* checks for the target to be in the room described
|
|
set isHere 0
|
|
eval tmpTarget %where.people%
|
|
while %tmpTarget%
|
|
if %target% == %tmpTarget.name%
|
|
eval targetID %tmpTarget%
|
|
set isHere 1
|
|
end
|
|
eval tmpTarget %tmpTarget.next_in_room%
|
|
done
|
|
if %isHere% == 0
|
|
%send% %actor% That person isn't there for you to shoot!
|
|
halt
|
|
end
|
|
* checks for peaceful room flags in target room and actor room
|
|
* if %where.flag% == PEACEFUL
|
|
* %send% %actor% You cannot fire in to a peaceful room.
|
|
* halt
|
|
* end
|
|
* if %actor.room.flag% == PEACEFUL
|
|
* %send% %actor% You cannot fire from a peaceful room.
|
|
* halt
|
|
* end
|
|
*
|
|
* Checks for the first item in inventory that is one of the
|
|
* specified arrows and sets its vnum as the one to be used.
|
|
*
|
|
eval inv %actor.inventory%
|
|
while (%inv%)
|
|
if %inv.vnum% == 13003 || %inv.vnum% == 13004 || %inv.vnum% == 13005 || %inv.vnum% == 13006
|
|
eval arrow %inv.vnum%
|
|
eval weapon %inv%
|
|
set inv 0
|
|
else
|
|
eval next %inv.next_in_list%
|
|
set inv %next%
|
|
end
|
|
done
|
|
*
|
|
* Searchable array by Random, matches the chosen arrow
|
|
* vnum with the damage stats and any affects to be used.
|
|
*
|
|
* vnum dam dice bonus spell
|
|
set type[1] 13003 3 3 2 0
|
|
set type[2] 13004 3 5 3 burning hands
|
|
set type[3] 13005 6 2 4 chill touch
|
|
set type[4] 13006 4 3 3 poison
|
|
set type[5] none * must be the last item in the array
|
|
set i 1
|
|
while %vnum% != none
|
|
set temp %%type[%i%]%%
|
|
eval temp %temp%
|
|
eval vnum %temp.car%
|
|
if %vnum% == %arrow%
|
|
eval temp %temp.cdr%
|
|
eval dam %temp.car%
|
|
eval temp %temp.cdr%
|
|
eval dice %temp.car%
|
|
eval temp %temp.cdr%
|
|
eval bonus %temp.car%
|
|
eval temp %temp.cdr%
|
|
eval spell %temp.car%
|
|
end
|
|
eval i %i% +1
|
|
done
|
|
*
|
|
* Just a calculation of the arrow damage
|
|
*
|
|
set finaldam 0
|
|
set i 0
|
|
while %i% != %dice%
|
|
eval tempDam %random.%dam%%
|
|
eval finaldam %finaldam% + %tempDam%
|
|
eval i %i% +1
|
|
done
|
|
eval finaldam %finaldam% + %bonus%
|
|
*
|
|
* If the actor has an arrow in inventory, and there are
|
|
* people in the room specified, one of three random things
|
|
* happens - Actor shoots but misses, Actor shoots and damages,
|
|
* Actor shoots, damages, but loses the arrow.
|
|
*
|
|
if %arrow%
|
|
if %target%
|
|
* a hack of the formula used in the code to determine if something hits
|
|
* based on dexterity...
|
|
eval dex %actor.dex%
|
|
eval odds %dex% * 4
|
|
if %odds% > 99
|
|
set odds 99
|
|
end
|
|
eval hitchance %random.100%
|
|
if %target.vnum% == -1
|
|
eval %odds% 0
|
|
end
|
|
if %odds% == 0
|
|
%send% %actor% You cannot PK with this weapon.
|
|
elseif %hitchance% == 1
|
|
* critical failure, bow breaks and damages player
|
|
%send% %actor% The string on your bow breaks snapping back and ripping in to your flesh and damaging the bow.
|
|
%echoaround% %actor% The string on %actor.name%'s bow breaks.
|
|
eval criticalDam %finaldam% * 2
|
|
%damage% %actor% %criticalDam%
|
|
if %spell%
|
|
dg_cast '%spell%' %actor%
|
|
end
|
|
* %load% obj ###broken bow### %actor% inv
|
|
%purge% %self%
|
|
elseif %odds% >= %hitchance%
|
|
switch %random.3%
|
|
* case 1 mob is hit and hunts the player
|
|
case 1
|
|
%at% %direction% %damage% %target% %finaldam%
|
|
%force% %target% mhunt %actor%
|
|
if %spell%
|
|
dg_cast '%spell%' %target%
|
|
end
|
|
%send% %actor% You shoot %target.name% with %weapon.shortdesc%.
|
|
%echoaround% %actor% %actor.name% shoots someone with %weapon.shortdesc%.
|
|
eval item_to_purge %%actor.inventory(%arrow%)%%
|
|
%purge% %item_to_purge%
|
|
%at% %direction% %load% obj %arrow% %targetID% inv
|
|
break
|
|
* case 2 mob is hit but has no reaction
|
|
case 2
|
|
%at% %direction% %damage% %target% %finaldam%
|
|
if %spell%
|
|
dg_cast '%spell%' %target%
|
|
end
|
|
%send% %actor% You shoot %target.name% with %weapon.shortdesc%.
|
|
%echoaround% %actor% %actor.name% shoots someone with %weapon.shortdesc%.
|
|
eval item_to_purge %%actor.inventory(%arrow%)%%
|
|
%purge% %item_to_purge%
|
|
break
|
|
* case 3 mob is hit and flees the room
|
|
case 3
|
|
%at% %direction% %damage% %target% %finaldam%
|
|
%force% %target% flee
|
|
if %spell%
|
|
dg_cast '%spell%' %target%
|
|
end
|
|
%send% %actor% You shoot %target.name% with %weapon.shortdesc%.
|
|
%echoaround% %actor% %actor.name% shoots someone with %weapon.shortdesc%.
|
|
eval item_to_purge %%actor.inventory(%arrow%)%%
|
|
%purge% %item_to_purge%
|
|
%at% %direction% %load% obj %arrow% %targetID% inv
|
|
break
|
|
default
|
|
%echo% If you see this message, something is wrong. Please report it.
|
|
break
|
|
done
|
|
elseif %odds% == %hitchance%
|
|
%at% %direction% %damage% %target% %finaldam%
|
|
%force% %target% mhunt %actor%
|
|
if %spell%
|
|
dg_cast '%spell%' %target%
|
|
end
|
|
%send% %actor% You shoot %target.name% with %weapon.shortdesc%.
|
|
%echoaround% %actor% %actor.name% shoots someone with %weapon.shortdesc%.
|
|
eval item_to_purge %%actor.inventory(%arrow%)%%
|
|
%purge% %item_to_purge%
|
|
%at% %direction% %load% obj %arrow%
|
|
done
|
|
else
|
|
switch %random.2%
|
|
* clean miss*
|
|
%send% %actor% You try to shoot %target.name% with %weapon.shortdesc% but miss.
|
|
%echoaround% %actor% %actor.name% tries to shoot someone but appears to have missed.
|
|
eval item_to_purge %%actor.inventory(%arrow%)%%
|
|
%purge% %item_to_purge%
|
|
%at% %direction% %load% obj %arrow% %targetID% inv
|
|
break
|
|
case 2
|
|
* pricked finger and miss*
|
|
%send% %actor% You prick yourself with your arrow before firing it causing you to miss %target.name%.
|
|
%echoaround% %actor% %actor.name% tries to shoot someone but appears to have missed.
|
|
eval item_to_purge %%actor.inventory(%arrow%)%%
|
|
if %spell%
|
|
dg_cast '%spell%' %actor%
|
|
end
|
|
%damage% %actor% %random.3%
|
|
%purge% %item_to_purge%
|
|
%load% obj %arrow%
|
|
break
|
|
default
|
|
%echo% If you see this message, something is wrong. Please report it.
|
|
break
|
|
done
|
|
end
|
|
else
|
|
%send% %actor% Theres no one there.
|
|
end
|
|
else
|
|
%send% %actor% You can't shoot without arrows.
|
|
end
|
|
else
|
|
%send% %actor% You must specify a direction - north, east, west, south, up, or down.
|
|
end
|
|
~
|
|
#13006
|
|
recall staff junked~
|
|
1 c 2
|
|
ju~
|
|
* Random
|
|
* Recall staff junked
|
|
* how to junk a recall staff
|
|
* Trigger Type: Command , Numeric Arg: 2, Arg list: jun
|
|
* Commands:
|
|
*
|
|
if %cmd.mudcommand% == junk && test /= %arg%
|
|
set return_room_staff 3001
|
|
set set_counter 0
|
|
global return_room_staff
|
|
global set_counter
|
|
%echo% passed
|
|
%purge% %self%
|
|
else
|
|
return 0
|
|
%echo% failed
|
|
end
|
|
~
|
|
#13007
|
|
Graphical Tombstone~
|
|
1 c 4
|
|
l~
|
|
* Random
|
|
* Graphical tombstone
|
|
* a tombstone where the epitaph and the name vary
|
|
* Trigger Intended Assignment: Objects
|
|
* Trigger Type: Command , Numeric Arg: 4, Arg list: l
|
|
*
|
|
if %arg% == tombstone || %arg% == tombston || %arg% == tombsto || %arg% == tombst || %arg% == tombs || %arg% == tomb || %arg% == tom || %arg% == to || %arg% == t
|
|
* if %cmd.mudcommand% == look && %arg% /= tombstone
|
|
set length[1] \@d\@0.\@n
|
|
set length[2] \@d\@0..\@n
|
|
set length[3] \@d\@0...\@n
|
|
set length[4] \@d\@0....\@n
|
|
set length[5] \@d\@0.....\@n
|
|
set length[6] \@d\@0......\@n
|
|
set length[7] \@d\@0.......\@n
|
|
set length[8] \@d\@0........\@n
|
|
*
|
|
eval target %random.char%
|
|
eval name %target.name%
|
|
eval length %name.strlen%
|
|
eval space 17 - %length%
|
|
eval space %space% / 2
|
|
set whiteSpace %%length[%space%]%%
|
|
eval whiteSpace %whiteSpace%
|
|
eval nameLine %whiteSpace%\@w%name%%whiteSpace%\@n
|
|
if %nameLine.strlen% == 40
|
|
eval spaceII %space% + 1
|
|
set whiteSpaceII %%length[%spaceII%]%%
|
|
eval whiteSpaceII %whiteSpaceII%
|
|
eval nameLine %whiteSpace%\@w%name%%whiteSpaceII%\@n
|
|
end
|
|
*
|
|
switch %random.2%
|
|
case 1
|
|
%send% %actor% \@w\@0 o o o\@n
|
|
%send% %actor% \@w\@0 \\\|/\@n
|
|
%send% %actor% \@w\@0 ooo\@n
|
|
break
|
|
case 2
|
|
%send% %actor% \@w\@0 o@n
|
|
%send% %actor% \@w\@0 _\| \|_@n
|
|
%send% %actor% \@w\@0 \|_ + _\|@n
|
|
%send% %actor% \@w\@0 \| \|@n
|
|
%send% %actor% \@w\@0 \| \|@n
|
|
break
|
|
default
|
|
%send% %actor% I am broken, please tell an Immortal
|
|
break
|
|
done
|
|
%send% %actor% \@w\@0 .-'''''-.\@n
|
|
%send% %actor% \@w\@0 .-' = oOo = '-.\@n
|
|
%send% %actor% \@w\@0 .-' :::::_::::: '-.\@n
|
|
%send% %actor% \@w\@0 ___/ ==:...:::-:::...:== \\___\@n
|
|
%send% %actor% \@w\@0 /_____________________________\\\@n
|
|
%send% %actor% \@w\@0 '-._________________________.-'\@n
|
|
%send% %actor% \@w\@0 \\ .-------------------. /\@n
|
|
%send% %actor% \@w\@0 \| \|\* \*\| \|\@n
|
|
%send% %actor% \@w\@0 \| \|' Here Lies '\| \|\@n
|
|
%send% %actor% \@w\@0 \|=\|'%nameLine%\@w\@0'\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
*
|
|
* the following line is a template to be used to make new
|
|
* cases for epitaphs
|
|
* %echo% \@w\@0 \|=\|' '\|=\|\@n
|
|
*
|
|
switch %random.8%
|
|
case 1
|
|
* Only The Good Die Young (23)
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' Only The Good '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' Die Young '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
break
|
|
case 2
|
|
* A friendly young widow seeks comfort (36)
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' A Friendly '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' Young Widow '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' Seeks Comfort '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
break
|
|
case 3
|
|
* R.I.P. I told you this was dangerous (37)
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' I told you this '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' was dangerous '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
break
|
|
case 4
|
|
* Once I wasn't Then I was Now I ain't again (44)
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' Once I wasn't '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' Then I was '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|'Now I ain't again'\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
break
|
|
case 5
|
|
* Feces Occurs (12)
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' Feces Occurs '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
break
|
|
case 6
|
|
* This space for rent (19)
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' This space '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' for rent '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
break
|
|
case 7
|
|
* This way to the Egress (22)
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' This way to the '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' EGRESS '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' \<------\> '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
break
|
|
case 8
|
|
* I would turn back if I where you (32)
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|'I would turn back'\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' if I were you '\|=\|\@n
|
|
%send% %actor% \@w\@0 \|=\|' '\|=\|\@n
|
|
break
|
|
default
|
|
%send% %actor% I am broken, please tell an Immortal
|
|
break
|
|
done
|
|
*
|
|
%send% %actor% \@w\@0 \|=\|\* \*\|=\|\@n
|
|
%send% %actor% \@w\@0 \| '-------------------' \|\@n
|
|
%send% %actor% \@w\@0 \|_______________________\|\@n
|
|
*
|
|
switch %random.3%
|
|
case 1
|
|
%send% %actor% \@w\@0 /_________________\@R@@@G}---\@w\@0___\\\@n
|
|
break
|
|
case 2
|
|
%send% %actor% \@w\@0 /___\@G\\\|/\@w___\@G\\\|/\@w____\@G\\\|/\@w__\@G\\\|/\@w_\\\@n
|
|
break
|
|
case 3
|
|
%send% %actor% \@w\@0 /_________________________\\\@n
|
|
break
|
|
default
|
|
%send% %actor% I am broken, please tell an Immortal
|
|
break
|
|
done
|
|
%send% %actor% \@n
|
|
%echoaround% %actor% %actor.name% looks at an old tombstone.
|
|
else
|
|
return 0
|
|
end
|
|
~
|
|
#13008
|
|
Mist mob death~
|
|
0 f 100
|
|
~
|
|
* Random
|
|
* Mist maze mob's death
|
|
* Randomly loads objs on the mobs upon death
|
|
*
|
|
switch %random.5%
|
|
case 1
|
|
* load a portal
|
|
%load% obj 13009
|
|
drop mist
|
|
break
|
|
case 2
|
|
* load the torn note
|
|
%load% obj 13009
|
|
drop note
|
|
break
|
|
case 3
|
|
* load some arrows
|
|
eval numArrows %random.5%
|
|
set counter 0
|
|
while %counter% < %numArrows%
|
|
eval temp %random.4%
|
|
eval arrowNum %temp% + 13002
|
|
%load% obj %arrowNum%
|
|
eval counter %counter% + 1
|
|
done
|
|
drop all.arrow
|
|
break
|
|
case 4
|
|
* load nothing
|
|
break
|
|
case 5
|
|
* load nothing
|
|
break
|
|
done
|
|
%echo% The feeling fades away.
|
|
return 0
|
|
%teleport% %self% 13099
|
|
~
|
|
#13009
|
|
Mist portal~
|
|
1 c 7
|
|
en~
|
|
if %cmd.mudcommand% == enter && %arg% /= mist
|
|
%send% %actor% You step in to the swirling mist.
|
|
%echoaround% %actor% %actor.name% steps in to the swirling mist.
|
|
switch %random.5%
|
|
case 1
|
|
%teleport% %actor% 13096
|
|
break
|
|
case 2
|
|
%teleport% %actor% 13092
|
|
break
|
|
case 3
|
|
%teleport% %actor% 13088
|
|
break
|
|
case 4
|
|
%teleport% %actor% 13084
|
|
break
|
|
case 5
|
|
%teleport% %actor% 13080
|
|
break
|
|
done
|
|
%force% %actor% look
|
|
%echoaround% %actor% %actor.name% steps out of the swirling mist.
|
|
else
|
|
%send% %actor% %cmd% Huh?!
|
|
end
|
|
~
|
|
#13010
|
|
Mist portal back in to maze~
|
|
1 c 7
|
|
en~
|
|
if %cmd.mudcommand% == enter && %arg% /= mist
|
|
%send% %actor% You step in to the swirling mist.
|
|
%echoaround% %actor% %actor.name% steps in to the swirling mist.
|
|
%teleport% %actor% 13001
|
|
%force% %actor% look
|
|
%echoaround% %actor% %actor.name% causes the mists to swirl and change.
|
|
else
|
|
%send% %actor% %cmd% Huh?!
|
|
end
|
|
~
|
|
#13011
|
|
mist maze - load mobs only~
|
|
2 g 100
|
|
~
|
|
* Random
|
|
* Mist Maze - load mobs with no exits
|
|
* Load the mobs that will exist in this room
|
|
*
|
|
* Now load the mobs
|
|
eval totalMob %random.3%
|
|
eval totalMob %totalMob% -1
|
|
set howMany 0
|
|
while %howMany% < %totalMob%
|
|
switch %random.4%
|
|
case 1
|
|
%load% mob 13000
|
|
%force% feeling kill %actor.name%
|
|
eval howMany %howMany% + 1
|
|
break
|
|
case 2
|
|
%load% mob 13001
|
|
%force% feeling kill %actor.name%
|
|
eval howMany %howMany% + 1
|
|
break
|
|
case 3
|
|
%load% mob 13002
|
|
%force% feeling kill %actor.name%
|
|
eval howMany %howMany% + 1
|
|
break
|
|
case 4
|
|
%load% mob 13003
|
|
%force% feeling kill %actor.name%
|
|
eval howMany %howMany% + 1
|
|
break
|
|
default
|
|
%echo% This trigger is broken, please report to an immortal.
|
|
break
|
|
done
|
|
done
|
|
~
|
|
#13012
|
|
mist and suicide spells~
|
|
0 k 25
|
|
~
|
|
* Random
|
|
* Mist's Special Attacks
|
|
* allows the mist mob to have various special attacks
|
|
*
|
|
switch %random.7%
|
|
case 1
|
|
say Your time has come to an end!
|
|
wait 3 sec
|
|
dg_cast 'poison' %actor%
|
|
break
|
|
case 2
|
|
%send% %actor% The mist slams to the ground sending a shockwave toward you.
|
|
%echoaround% %actor% The mist slams to the ground sending a shockwave toward %actor.name%.
|
|
wait 1 sec
|
|
%force% %actor% remove all
|
|
%force% %actor% drop all
|
|
break
|
|
case 3
|
|
say Let's see how well you do if I pluck out your eyes!
|
|
wait 1 sec
|
|
dg_cast 'blind' %actor%
|
|
break
|
|
case 4
|
|
say I said to 'shut up'!!
|
|
wait 1 sec
|
|
dg_cast 'curse' %actor%
|
|
break
|
|
case 5
|
|
say Your time has come to an end!
|
|
wait 3 sec
|
|
dg_cast 'poison' %actor%
|
|
break
|
|
case 6
|
|
say I said to 'shut up'!!
|
|
wait 1 sec
|
|
dg_cast 'curse' %actor%
|
|
break
|
|
case 7
|
|
say Your time has come to an end!
|
|
wait 3 sec
|
|
dg_cast 'poison' %actor%
|
|
break
|
|
default
|
|
%echo% You got lucky this time. I'm broken, please tell an immortal.
|
|
break
|
|
done
|
|
~
|
|
#13013
|
|
Mist mob dies~
|
|
0 f 100
|
|
~
|
|
* Random
|
|
* Mist mob's death
|
|
*
|
|
*
|
|
%load% obj 13010
|
|
drop mist
|
|
%teleport% %self% 13099
|
|
~
|
|
#13014
|
|
loads a mob called mist to room~
|
|
2 g 100
|
|
~
|
|
%load% mob 13004
|
|
%force% mist kill %actor.name%
|
|
wait 10 sec
|
|
~
|
|
#13015
|
|
load a mob called mist and one called suicide to room~
|
|
2 g 100
|
|
~
|
|
%load% mob 13004
|
|
%force% mist kill %actor.name%
|
|
%load% mob 13005
|
|
%force% suicide kill %actor.name%
|
|
wait 10 sec
|
|
~
|
|
#13016
|
|
suicide mob death~
|
|
0 f 100
|
|
~
|
|
switch %random.3%
|
|
case 1
|
|
%load% o 13001
|
|
break
|
|
case 2
|
|
%load% o 13002
|
|
break
|
|
case 3
|
|
%load% o 13007
|
|
break
|
|
default
|
|
%echo% I'm broken, tell an immortal!!
|
|
break
|
|
done
|
|
~
|
|
#13017
|
|
Falling Fruit~
|
|
2 b 51
|
|
~
|
|
* Random
|
|
* Falling fruity affects
|
|
* Fruit of varius descriptions falls from the tree and as it strikes
|
|
* players it cast's various affects on them
|
|
eval numOne %random.8%
|
|
eval numTwo %random.6%
|
|
eval numThr %random.16%
|
|
*
|
|
set fruit1 apple
|
|
set fruit2 banana
|
|
set fruit3 pear
|
|
set fruit4 orange
|
|
set fruit5 kiwi
|
|
set fruit6 starfruit
|
|
set fruit7 peach
|
|
set fruit8 strawberry
|
|
set color1 @Rred@n
|
|
set color2 @ybrown@n
|
|
set color3 @Yyellow@n
|
|
set color4 @Ggreen@n
|
|
set color5 @Bblue@n
|
|
set color6 @Mpurple@n
|
|
set spell1 cure light
|
|
set spell2 heal
|
|
set spell3 poison
|
|
set spell4 blind
|
|
set spell5 bestow curse
|
|
set spell6 remove blind
|
|
set spell7 inflict light
|
|
set spell8 bless
|
|
set spell9 cure light
|
|
set spell10 invisibility
|
|
set spell11 bull strength
|
|
set spell12 sense life
|
|
set spell13 bless
|
|
set spell14 sleep
|
|
set spell15 sanc
|
|
set spell16 chill touch
|
|
*
|
|
set type %%fruit%numOne%%%
|
|
set desc %%color%numTwo%%%
|
|
set affect %%spell%numThr%%%
|
|
*
|
|
eval type %type%
|
|
eval desc %desc%
|
|
eval affect %affect%
|
|
eval target %random.char%
|
|
*
|
|
eval thisRoom %self.vnum%
|
|
eval total %%people.%thisRoom%%%
|
|
if %total% != 0
|
|
%send% %target% A %desc% %type% falls from the tree and hits you.
|
|
%echoaround% %target% A %desc% %type% falls from the tree and hits %target.name%.
|
|
dg_cast '%affect%' %target%
|
|
wait 1 sec
|
|
%echo% The %type% falls to the ground and vanishes.
|
|
end
|
|
~
|
|
#13018
|
|
ray of light portal back to midgaard~
|
|
1 c 7
|
|
en~
|
|
if %cmd.mudcommand% == enter && %arg% /= light
|
|
%send% %actor% You step in to the light.
|
|
%echoaround% %actor% %actor.name% steps in to the light.
|
|
%teleport% %actor% 3151
|
|
%force% %actor% look
|
|
else
|
|
%send% %actor% %cmd% Huh?!
|
|
end
|
|
~
|
|
#13099
|
|
portal to enter the mist maze~
|
|
1 c 7
|
|
en~
|
|
if %cmd.mudcommand% == enter && %arg% /= mist
|
|
%send% %actor% You step in to the swirling mist.
|
|
%echoaround% %actor% %actor.name% steps in to the swirling mist.
|
|
%teleport% %actor% 13001
|
|
%force% %actor% look
|
|
%echoaround% %actor% %actor.name% causes the mists to swirl and change.
|
|
else
|
|
%send% %actor% %cmd% Huh?!
|
|
end
|
|
~
|
|
$~
|