crodo_mud/cnf/
crodo_mud/lib/
crodo_mud/lib/house/
crodo_mud/lib/misc/
crodo_mud/lib/plralias/F-J/
crodo_mud/lib/plralias/U-Z/
crodo_mud/lib/plrobjs/
crodo_mud/lib/plrvars/A-E/
crodo_mud/lib/plrvars/F-J/
crodo_mud/lib/plrvars/K-O/
crodo_mud/lib/plrvars/P-T/
crodo_mud/lib/plrvars/U-Z/
crodo_mud/lib/text/
crodo_mud/lib/text/help/
crodo_mud/lib/world/
crodo_mud/src/
#3000
Bodypart Decay~
1 f 100
~
* Decay of fido bodyparts
* Carried by a char
 if (%self.carried_by%)
osend %self.carried_by% The %self.name% decays in your hands.
  opurge %self%
  halt
 end
* inside another object
if (%self.in_obj%)
opurge %self%
halt
end
* Not being carried by anyone or in a container.
oecho A %self.name% is consumed by a horde of maggots.
opurge %self%
~
#3001
Cook Bodyparts~
1 b 25
~
* Butch Cooks the bodyparts
eval ButchCheck %self.carried_by%
if (%ButchCheck.vnum% == 3057)
oecho Butch tosses the %self.name% into the vat.
wait 2s
oecho Butch stirs the vat.  A foul odor fills the room.
opurge %self%
end
~
#3002
Test Script (Reuse)~
2 i 15
~
%echo% test
~
#3003
ButchInRoom (Set Global)~
1 c 2
zquesttrig~
eval ButchInRoom 1
Global ButchInRoom
return 1
halt
~
#3004
Doggie Done Died!~
0 f 100
~
* Doggie Done Died!
eval Number %random.4%
* Load the doggie part
switch %number%
case 1
 mload obj 3016
break
case 2
mload obj 3017
break
case 3
mload obj 3018
break
case 4
mload obj 3019
break
done
~
#3005
Doggie Part Timer Reset~
1 n 100
~
otimer 6
~
#3006
new trigger~
1 g 100
~
dg_cast 'burning hands' %actor.name%
~
#3007
Sorwaw Tavern - No Sleeping!~
2 c 100
s~
if %cmd.mudcommand% == sleep
     %send% %actor% Sleeping in resteraunts is impolite!
     return 1
