[ 1000] a hermit
>delay_prog 10~
say An adventurer once told me he had found the tomb, but that it was locked.
say The key must be in these marshes somewhere! Perhaps one of the creatures in this marsh has found it …
say Good luck $X!
>delay_prog 9~
say It is said that only by removing the corpse's skull from the tomb and intoning the ritual phrase "By my power I release thee" can it be freed.
say I wouldn't advise it though. The Manitou is a fearsome beast.
wink $X
mpdelay self 5 10 $X
>delay_prog 8~
say The Manitou is a foul beast that lives in this marsh.
say I've heard that there is an underground tomb around here somewhere.
say It was trapped inside a corpse by a mighty warlock millennia ago.
mpdelay self 5 9 $X
>speech_prog manitou~
if delayed ($i)
break
endif
if quest (8,4,$n) == 1
say Eh? The Manitou? You've heard about that I see …
emote mutters to himself for a few seconds.
mpmset $n quest 8 4 2
mpdelay self 5 8 $n
endif
>greet_prog 100~
if quest (4,4,$n) == 11
say Ah, good to see you again $n!
endif
>delay_prog 7~
mpecho The hermit spoons out a bowl of stew and wolfs it down!
say Ahhh! That was fantastic!
hug $X
mpmset $X quest 4 4 11
say Thank you very much $X! I haven't enjoyed a meal so much in years!
say Hmm, I found these on a corpse in the marsh years ago.
say Why don't you take them as a reward.
mpoload 1045
give i1045 $X
smile
>delay_prog 6~
mpecho The hermit gives the stew a final stir.
mpdelay self 5 7 $X
>give_prog i1032~
if quest (4,4,$n) == 9
say Fantastic! Sorrel gives rabbit stew the BEST flavour!
emote tears up the sorrel leaves and sprinkles them into the stew.
mpjunk i1032
mpmset $n quest 4 4 10
mpdelay self 5 6 $n
else
say What are you give me that for?
give i1032 $n
endif
>delay_prog 5~
say There should be some sorrel growing in the marsh, I've found some before.
say It usually grows in the shallower parts of the marsh …
say Bring me some please.
smile $X
>give_prog i1031~
if quest (4,4,$n) == 7
clap
say Aha! Now we're cookin'!
emote dumps the vegetables into the cook pot.
say All I need now are some herbs.
mpjunk i1031
mpdelay self 3 5 $n
mpmset $n quest 4 4 8
else
say What are you giving me that for?
give i1031 $n
endif
>speech_prog pull~
if quest (4,4,$n) == 7
say Yes, go and PULL some vegetables out of my patch.
endif
>speech_prog ok okay yes yep yeah~
if quest (4,4,$n) == 6
say Great!
say I'm going to make some rabbit stew. But I'll need some vegetables!
say Go and PULL some for me!
mpmset $n quest 4 4 7
endif
>delay_prog 4~
emote heaves the cook pot onto the fire and give it a stir.
say Now that you've ridded my fields of that darn rabbit, perhaps you could help me again?
>delay_prog 3~
emote snaps the rabbit's neck and rapidly skins it.
emote quarters the rabbit and tosses the pieces into a cook pot of water.
mpdelay self 3 4 $X
>give_prog i1024~
if quest (4,4,$n) == 4
mpquiet on
open i1024
get i1025 i1024
get i1028 i1024
get i1029 i1024
mpquiet off
emote peers into the cage.
if hasobjnum ($i) == 1025
or hasobjnum ($i) == 1028
or hasobjnum ($i) == 1029
mpjunk i1025
mpjunk i1028
mpjunk i1029
mpjunk i1024
say Great! You've caught the little bugger.
drool
say I haven't had rabbit for years!
mpmset $n quest 4 4 6
mpdelay self 3 3 $n
else
ponder
say There's no rabbit in here …
grumble $n
give i1024 $n
endif
else
say What are you giving me that for?
give i1024 $n
endif
>time_prog 4~
mpat 1026 mppurge m1009
mpquiet on
mpat 1026 get i1029 i1026
mpjunk i1029
>time_prog 20~
mpat 1026 mpmload 1009
>speech_prog ok okay yes yep yeah~
if quest (4,4,$n) == 3
say Great!
say You'll need a cage!
mpoload 1024
give i1024 $n
say Remember, the rabbit only seems to appear at night!
mpmset $n quest 4 4 4
if time () >= 20
or time () <= 3
mpat 1026 mpmload 1009
endif
endif
>delay_prog 2~
say It looks like a rabbit has somehow made its way onto my island.
say Will you catch it for me? It'll help me out, and rabbit is … well …
emote licks his lips.
>delay_prog 1~
say Hmm, I wonder if you are able to help me.
say I'm having a little trouble with pests eating my veggies.
say But it always happens at night, and I'm a deep sleeper.
mpdelay self 3 2 $X
>speech_prog ~
if delayed ($i)
break
endif
if quest (4,4,$n) == 1
smile
say Good to meet you, $1.
ponder
mpmset $n quest 4 4 3
mpdelay self 3 1 $n
endif
>greet_prog 100~
if quest (4,4,$n) == 0
say Ahh, greetings stranger. It's not often I meet newcomers around here.
say And what might your name be?
mpmset $n quest 4 4 1
endif
>repop_prog 100~
mpmset self dam 1d2+0
>fight_prog 100~
cast 'cause serious'
if rand (70)
cast 'magic missile'
endif
if rand (18)
cast 'faerie fire'
endif
if rand (9)
cast 'weaken'
endif
>give_prog rabbit~
mpecho The rabbit twists and turns before leaping out of $I's hand!
mpecho The rabbit falls down to the ground where it quickly hops away and disappears into the undergrowth.
say I thought I clearly instructed you to put the rabbit into the cage..
spank $n
mpjunk all.rabbit
It's really nice to be able to do almost anything with mprogs, and in a very clean way. The workarounds and hacks involved in doing a good many of things with the stock OLC are really ugly sometimes, and always bugged me.
Like, the use of variables. I can do sooooo many things with that. Counters everywhereeeeee!
At this point I'd really rather not build on a mud without these features. My own project aside. So it's sort of kept me loyal to the game because of the ease of building.
Out of curiosity, how much have you developed your own mprogs? (Provided your mud uses them. LP is evil!)
I have functional, debeaked headcrabs. I could prolly put the zombie effect on the headcrab hat, making them… not debeaked. :3