#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)%
      eval 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.
      eval return_room_staff 3001
      eval 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 fruit[1] apple
set fruit[2] banana
set fruit[3] pear
set fruit[4] orange
set fruit[5] kiwi
set fruit[6] starfruit
set fruit[7] peach
set fruit[8] strawberry
set color[1] red
set color[2] orange
set color[3] yellow
set color[4] green
set color[5] blue
set color[6] purple
set spell[1] cure light
set spell[2] heal
set spell[3] poison
set spell[4] blind
set spell[5] curse
set spell[6] cure blind
set spell[7] armor
set spell[8] bless
set spell[9] cure light
set spell[10] invisibility
set spell[11] strength
set spell[12] sense life
set spell[13] bless
set spell[14] sleep
set spell[15] sanc
set spell[16] 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%
*
%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.
~
#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
~
$~