end
~
#3008
Gates: Mobiles In~
0 q 19
~
say Remind FX to finish script 3008
~
#3009
Open Shop~
0 q 6
~
   * This script allows mobiles to open their shops in the morning.
   * See also trigger 3010
   * There are a few globals to set on the shopkeeper:
   *   - ShopVNUM      (the vnum of the shop keeper's shop)
   *   - ShopOpenMsgA  (first message displayed when the mobile arrives.)
   *   - ShopOpenMsgB  (second message displayed when the mobile arrives.)
   if %self.room% == %self.ShopVNUM%
       halt
   end
   mgoto %self.ShopVNUM%
   %echo% %self.ShopOpenMsgA%
   %echo% %self.ShopOpenMsgB%
~
#3010
Close Shop~
0 q 0
~
   * This script allows mobiles to close their shops at night and retreat to
   * an appartment or whatnot.  See also trigger number 3009.
   * There are a few globals to set on the shopkeeper:
   *   - ShopCloseMsgA (first message displayed when the mobile leaves.)
   *   - ShopCloseMsgB (second message displayed when the mobile leaves.)
   if %self.room% == 3032
       halt
   end
   %echo% %self.ShopCloseMsgA%
   %echo% %self.ShopCloseMsgB%
   mgoto 3032
~
#3011
Commoner Drops Trash~
0 g 30
~
if %actor.vnum% == 3061
    wait 1s
    :looks at the cleaning peasant.
    %load% obj 3008
    grin
    wait 2s
    drop trash
    wait 4s
    snicker
end
~
#3012
Fido Bites Horse~
0 g 25
~
*If its not a knights horse or a knight halt
if %actor.vnum% != 3028 && %actor.vnum% != 3059
    halt
end
 
*If its a knight, make sure he's riding a horse.
if %actor.vnum% == 3059 && !%actor.riding%
    halt
end
 
*Wait a second, and bite the horse.
wait 1s
emote bites a horse.
 
*Have all the knights in the room beat the shit out of the fido.
dg_script3012_bitehorse
~
#3013
Knight Kills Horse-Biting-Fido~
0 c 100
dg_script3012_bitehorse~
if %actor.vnum% == 3062
    wait 1s
    fume
    wait 1s
    kill fido
    wait 2s
    say No fucking dog gets away with biting a knight
end
~
#3014
Shop Is Closed~
2 g 100
~
if %actor.vnum% != -1 && %actor.vnum% != 3102
    return 0
end
if %time.hour% < 6
    wait 1s
    %send% %actor% |wThe shop seems to be closed.|n
end
~
#3015
Junk Trash~
0 q 0
~
eval iterations 0
if %self.room% == 3052 || %self.room% == 3053
    sigh
    wait 2s
    say Stupid gate.
    wait until 07:30
end if
say Off to the dump I go!
wait 3s
while %self.room% != 3030
    pathto movedir 3030
    %movedir%
    wait %random.2%s
eval iterations (%iterations%+1)
global iterations
done
drop all
wait 1s
wait %random.3%s
n
wait %random.2%s
switch %random.3%
  case 1
    n
    break
  case 2
    e
    break
  case 3
    w
    break
  default
    n
    break
done
~
#3016
Rat Release~
2 i 22
~
* Load a handful of rats at about 10 pm in the dump.
*   these rats should retreat to the dump and purge themselves
*   at about 5 am.
%echo% Hordes of filthy rats pile out from the sewer.
eval ratmake 1
while %ratmake% < 26
    %load% mob 3012
    eval ratmake %ratmake%+1
done
~
#3017
Rat Decease~
0 q 4
~
* Destroy the rats after 6 mud hours (plus a little random time)
*(this should happen at around 4am)
wait %random.60%s
while %self.room% != 3030
    pathto movedir 3030
    %movedir%
    wait 1s
done
emote crawls back into the sewer.
mpurge %self%
~
#3018
Wanda Gives Herpes~
0 c 100
l~
if %cmd.mudcommand% != love || %target% != %self% || %actor.vnum% == -1
    return 0
     halt
end
%echoarroundc% %actor% %actor.name% makes love to %self.name%.
%send% %actor% You make passionate love to %self.name%.
%send% %actor% With a slut like %self.name%, you should have used protection, OOPS!
attach 3019 %actor.eq(soul)%
attach 3020 %actor.eq(soul)%
~
#3019
Herpes Spreader~
1 c 100
l~
if %cmd.mudcommand% != love || %target% != %self.carried_by% || %actor.vnum% == -1
    return 0
     halt
end
%echoarroundc% %actor% %actor.name% makes love to %self.name%.
%send% %actor% You make passionate love to %self.name%.
%send% %actor% With a slut like %self.name%, you should have used protection, OOPS!
attach 3019 %actor.eq(soul)%
attach 3020 %actor.eq(soul)%
~
#3020
Mercenary Hire~
0 m 0
~
wait 1s
if %amount% < 2500
    %echoaroundc% %actor% %self.name% points and laughs at %actor.name%.
    %sendc% %actor% %self.name% points and laughs at you.
    say I work for 25 gold for 4 hours plus 1 gold for each additional hour, bitch.
    say Thanks for the coins though!
    halt
end
eval owner %actor.name%
eval worktime 4+((%amount%-2500)/100)
say I will work for you for around %worktime% hours.
wait 2s
emote deposits some coins into his bank acount.
eval coinsub %self.coins%*-1
%self.coins(%coinsub%)%
%self.coins(87)%
wait 1s
tell %owner% You can make me do your bidding using the order command.
wait 1s
say OK lets go %owner%.
follow %owner%
makeuid myself %self.id%
dg_affect %myself% charm 1 %worktime%
wait %worktime%t
wait 1s
eval peeps %room.people%
while %peeps%
    if %peeps% == %actor%
        eval stillhere 1
    eval peeps %peeps.next_in_room%
done
if stillhere
    say Time's up.
    wait 1s
    say It's been a pleasure working with you, %owner%.
else
    say That bum, %owner%, just left me here.  Im gone.
end
follow self
emote touches a marking on his neck and disappears.
%teleport% %self% 3026
~
#3021
Lost Boy Quest: Mother Greeting~
0 g 100
~
* Lost Boy Quest
if %actor.vnum% != -1
    halt
end
if %actor.quest(4)% == 1
    say Oh %actor% don't give up! Please!
    sniff
    halt
end
if %actor.quest(4)% == 127
    glare %actor.name%
    halt
end
* If a PC walks in she should get all sad like. 
wait 1s
sniff
wait 2s
l %actor%
wait 1s
emote lowers her head.
cry
wait 2s
%sendc% %actor% %self.name% appears quite sad maybe you should ask her whats wrong?
~
#3022
Lost Boy Quest: Ask Mother~
0 c 0
a~
* Lost Boy Quest
if %actor.vnum% != -1
    halt
end
*Make sure they're asking
if (%cmd.mudcommand% != ask)
    halt
end
if !(%arg% /= what && %arg% /= wrong)
    halt
end
*Offer info
wait 2s
say Oh %actor.name%, don't worry yourself with a poor woman's troubles.
wait 4s
say Do you really want to hear about it %actor.name%?
eval curChar %actor%
global curChar
~
#3033
hump~
0 g 10
~
wait 1
if (%actor.vnum% == -1)
msend %actor% |RThe foul canine humps your leg.|n
mechoaround %actor% |RThe foul canine humps %actor.name%'s leg.|n
end
~
#3035
Sorwaw Tavern Welcome~
0 h 100
~
if %actor.vnum% != -1
    halt
end
 
eval greeting Hello
eval daytime tonight
if %time.hour% >  5 && %time.hour% < 12
    eval greeting Good morning
    eval daytime this morning
elseif %time.hour% >  11 && %time.hour% < 18
    eval greeting Good afternoon
    eval daytime this afternoon
elseif %time.hour% >  17 && %time.hour% < 22
    eval greeting Good evening
    eval daytime this evening
end
wait 2s
if %actor.room% == 3031
tell %actor.name% %greeting% %actor.name%, welcome to the Sorwaw.
wait 1s
end
if %actor.room% == 3031
tell %actor.name% Type menu to see what we're serving %daytime%.
tell %actor.name% You are welcome to seat yourself.
end
~
#3036
Sorwaw Tavern Menu~
2 c 100
menu~
%send% %actor% |yThe Sorwaw Tavern:  Menu
%send% %actor% |g
%send% %actor% Entrees
%send% %actor%   |c1|w. beef on a stick   |y 3s
%send% %actor%   |c2|w. filet-o-fido       |y1g
%send% %actor%   |c3|w. odif burger       |y 1e
%send% %actor% |g
%send% %actor% Drinks and Specials
%send% %actor%   |c4|w. beer (bottle)   |y2s 3c
%send% %actor%   |c5|w. beer (barrel)   |y3g 3s
%send% %actor%   |c6|w. whiskey shot    |y2g 1e
%send% %actor%   |c7|w. whiskey glass     |y10g
%send% %actor% |w
%send% %actor% To place an order type |Worder menu <item name / number>|n
%echoaroundc% %actor% %actor.name% looks at the menu.
~
#3037
Sorwaw Tavern: Order~
0 c 100
o~
if %cmd.mudcommand% != order
    return 0
    halt
end
if  !(menu /= %arg.car%)
    return 0
    halt
end
%echoaroundc% %actor% %actor.name% places an order.
if !(%actor.can_carry_weight(2)%) || %actor.arms_full%
    say %actor.name%, it looks like you have your hands full.
    halt
end
context 0
eval loop 1
while %loop% < 8
    context 0
    eval shortcut 0
    context %loop%
    if %item% /= %arg.cdr%
        context 0
        eval shortcut 1
    end
    if %arg.cdr% == %loop% || %shortcut%
        context %loop%
        if %actor.coins% < %price%
            say You can't afford that, %actor.name%!
            halt
        end
        context 0
        if %loop% < 4
            context %loop%
            emote hollers to the kitchen, '%item%'
            wait 5s
       elseif %loop% < 6
            context %loop%
            emote grabs a %item%.
            wait 1s
       elseif %loop% < 8
            context %loop%
            emote pours a %item%.
            wait 1s
        end
        context %loop%
        %load% obj %itemnum%
        if %actor.room% == 3031
            give %alias% %actor.name%
            eval charger nop %%actor.coins(-%price%)%%
            %charger%
            expand_copper payment %price%
            say Here is your %item%, %actor.name%, and I'll take%payment%.
        else
            mjunk %alias%
        end
        halt
    end
    context 0
    eval loop %loop%+1
done
say Sorry %actor.name%, thats not a valid selection: "%arg.cdr%".
~
#3038
Sorwaw Tavern: Galton VarSet~
0 n 100
~
context 1
  eval item beef on a stick
  eval itemnum 3029
  eval price 30
  eval alias beef
  global item
  global itemnum
  global price
  global alias
context 2
  eval item filet o fido
  eval itemnum 3049
  eval price 100
  eval alias filet
  global item
  global itemnum
  global price
  global alias
context 3
  eval item odif burger
  eval itemnum 3059
  eval price 50
  eval alias burger
  global item
  global itemnum
  global price
  global alias
context 4
  eval item bottle of beer
  eval itemnum 3001
  eval price 23
  eval alias bottle
  global item
  global itemnum
  global price
  global alias
context 5
  eval item barrel of beer
  eval price 330
  eval itemnum 3000
  eval alias barrel
  global item
  global itemnum
  global price
  global alias
context 6
  eval item shot of whiskey
  eval itemnum 3321
  eval price 250
  eval alias shot
  global item
  global itemnum
  global price
  global alias
context 7
  eval item glass of whiskey
  eval itemnum 5467
  eval price 1000
  eval alias glass
  global item
  global itemnum
  global price
  global alias
~
#3039
Sorwaw Tavern: Orders Full~
0 c 100
o~
if %cmd.mudcommand% != order
    return 0
    halt
end
if  !(menu /= %arg.car%)
    return 0
    halt
end
say %actor.name%, please wait I'm kinda busy.
~
#3047
Torch Transformations~
1 c 100
dg_script3047_torchtransform~
if %actor.vnum% != 3106
    halt
end
if %arg% == off
    otransform 3048
    halt
end if
otransform 3047
~
#3048
Wall Torch Purge Self~
1 n 100
~
*since there are two objects that get used for the wall torch
*in room 3000, I only load one in the zone file.  This means I might
*end up having two torches, one lit, and one extinguished.  (They
*change via otransform)
if %time.hour% < 7 || %time.hour% > 18
     opurge %self%
end
~
#3053
Odin's Quest Suggestion~
2 g 100
~
   *Odin's Quest Suggestion
   * if an npc enters the room exit
   if (%actor.vnum% != -1)
    halt
   end
 
   if (%actor.quest(1)% == 0)
  wait 1
wsend %actor% |R You feel the strong urge to pray... |n
   end
~
#3054
Odin's Quest Initiator~
2 c 100
pray~
* Odin's Quest: 'pray' command
if %cmd.mudcommand% != pray
  return 0
  halt
end
* if an npc enters the room exit
if %actor.vnum% != -1
  return 0
  halt
end
return 1
if %actor.quest(1)% == 127
  * if the pc has rejected the quest
  %send% %actor% The statue of Odin comes to life and spits upon you.
  %echoaround% %actor% The statue of Odin comes to life and spits upon %actor.name% who lacks faith.
end
if %people.3055% != 0
  * if there's someone in Odin's room allready, exit.
  %send% %actor% Odin doesn't have time for you right now.  Try again later.
  halt
end
if %actor.quest(1)% == 0
  * trigger beginning of quest
  wait 1
  %echo% A clap of thunder echoes through the room!
  %echoaround% %actor% %actor.name% vanishes in a flash of white light as they approach the altar!
  %send% %actor% You are bathed in a white light, almost blinding yet warm and comforting.
  %teleport% %actor% 3055 
  %force% %actor% gasp
elseif %actor.quest(1)% == -1
  * quest complete
  eval OdinSpellsLeft %actor.OdinSpellsLeft%
  if %actor.align% < -350
    %send% %actor% The statue of Odin comes to life and spits upon you.
    %echoaround% %actor% The statue of Odin comes to life and spits upon evil %actor.name%.
    eval OdinSpellsLeft %OdinSpellsLeft% - 2
    remote OdinSpellsLeft %actor.id%
    halt
  end
  %send% %actor% A beam of light shines down upon you -- one of Odin's faithful.
  %echoaround% %actor% A beam of light shines upon %actor.name% in recognition of their faith.
  if %OdinSpellsLeft% < 1
    halt
  end
  eval OdinSpellsLeft %OdinSpellsLeft% - 1
  remote OdinSpellsLeft %actor.id%
  wait 1 s
  switch %random.8%
    case 1
      dg_cast 'bless' %actor%
      break
    case 2
      dg_cast 'armor' %actor%
      break
    case 3
      dg_cast 'cure critic' %actor%
      break
    case 4
      dg_cast 'stoneskin' %actor%
      break
    case 5
      dg_cast 'detect alignment' %actor%
      break
    case 6
      dg_cast 'detect invisibility' %actor%
      break
    case 7
      dg_cast 'infravision' %actor%
      break
    case 8
      dg_cast 'remove poison' %actor%
      break
  done
end
~
#3055
Odin's Quest Speech Trigger~
2 c 100
gasp~
* Odin's Room Quest Speech Script
wait 1
%echo% You feel very disoriented.
wait 3s
%echo% |w*%actor.name%...*|n
wait 3s
%echo% |w*%actor.name%......*|n
wait 3s
%echo% |w*I have heard your faithful prayer.*|n
wait 3s
%echo% |w*Young mortal, I am Odin. I have a request to make of you. If you prove
%echo% yourself you will recieve my blessing and be rewarded greatly.*|n
wait 4s
%echo% |w*The Minotaur has defiled my temple with his excrement.*|n
wait 3s
%echo% |w*Slay this foul beast that has so dishonored me and bring me his heart. Drop
%echo% it at the foot of my statue and I shall be most pleased with you.*|n
wait 4s
%echo% |w*Will you do this for me, %actor.name%?*|n
~
#3056
Odin Quest Acceptance~
2 d 0
yes~
* Odin's Quest Acceptance Script
%echo% |w*I have faith in you, %actor.name%.*|n
%echo% |w*Now go, and complete this task for me.*|n
wait 2 s
%echo% The bright light fades away.
dg_cast 'bless' %actor%
wquest %actor% 1 1
%teleport% %actor% 3054
~
#3057
Odin Quest Decline~
2 d 0
no~
* Odin's Quest Turndown Script
%echo% |w*A pox on you and your offspring, %actor.name%.*|n
%echo% |w*You have disappointed me greatly.*|n
wait 2 s
%echo% The bright light fades away.
dg_cast 'curse' %actor%
wquest %actor% 1 127
wteleport %actor% 3054
~
#3058
Death of the Minotaur~
0 f 100
~
* Minotaur's Death Script
if (%actor.vnum% != -1)
    halt
end
if (%actor.quest(1)% == 1)
    mload obj 18620
    mquest %actor% 1 2
    actor.qpoints(1)
end
~
#3059
Minotaur Quest Greeting~
0 g 100
~
   *Minotaur Taunts if Player is on Quest
   *is the player on the quest?
   if (%actor.vnum% != -1)
   halt
   end
   if (%actor.quest(1)% == 1)
    wait 2
   say So you're on a mission from god?
    wait 2
    mecho The minotaur lets out a rough laugh.
    wait 4
   say You've come for my hide, but you'll be lucky to leave with yours.
   end
~
#3060
Odin Quest Complete~
1 h 100
~
*Odin's Quest Completion
* if an npc enters the room exit
if (%actor.vnum% != -1)
  halt
end
* if character isn't at odin's statue, exit
if (%actor.room% != 3054)
  halt
end
* exit if the char hasn't killed the minotaur while on the quest
if (%actor.quest(1)% != 2)
  halt
end
wait 1s
%send% %actor% |w\*%actor.name%... You have pleased me much.\* |n
dg_cast 'bless' %actor%
wait 2s
%send% %actor% |w\*I will give you the strength to continue fighting the minions who would make
%send% %actor% this world a foul place.\* |n
wait 1s
nop %actor.maxhitp(10)%
nop %actor.qpoints(1)%
%echo% A clap of thunder echoes through the room.
%send% %actor% You feel sturdier.
eval OdinSpellsLeft 10
remote OdinSpellsLeft %actor.id%
oquest %actor% 1 -1
wait 5
%echo% The still-beating heart is engulfed in flames.
%purge% %self%
~
#3061
Trunks Random~
0 b 5
~
*random stuff
switch %random.15%
case 1:
    say My mom was a really pretty elephant, don't get me wrong.
    break
case 2:
    emote does a handstand.
    break
case 3:
    fart
    break
case 4:
    say Ever have sex with a pig?
    wait 2s
    say I have.
    break
case 5:
    say I like being chained to a large post.
    break
case 6:
    say Do I have a snake in my pocket or am I just happy to see myself?
    break
case 7:
    say La la La la La la
    break
case 8:
    say I bet wanda has herpes, I made love to her once!
    break
case 9:
    say Anybody seen Wally's wife?  She's a real beast.
    break
case 10:
    say I hear butch and barry like to stir up each other's "blood soup".
    break
case 11:
    say I hear some god defiled a minotaur's temple somewhere around here.
    break
done
~
#3063
Drunk drinks~
0 b 10
~
nop %self.coins(22)%
buy bottle
wait 5 s
eval Times 0
while %Times% < 10
  eval Times %Times% + 1
  %echoc% %self.name% drinks from a bottle.
  wait 30 s
done
junk bottle
~
#3064
Drunk Speech~
0 d 2
*~
wait 1 s
if %random.3% != 3
  halt
end
if %speech% /= anapest
  'I useta live over there; moved east when they raised taxes.
elseif %speech% /= new
  'What's that? Did you say you were new here?
elseif %speech% /= should
  * left over from original script
  'I'll drink to that!
else
  if %random.3% != 3
    halt
  end
  'Wha?
end
~
#3065
beg~
0 g 10
~
wait 1
say Money for the poor?
~
#3066
thanks~
0 m 1
~
wait 1
if (%actor.sex% == MALE)
say Thank you, kind sir.
end
if (%actor.sex% == FEMALE)
say Thank you, ma'am.
end
~
#3068
Set Blob MoveString~
0 n 100
~
set MovementIn oozed
set MovementOut oozes
Global MovementIn
Global MovementOut
~
#3070
Fido Gives Birth~
0 n 100
~
*pick littersize
*(for my amusement I can check the global on any fido to see its potency)
eval littercount %random.8%+1
global littercount
 
*give her some time (20 hrs - 21 days)
wait 20t
   *wait inital 20 ticks
wait %random.500%t
   *wait between 1 and 500 ticks
 
*transform her to a pregnant fido
mtransform 3070
emote falls to its side in pain.
wait 3s
emote appears to be giving birth.
 
*enter labor (albeit short)
wait 2s
scream
 
*lets squeeze some babies
while %babynum% < %littercount%
    eval babynum %babynum%+1
    *(75% chance fido, 25% chance odif)
    if %random.4% > 1
        emote gives birth to a baby fido.
        %load% mob 3072
    else
        emote gives birth to a baby odif.
        %load% mob 3073
        wait 2s
        emote looks disgusted.
    end
    wait %random.5%s
done
 
emote climbs to its feet.
mtransform 3071
eval didTransform 1
global didTransform
~
#3071
Fido Offspring: Baby Fido~
0 n 100
~
*this script is for all offspring of fidos.  So they too will give birth.
eval IsOffspring 1
global IsOffspring
follow pregnant
wait 5t
assist baby
kill mother
wait 10s
wait %random.10%s
emote has matured into a full grown fido.
mtransform 3062
 
*pick littersize
*(for my amusement I can check the global on any fido to see its potency)
eval littercount %random.8%+1
global littercount
 
*give her some time (20 hrs - 21 days)
wait 20t
   *wait inital 20 ticks
wait %random.500%t
   *wait between 1 and 500 ticks
 
*transform her to a pregnant fido
mtransform 3070
emote falls to its side in pain.
wait 3s
emote appears to be giving birth.
 
*enter labor (albeit short)
wait 2s
scream
 
*lets squeeze some babies
while %babynum% < %littercount%
    eval babynum %babynum%+1
    *(75% chance fido, 25% chance odif)
    if %random.4% > 1
        emote gives birth to a baby fido.
        %load% mob 3072
    else
        emote gives birth to a baby odif.
        %load% mob 3073
        wait 2s
        emote looks disgusted.
    end
    wait %random.5%s
done
 
emote climbs to its feet.
mtransform 3071
~
#3072
Fido Offspring: Baby Odif~
0 n 100
~
*this script is for the abandoned baby odifs, this way they will grow into full odifs
eval IsOffspring 1
global IsOffspring
wait 5t
wait 10s
wait %random.10%s
emote has matured into a full grown odif yltsaeb.
mtransform 3066
~
#3093
Patrol Response - cityguard~
0 g 100
~
if %actor.vnum% != 3058
  halt
end
wait 8
%echoc% %self.name% snaps to attention.
~
#3094
Elite Red on patrol~
0 b 100
~
eval Path walk_to 3040 walk_to 3007 walk_to 3041 walk_to 3046 walk_to 3104 walk_to 3130 walk_to 3127
while %Path.strlen% > 0
  if !%self.fighting%
    eval Action %Path.car%
    eval Path %Path.cdr%
    switch %Action%
      case walk_to
        eval Dest %Path.car%
        eval Path %Path.cdr%
        if %self.room% != %Dest%
          pathto Step %Dest%
          %Step%
          eval Path walk_to %Dest% %Path%
        end
        break
      default
        %Action%
        break
    done
  end
  wait 5 s
  wait %random.5%
done
~
#3095
Release Prisonsers~
0 b 100
~
mrelease
~
#3096
LockUp Trigger~
0 g 100
~
   if (%actor.vnum% != -1)
   halt
   end
   if (%actor.has_outlaw% == 0)
   halt
   end
   * Ohh an outlaw just walked in.
   chuckle
   wait 2s
   say Well %actor.name%, we got a cell waiting for you.
   unlock cell
   open cell
   mechoaround %actor% %self.name% throws %actor.name% into the cell.
   msend %actor% %self.name% throws you into the cell.
   mconvict %actor%
   mteleport %actor% 3077
   close cell
   lock cell
   nop %actor.is_arrested(off)%
~
#3097
Arrest on Entry~
0 g 100
~
   if (%actor.vnum% != -1)
   halt
   end
   if (%actor.has_outlaw% == 0)
   halt
   end
   set ArrestRoom %self.room%
   say %actor.name% you are under arrest!
   mechoaround %actor% %self.name% utters the words, 'Ayuioul'
   msend %actor% %self.name% utters the words, 'Ayuioul'
   mecho The lawman and their catch vanish in a flash of light.
   mgoto 3075
   wait 1s
   mteleport %actor% 3075
   mforce %actor% look
   nop %actor.is_arrested(on)%
   wait 3s
   slap %actor%
   say Move it, criminal.
   nop %actor.is_arrested(off)%
   mforce %actor% north
   nop %actor.is_arrested(on)% 
   n 
   wait 1s
   say I have another prisoner to keep the rats company.
   mecho %self.name% snaps his fingers and vanishes!
   mgoto %ArrestRoom%
   mecho The lawman reappears.
   grin
~
#3098
Guard Outlaw Hunting~
0 bh 100
~
if (%self.fighting%)
halt
end
moutlawscan
if (%self.hunting%)
mdohunt
halt
end
~
#3099
Witness Trigger~
0 p 100
~
if (%actor.has_outlaw%)
halt
end
if (%self.fighting%)
 halt
end
if (%action% == 1)
say %actor.name% is an OUTLAW!  I saw him attack %vict.name%!
end
if (%action% == 2)
say %actor.name% is an OUTLAW!  I saw them steal from %vict.name%!
end
nop %actor.has_outlaw(on)%
~
$~