mirror of
https://github.com/tbamud/tbamud.git
synced 2026-01-27 19:36:09 +01:00
This just converts the few DOS text files still in here to standard text files (line-endings), removes all the trailing spaces on lines, removes all the trailing blank lines, and replaces all the tabs (except in .zon files, where they seem to be common) with expanded spaces. It's easy to confirm this is actually a non-change, except for whitespace: * `git show -w` shows this commit as only removing 8 trailing blank lines. This should make no difference to tbaMUD itself, but it will make working on these files, especially with scripts and automated tools, much easier. This is the base change for a set of other changes I will put up once/if this merges, without this, the others are just too complicated to wrangle.
1811 lines
41 KiB
Text
1811 lines
41 KiB
Text
#1200
|
|
General trigger keeper. Only for use in room 0.~
|
|
2 a 100
|
|
~
|
|
* Not used for anything but variable storage. No Script!
|
|
* Without this trig attached you will get the error:
|
|
* Trying to access Global var list of void. Apparently this has not been set up!
|
|
~
|
|
#1201
|
|
Calculator By Mordecai~
|
|
2 d 100
|
|
*~
|
|
* By Mordecai
|
|
if %actor.is_pc%
|
|
Return 0
|
|
Eval sum %speech%
|
|
Eval test1 "%speech%"
|
|
Eval test %test1.strlen%
|
|
Eval che %sum%/1
|
|
If %che% == %sum%
|
|
%echo% @WComputing results...@n
|
|
if (%speech%/===)
|
|
if (%sum%==1)
|
|
set sum Yes
|
|
elseif (%sum%==0)
|
|
set sum No
|
|
end
|
|
end
|
|
Eval st 2+%test%
|
|
Eval o .
|
|
Eval sumslen "%sum%
|
|
Eval len %st% - (%sumslen.strlen%-2)
|
|
If %len% > 0
|
|
Eval dif (%len%/2)
|
|
While %y.strlen% < %st%
|
|
Eval o .%o%
|
|
Eval y %o%
|
|
Eval m ?%m%
|
|
Eval p %m%
|
|
If %dif% == %y.strlen%
|
|
Eval wid1 %p%
|
|
end
|
|
done
|
|
end
|
|
eval opt1 8 + %test%
|
|
eval opt2 (2*%wid1.strlen%)+%sumslen.strlen%+5
|
|
%echo% @WWizzzzzzzzzz....@n
|
|
if (%opt1%-2) == (%opt2%)
|
|
%echo% @c...%y%...@n
|
|
%echo% @c:@C..%y%..@c:@n
|
|
%echo% @c:@C:@G %speech% @C :@c:@n
|
|
%echo% @c:@C:.%y%.:@c:@n
|
|
%echo% @c:@C: %wid1%@G %sum% @C%wid1% :@c:@n
|
|
%echo% @c:@C:.%y%.:@c:@n
|
|
%echo% @c:..%y%..:@n
|
|
else
|
|
%echo% @r....%y%...@n
|
|
%echo% @r:@R...%y%..@r:@n
|
|
%echo% @r:@R:@G %speech% @R :@r:@n
|
|
%echo% @r:@R:..%y%.:@r:@n
|
|
%echo% @r:@R: %wid1%@G %sum% @R%wid1% :@r:@n
|
|
%echo% @r:@R:..%y%.:@r:@n
|
|
%echo% @r:...%y%..:@n
|
|
end
|
|
end
|
|
end
|
|
~
|
|
#1202
|
|
Object Wear or Wield Example~
|
|
1 j 100
|
|
~
|
|
* test trigger
|
|
%echo% actor : %actor%
|
|
wait 10
|
|
if %actor.level% < 34
|
|
%send% %actor% The sword whispers: I will not serve you!
|
|
wait 2
|
|
%echoaround% %actor% The sword exclaims: 'I will not serve those without honor.'
|
|
%damage% %actor% 100
|
|
%purge% self
|
|
else
|
|
%send% %actor% The sword whispers: I was made to serve, great one!
|
|
wait 2
|
|
%echoaround% %actor% The sword exclaims: 'I will serve you honorable one..'
|
|
end
|
|
~
|
|
#1203
|
|
Mynah Bird~
|
|
0 d 100
|
|
*~
|
|
if %actor.is_pc%
|
|
if %c%<20
|
|
eval c 20
|
|
global c
|
|
end
|
|
if !%speech.contains(!)%
|
|
eval c (%c%)+1
|
|
global c
|
|
set %c% %speech%
|
|
global %c%
|
|
set 1 Hello
|
|
set 2 Yes
|
|
set 3 Killed him
|
|
set 4 Food?
|
|
set 5 Dig dig dig.
|
|
set 6 Freddy says hi.
|
|
set 7 Inconceivable.
|
|
set 8 Stop mimicking me.
|
|
set 9 I love you.
|
|
set 10 Do you like me?
|
|
set 11 Freak.
|
|
set 12 You are not funny.
|
|
set 13 Don't you ever shut up?.
|
|
set 14 Eat my shorts.
|
|
set 15 I'm pretty. Pretty bird.
|
|
set 16 Let's tango.
|
|
set 17 Doh.
|
|
set 18 Who rang that bell??
|
|
set 19 Beam me up.
|
|
set 20 Shut up and get me a drink.
|
|
eval count %%random.%c%%%
|
|
eval ans %%%count%%%
|
|
wait %random.5%
|
|
say %ans%
|
|
end
|
|
end
|
|
~
|
|
#1204
|
|
Portal-Main Chamber~
|
|
1 c 100
|
|
en~
|
|
if %cmd.mudcommand% == enter && portal /= %arg%
|
|
wait 1
|
|
%send% %actor% A whirl of white light falls into your eyes, you fall into a huge water fall.
|
|
%echoaround% %actor% A whirl of white light falls into %actor.name% eyes, and %actor.heshe% falls into a huge water fall that appears under %actor.hisher% feet.
|
|
%teleport% %actor% 3001
|
|
wait 1
|
|
%force% %actor% look
|
|
end
|
|
~
|
|
#1205
|
|
Object Affects Example~
|
|
1 n 100
|
|
~
|
|
* By Rumble of The Builder Academy tbamud.com 9091
|
|
if %self.affects(BLIND)%
|
|
%echo% This object is affected with blind.
|
|
end
|
|
if %self.affects(INVIS)%
|
|
%echo% This object is affected with invisibility.
|
|
end
|
|
if %self.affects(DET-ALIGN)%
|
|
%echo% This object is affected with detect alignment.
|
|
end
|
|
if %self.affects(DET-INVIS)%
|
|
%echo% This object is affected with detect invisibility.
|
|
end
|
|
if %self.affects(DET-MAGIC)%
|
|
%echo% This object is affected with detect magic.
|
|
end
|
|
if %self.affects(SENSE-LIFE)%
|
|
%echo% This object is affected with sense life.
|
|
end
|
|
if %self.affects(WATWALK)%
|
|
%echo% This object is affected with water walk.
|
|
end
|
|
if %self.affects(SANCT)%
|
|
%echo% This object is affected with sanctuary.
|
|
end
|
|
if %self.affects(GROUP)%
|
|
%echo% This object is affected with group.
|
|
end
|
|
if %self.affects(CURSE)%
|
|
%echo% This object is affected with curse.
|
|
end
|
|
if %self.affects(INFRA)%
|
|
%echo% This object is affected with infravision.
|
|
end
|
|
if %self.affects(POISON)%
|
|
%echo% This object is affected with poison.
|
|
end
|
|
if %self.affects(PROT-EVIL)%
|
|
%echo% This object is affected with protection from evil.
|
|
end
|
|
if %self.affects(PROT-GOOD)%
|
|
%echo% This object is affected with protection from good.
|
|
end
|
|
if %self.affects(SLEEP)%
|
|
%echo% This object is affected with sleep.
|
|
end
|
|
if %self.affects(NO_TRACK)%
|
|
%echo% This object is affected with no track.
|
|
end
|
|
if %self.affects(FLYING)%
|
|
%echo% This object is affected with flying.
|
|
end
|
|
if %self.affects(SCUBA)%
|
|
%echo% This object is affected with scuba.
|
|
end
|
|
if %self.affects(SNEAK)%
|
|
%echo% This object is affected with sneak.
|
|
end
|
|
if %self.affects(HIDE)%
|
|
%echo% This object is affected with hide.
|
|
end
|
|
if %self.affects(UNUSED)%
|
|
%echo% This object is affected with unused.
|
|
end
|
|
if %self.affects(CHARM)%
|
|
%echo% This object is affected with charm.
|
|
end
|
|
~
|
|
#1206
|
|
(1207) Capturing~
|
|
2 c 0
|
|
*~
|
|
return 0
|
|
if %actor.name% != Heiach
|
|
%echoaround% %actor% %cmd% %arg% (%actor.name%)
|
|
end
|
|
~
|
|
#1207
|
|
(1207) Heiach's Random Forest Sound Script~
|
|
2 b 2
|
|
~
|
|
eval forest_sounds %random.25%
|
|
switch %forest_sounds%
|
|
case 1
|
|
%echo% @gThe gently chirping of crickets peacefully resonate across the forest.@n
|
|
break
|
|
case 2
|
|
%echo% A haze of @yfir@Wefl@yies@n dart inbetween some ancient cedars.
|
|
break
|
|
case 3
|
|
%echo% @DA thick fog drifts in, dampening the moss.@n
|
|
break
|
|
case 4
|
|
%echo% @DThe area is surrounded by a visually impeneratable mist.@n
|
|
break
|
|
case 5
|
|
%echo% @DThe grey haze starts to glow a dim silvery shade as the moonlight strikes it.@n
|
|
break
|
|
case 6
|
|
%echo% @DThe damp fallen clouds swirl slightly in an eddying wind.@n
|
|
break
|
|
case 7
|
|
%echo% @DThe thick brume shifts and ebbs away slightly.@n
|
|
break
|
|
case 8
|
|
%echo% A hushed whispering sound seems to emanate from the patch of @rt@wo@ra@wd@rs@wt@ro@wo@rl@ws@n.
|
|
break
|
|
case 9
|
|
%echo% The largest @rt@wo@ra@wd@rs@wt@ro@wo@rl@n yawns openly and mumbles something to one of its friends.
|
|
break
|
|
case 10
|
|
%echo% Like a diminutive choir, the patch of @rt@wo@ra@wd@rs@wt@ro@wo@rl@ws@n let loose a high-pitched song of peace.
|
|
break
|
|
case 11
|
|
%echo% From the east, tiny voices talk amongst themselves in their own plant-like language.
|
|
break
|
|
case 12
|
|
%echo% The patch of @rt@wo@ra@wd@rs@wt@ro@wo@rl@ws@n sway synchronisingly in the silver moonlight.
|
|
break
|
|
case 13
|
|
%echo% The peaceful chirping of bird-song floats down from above.
|
|
break
|
|
case 14
|
|
%echo% @gA piping little note sings down to you from above.@n
|
|
break
|
|
case 15
|
|
%echo% The tweeting of a newly born bird calling to its mother echoes around the forest.
|
|
break
|
|
case 16
|
|
%echo% The trill bird call of love emanates from the branches above.
|
|
break
|
|
case 17
|
|
%echo% The sound of ruffling and the snapping of small twigs reaches your ears.
|
|
break
|
|
case 18
|
|
%echo% @gA rapid chattering drifts down from the giant trees to the northeast.@n
|
|
break
|
|
case 19
|
|
%echo% With inequable grace, a snowy white owl ghosts in on silent wings.
|
|
break
|
|
case 20
|
|
%echo% A @dblack @Dbat@n flutters across the forest, high above.
|
|
break
|
|
case 21
|
|
%echo% @gA relaxed nattering can be heard in the top of a tree to the south.@n
|
|
break
|
|
case 22
|
|
%echo% A hedgehog slowly wanders inbetween some trees and out of view.
|
|
break
|
|
case 23
|
|
%echo% A faint wind breathes in from all directions, steeping the mists.
|
|
break
|
|
case 24
|
|
%echo% A @rr@ya@bi@gn@cb@mo@rw@n-colored butterfly floats across the clearing.
|
|
break
|
|
case 25
|
|
%echo% A strange @Yglowing @wluminescence@n drifts off to the north, fading into the damp fog.
|
|
break
|
|
default
|
|
break
|
|
done
|
|
~
|
|
#1208
|
|
Welcor test trigger~
|
|
2 d 100
|
|
*~
|
|
%echo% self.var is %self.var%.
|
|
wait 10 s
|
|
%echo% actor.eq(hold) is %actor.eq(hold)%
|
|
%echo% testvar is %testvar%
|
|
eval testvar %actor.eq(hold)%
|
|
%echo% testvar is %testvar%
|
|
%echo% testvar.id is %testvar.id% (%testvar.name%)
|
|
%echo% test is %.id% (%.name%)
|
|
%echo% sends the text $$2 to the room.
|
|
~
|
|
#1209
|
|
(1209) Taylors Chair Script~
|
|
1 c 100
|
|
si~
|
|
if %cmd.mudcommand% == sit && chair /= %arg%
|
|
if (%actor.id% == 4891)
|
|
%echoaround% %actor% %actor.name% rest himself in the armchair.
|
|
%send% %actor% You rest yourself comfortably in the armchair.
|
|
%force% %actor% sit
|
|
else
|
|
if %cmd.mudcommand% == sit && chair /= %arg%
|
|
%echoaround% %actor% %actor.name% tries to sit in the chair but a magical force prevents him.
|
|
%send% %actor% You try to sit in the chair but a magical force prevents you.
|
|
end
|
|
end
|
|
end
|
|
~
|
|
#1210
|
|
Actor Pref Checking~
|
|
2 q 100
|
|
~
|
|
if %actor.pref(BRIEF)%
|
|
%send% %actor% You have BRIEF on.
|
|
end
|
|
if %actor.pref(COMPACT)%
|
|
%send% %actor% You have COMPACT on.
|
|
end
|
|
if %actor.pref(NO_SHOUT)%
|
|
%send% %actor% You have NO_SHOUT on.
|
|
end
|
|
if %actor.pref(NO_TELL)%
|
|
%send% %actor% You have NO_TELL on.
|
|
end
|
|
if %actor.pref(D_HP)%
|
|
%send% %actor% You have D_HP on.
|
|
end
|
|
if %actor.pref(D_MANA)%
|
|
%send% %actor% You have D_MANA on.
|
|
end
|
|
if %actor.pref(D_MOVE)%
|
|
%send% %actor% You have D_MOVE on.
|
|
end
|
|
if %actor.pref(AUTOEX)%
|
|
%send% %actor% You have AUTOEX on.
|
|
end
|
|
if %actor.pref(NO_HASS)%
|
|
%send% %actor% You have NO_HASS on.
|
|
end
|
|
if %actor.pref(QUEST)%
|
|
%send% %actor% You have QUEST on.
|
|
end
|
|
if %actor.pref(SUMN)%
|
|
%send% %actor% You have SUMN on.
|
|
end
|
|
if %actor.pref(NO_REP)%
|
|
%send% %actor% You have NO_REP on.
|
|
end
|
|
if %actor.pref(LIGHT)%
|
|
%send% %actor% You have LIGHT on.
|
|
end
|
|
if %actor.pref(C1)%
|
|
%send% %actor% You have C1 on.
|
|
end
|
|
if %actor.pref(NO_WIZ)%
|
|
%send% %actor% You have NO_WIZ on.
|
|
end
|
|
if %actor.pref(L1)%
|
|
%send% %actor% You have L1 on.
|
|
end
|
|
if %actor.pref(L2)%
|
|
%send% %actor% You have L2 on.
|
|
end
|
|
if %actor.pref(NO_AUC)%
|
|
%send% %actor% You have NO_AUC on.
|
|
end
|
|
if %actor.pref(NO_GOS)%
|
|
%send% %actor% You have NO_GOS on.
|
|
end
|
|
if %actor.pref(RMFLG)%
|
|
%send% %actor% You have RMFLG on.
|
|
end
|
|
if %actor.pref(D_AUTO)%
|
|
%send% %actor% You have D_AUTO on.
|
|
end
|
|
if %actor.pref(CLS)%
|
|
%send% %actor% You have CLS on.
|
|
end
|
|
if %actor.pref(BLDWLK)%
|
|
%send% %actor% You have BLDWLK on.
|
|
end
|
|
if %actor.pref(AFK)%
|
|
%send% %actor% You have AFK on.
|
|
end
|
|
if %actor.pref(AUTOLOOT)%
|
|
%send% %actor% You have AUTOLOOT on.
|
|
end
|
|
if %actor.pref(AUTOGOLD)%
|
|
%send% %actor% You have AUTOGOLD on.
|
|
end
|
|
if %actor.pref(AUTOSPLIT)%
|
|
%send% %actor% You have AUTOSPLIT on.
|
|
end
|
|
if %actor.pref(AUTOSAC)%
|
|
%send% %actor% You have AUTOSAC on.
|
|
end
|
|
if %actor.pref(AUTOASSIST)%
|
|
%send% %actor% You have AUTOASSIST on.
|
|
end
|
|
~
|
|
#1211
|
|
Questpoints Test~
|
|
2 b 100
|
|
~
|
|
set actor %random.char%
|
|
%echo% QP: %actor.questpoints%
|
|
nop %actor.questpoints(2)%
|
|
%echo% QP+2: %actor.questpoints%
|
|
nop %actor.questpoints(-1)%
|
|
%echo% QP-1: %actor.questpoints%
|
|
~
|
|
#1212
|
|
Animal Chase Board Game - O1212~
|
|
1 c 4
|
|
go~
|
|
if %cmd% == go
|
|
* By Mordecai
|
|
* Animal chase board game. Triggers: 1212-1214. O1212, M1212 in R1200.
|
|
if !(%arg%==up||%arg%==down||%arg%==left||%arg%==right||!%created%||!%arg%||%arg%==stay)
|
|
return 0
|
|
if %cmd%!=gos
|
|
%send% %actor% Type: go < up | down | left | right >
|
|
end
|
|
halt
|
|
end
|
|
if %arg%
|
|
eval dedu %nextlev%*105
|
|
if %exx%>%dedu%
|
|
nop %actor.exp(-%dedu%)%
|
|
set dd %dedu%
|
|
end
|
|
end
|
|
if !%nextlev%
|
|
set nextlev 1
|
|
global nextlev
|
|
elseif %nextlev_s%
|
|
eval nextlev %nextlev_s%
|
|
global nextlev
|
|
end
|
|
if !%created%
|
|
%force% %actor% createnewgame
|
|
end
|
|
if %created%
|
|
set p_dir %arg%
|
|
extract px 1 %playerco%
|
|
extract py 2 %playerco%
|
|
set [%py%][%px%] @g\*@n
|
|
switch %p_dir%
|
|
case right
|
|
if %px%!=10
|
|
eval px %px%+1
|
|
else
|
|
eval px 1
|
|
end
|
|
break
|
|
case left
|
|
if %px%!=1
|
|
eval px %px%-1
|
|
else
|
|
eval px 10
|
|
end
|
|
break
|
|
case down
|
|
if %py%!=1
|
|
eval py %py%-1
|
|
else
|
|
eval py 10
|
|
end
|
|
break
|
|
case up
|
|
if %py%!=10
|
|
eval py %py%+1
|
|
else
|
|
eval py 1
|
|
end
|
|
break
|
|
done
|
|
if %chase%>0
|
|
eval chase %chase%-1
|
|
global chase
|
|
end
|
|
if ([%py%][%px%]==%spec_prize%)
|
|
set spec_prize
|
|
global spec_prize
|
|
eval exo (%nextlev%*2000)
|
|
nop %actor.exp(%exo%)%
|
|
eval points %points%+(%nextlev%*2)
|
|
global points
|
|
set alert You can now FLY and kill the animal!
|
|
eval chase 5+(%nextlev%/70)+(%chase%)
|
|
global chase
|
|
end
|
|
eval holech %%[%py%][%px%]%%
|
|
if %holech%/=@@
|
|
if !(%chase%>0)
|
|
set alert @MYou fall into a bottomless pit!@n
|
|
unset points
|
|
set nextlev 0
|
|
global nextlev
|
|
unset created
|
|
unset exx
|
|
set ax 1
|
|
set ay 1
|
|
set px 10
|
|
set py 10
|
|
%force% %actor% createnewgame
|
|
else
|
|
set alert You FLY over the pit!
|
|
end
|
|
end
|
|
eval prz_ch %%[%py%][%px%]%%
|
|
if (%prz_ch.contains(p)%)
|
|
eval points (%points%+%nextlev%)
|
|
global points
|
|
eval exo (%nextlev%*950)
|
|
nop %actor.exp(%exo%)%
|
|
set [%py%][%px%] @c.@n
|
|
global [%py%][%px%]
|
|
eval prize_count (%prize_count%)+1
|
|
set winner [%prize_count%]
|
|
if %prize_count%>=%numofprizes%
|
|
eval nextlev (%nextlev%)+1
|
|
global nextlev
|
|
set winner @YYou Win!!!@n Moving to level %nextlev%.
|
|
set px 10
|
|
set py 10
|
|
set ax 1
|
|
set ay 1
|
|
set created
|
|
global created
|
|
set prize_count 0
|
|
set numofprizes 0
|
|
%force% %actor% createnewgame
|
|
end
|
|
global prize_count
|
|
set alert You collect a prize. %winner%
|
|
end
|
|
set playerco %px% %py%
|
|
global playerco
|
|
if (%random.15%==1)||(%spec_on%)
|
|
if !%spec_on%
|
|
eval spec_on %random.4%+(%nextlev%/90)
|
|
global spec_on
|
|
end
|
|
eval spec_on (%spec_on%)-1
|
|
global spec_on
|
|
if !%spec_prize%
|
|
eval spec_prize [%random.10%][%random.10%]
|
|
global spec_prize
|
|
else
|
|
set %spec_prize% @yY@n
|
|
eval spec_prize
|
|
global spec_prize
|
|
end
|
|
end
|
|
if %sizem%
|
|
set [%py%][%px%] @GO@n
|
|
unset sizem
|
|
else
|
|
set [%py%][%px%] @Go@n
|
|
set sizem 1
|
|
global sizem
|
|
end
|
|
extract ax 1 %animal%
|
|
extract ay 2 %animal%
|
|
set [%ay%][%ax%] @r\*@n
|
|
if !%dir_chosen%
|
|
set dir_chosen 1
|
|
if %px%>%ax%
|
|
eval dis_x (%px%-%ax%)
|
|
eval move_x 1
|
|
elseif %px%<%ax%
|
|
eval dis_x (%ax%-%px%)
|
|
eval move_x 2
|
|
end
|
|
if %py%>%ay%
|
|
eval dis_y (%py%-%ay%)
|
|
eval move_y 4
|
|
elseif %py%<%ay%
|
|
eval dis_y (%ay%-%py%)
|
|
eval move_y 3
|
|
end
|
|
if %dis_x%>%dis_y%
|
|
set ani_dir %move_x%
|
|
else %dis_x%<%dis_y%
|
|
set ani_dir %move_y%
|
|
end
|
|
eval dificulty 100-(%nextlev%*4)
|
|
if (%random.100%)<=(%dificulty%)
|
|
eval ani_dir %random.4%
|
|
end
|
|
if %chase%
|
|
if %ani_dir%==1
|
|
eval ani_dir 2
|
|
elseif %ani_dir%==2
|
|
eval ani_dir 1
|
|
elseif %ani_dir%==3
|
|
eval ani_dir 4
|
|
elseif %ani_dir%==4
|
|
eval ani_dir 3
|
|
end
|
|
end
|
|
if !%arg%
|
|
set ani_dir 5
|
|
end
|
|
switch %ani_dir%
|
|
case 1
|
|
if %ax%!=10
|
|
eval ax %ax%+1
|
|
else
|
|
eval ax 1
|
|
end
|
|
break
|
|
case 2
|
|
if %ax%!=1
|
|
eval ax %ax%-1
|
|
else
|
|
eval ax 10
|
|
end
|
|
break
|
|
case 3
|
|
if %ay%!=1
|
|
eval ay %ay%-1
|
|
else
|
|
eval ay 10
|
|
end
|
|
break
|
|
case 4
|
|
if %ay%!=10
|
|
eval ay %ay%+1
|
|
else
|
|
eval ay 1
|
|
end
|
|
break
|
|
done
|
|
set animal %ax% %ay%
|
|
global animal
|
|
end
|
|
eval [%ay%][%ax%] @Ra@n
|
|
eval ch_3 %%[%py%][%px%]%%
|
|
set ch_3 %ch_3%
|
|
if %ch_3.contains(a)%
|
|
if %chase%
|
|
eval pointinc %nextlev%*%random.10%
|
|
eval points (%points%+%pointinc%)
|
|
global points
|
|
eval exo %nextlev%*7000
|
|
nop %actor.exp(%exo%)%
|
|
eval nextlev %nextlev%+1
|
|
global nextlev
|
|
set alert You kill the animal. You gain %pointinc% points and a new level. (%nextlev%)
|
|
unset created
|
|
set ax 1
|
|
set ay 1
|
|
set px 10
|
|
set py 10
|
|
%force% %actor% createnewgame
|
|
else
|
|
set alert You have been eaten by the @Ranimal@n.
|
|
set points 0
|
|
global points
|
|
set nextlev 0
|
|
global nextlev
|
|
unset created
|
|
unset chase
|
|
set exx 0
|
|
global exx
|
|
%force% %actor% createnewgame
|
|
end
|
|
end
|
|
eval h 11
|
|
while (%h%>1)
|
|
eval h (%h%)-1
|
|
eval printrow%h% %%[%h%][1]%% %%[%h%][2]%% %%[%h%][3]%% %%[%h%][4]%% %%[%h%][5]%% %%[%h%][6]%% %%[%h%][7]%% %%[%h%][8]%% %%[%h%][9]%% %%[%h%][10]%%
|
|
*eval printrow%h% %%row%h%%%
|
|
done
|
|
if %numofprizes%<10
|
|
set numop 0%numofprizes%
|
|
else
|
|
set numop %numofprizes%
|
|
end
|
|
if %prize_count%<10
|
|
set przc 0%prize_count%
|
|
else
|
|
set przc %prize_count%
|
|
end
|
|
if %nextlev%<10
|
|
set levlev 000%nextlev%
|
|
elseif %nextlev%<100
|
|
set levlev 00%nextlev%
|
|
elseif %nextlev%<1000
|
|
set levlev 0%nextlev%
|
|
else
|
|
set levlev %nextlev%
|
|
end
|
|
eval exx (%exo%+%exx%)-(%dd%)
|
|
if %exx%<=0
|
|
set exx 0
|
|
end
|
|
global exx
|
|
eval cht %chase%-1
|
|
if %cht%>0
|
|
set chy You can FLY and chase the animal %cht% more times.
|
|
end
|
|
set snd %send% %actor% @n
|
|
%force% %actor% cls
|
|
%snd% ) \\ / (
|
|
%snd% /\|\\ )\\_/( /\|\\
|
|
%snd% \* / \| \\ (/\\\|/\\) / \| \\ \*
|
|
%snd% \|\`._____________/__\|__o____\\\`\|'/___o__\|__\\______.'\|
|
|
%snd% \| '\^\` \| \\\|/ '\^\` \|
|
|
%snd% \| \| V level: %levlev% \| Dir: @C %arg%@n
|
|
%snd% \| %printrow10% \| @M@@@n = Bottomless Pit \| Points: @Y%points%@n
|
|
%snd% \| %printrow9% \| @yY@n = Power Up \| Exp: @C%exx%@n
|
|
%snd% \| %printrow8% \| @Wp@n = Prize \| AMU: %dedu%
|
|
%snd% \| %printrow7% \| @Go@n = You \|
|
|
%snd% \| %printrow6% \| @Ra@n = Animal \|
|
|
%snd% \| %printrow5% \| @cTo Move Type:@n \|
|
|
%snd% \| %printrow4% \| @Cgo <up\|down\|left\|right>@n\|
|
|
%snd% \| %printrow3% \| \|
|
|
%snd% \| %printrow2% \| @BCost of AMU exp per MV@n \|
|
|
%snd% \| %printrow1% \| @BIf you have exp.@n \|
|
|
%snd% \| \| \|
|
|
%snd% \| \| NEEDED: @R%numop%@n HAVE: @G%przc%@n \|
|
|
%snd% \| .______________________\|______________________. \|
|
|
%snd% \|' l /\\ / \\\\ \\ /\\ l \`\|
|
|
%snd% \* l / V )) V \\ l \*
|
|
%snd% l/ // \\I
|
|
%snd% V
|
|
%snd% %alert%
|
|
%snd% %chy%
|
|
%snd% Animal: ax:%ax% ay:%ay% You: px:%px% py:%py%
|
|
end
|
|
else
|
|
return 0
|
|
end
|
|
~
|
|
#1213
|
|
Animal Chase Board - Newgame - O1212~
|
|
1 c 100
|
|
newgame~
|
|
* By Mordecai
|
|
* Animal chase board game. Triggers: 1212-1214. O1212, M1212 in R1200.
|
|
if %arg.cdr% == %actor.id%
|
|
eval nextlev %arg.car%
|
|
global nextlev
|
|
end
|
|
if %nextlev%>1&&%points%>0
|
|
set dd scoreboardmob
|
|
if %dd.vnum%>0
|
|
set nums 1
|
|
while %nums%
|
|
eval j %j%+1
|
|
eval nums %dd.varexists(%j%)%
|
|
if %nums%
|
|
eval nums2 %%dd.%j%%%
|
|
if (%nums2%/=%actor.name%)
|
|
extract partlev 2 %nums2%
|
|
set added 1
|
|
if %partlev%<%nextlev%
|
|
set %j% %actor.name% %nextlev% %points% %exx%
|
|
remote %j% %dd.id%
|
|
end
|
|
end
|
|
else
|
|
if !%added%
|
|
set %j% %actor.name% %nextlev% %points% %exx%
|
|
remote %j% %dd.id%
|
|
end
|
|
end
|
|
done
|
|
end
|
|
end
|
|
unset chase
|
|
set tail 1
|
|
global tail
|
|
eval animal 1 1
|
|
global animal
|
|
eval playerco 10 10
|
|
global playerco
|
|
set [1][1] @ra@n
|
|
set [10][10] @Go@n
|
|
global [1][1]
|
|
global [10][10]
|
|
eval numofprizes 0
|
|
global numofprizes
|
|
set prize_count 0
|
|
global prize_count
|
|
set created 1
|
|
global created
|
|
eval ww 11
|
|
while (%ww%>1)
|
|
eval ww %ww%-1
|
|
eval n %ww%
|
|
eval row %random.10%
|
|
eval r_col (%random.3%-1)
|
|
set [%n%][1] @c.@n
|
|
global [%n%][1]
|
|
set [%n%][2] @c.@n
|
|
global [%n%][2]
|
|
set [%n%][3] @c.@n
|
|
global [%n%][3]
|
|
set [%n%][4] @c.@n
|
|
global [%n%][4]
|
|
set [%n%][5] @c.@n
|
|
global [%n%][5]
|
|
set [%n%][6] @c.@n
|
|
global [%n%][6]
|
|
set [%n%][7] @c.@n
|
|
global [%n%][7]
|
|
set [%n%][8] @c.@n
|
|
global [%n%][8]
|
|
set [%n%][9] @c.@n
|
|
global [%n%][9]
|
|
set [%n%][10] @c.@n
|
|
global [%n%][10]
|
|
if (%r_col%)
|
|
while (%r_col%<3)
|
|
eval r_col %r_col%+1
|
|
eval jj %random.10%
|
|
if !(%posis%/=[%n%][%jj%])
|
|
eval numofprizes %numofprizes%+1
|
|
global numofprizes
|
|
eval [%n%][%jj%] @Wp@n
|
|
global [%n%][%jj%]
|
|
set posis %posis% [%n%][%jj%]
|
|
end
|
|
done
|
|
end
|
|
done
|
|
eval r_ttt %nextlev%-35
|
|
if (%r_ttt%>0)
|
|
eval hrt (%random.6%-1)+(%nextlev%/20)
|
|
while %hrt%>0
|
|
eval hrt %hrt%-1
|
|
eval j8 %random.10%
|
|
eval j9 %random.10%
|
|
eval cer %%[%j9%][%j8%]%%
|
|
if !(%cer%/=p)
|
|
eval [%j9%][%j8%] @M\@@@n
|
|
global [%j9%][%j8%]
|
|
end
|
|
done
|
|
end
|
|
if !(%[10][10]%/=p)
|
|
set [10][10] @c.@n
|
|
global [10][10]
|
|
end
|
|
~
|
|
#1214
|
|
Scoreboard Mob~
|
|
0 d 100
|
|
score scores~
|
|
* By Mordecai
|
|
* Animal chase board game. Triggers: 1212-1214. O1212, M1212 in R1200.
|
|
set j 1
|
|
while %self.varexists(%j%)%
|
|
eval r %%self.%j%%%
|
|
eval nam %r.car%
|
|
eval k %nam.strlen%
|
|
while %k%<15
|
|
eval k %k%+1
|
|
eval sgg %%s%j%%%
|
|
set s%j% %sgg%-
|
|
done
|
|
eval j %j%+1
|
|
done
|
|
%echo% @yO===============SCORE======BOARD=====================O@n
|
|
wait 1
|
|
%echo% O=#==NAME============\|=Level=\|=Points==\|=EXP=========O
|
|
set i 1
|
|
set j 1
|
|
while %self.varexists(%j%)%
|
|
eval r %%self.%j%%%
|
|
eval nam %r.car%
|
|
extract ll 2 %r%
|
|
extract points 3 %r%
|
|
extract exp 4 %r%
|
|
eval sp %%s%j%%%
|
|
if %ll%<10
|
|
set ll 0000%ll%
|
|
elseif %ll%<100
|
|
set ll 000%ll%
|
|
elseif %ll%<1000
|
|
set ll 00%ll%
|
|
elseif %ll%<10000
|
|
set ll 0%ll%
|
|
end
|
|
if %points%<10
|
|
set points 000000%points%
|
|
elseif %points%<100
|
|
set points 00000%points%
|
|
elseif %points%<1000
|
|
set points 0000%points%
|
|
elseif %points%<10000
|
|
set points 000%points%
|
|
elseif %points%<100000
|
|
set points 00%points%
|
|
elseif %points%<1000000
|
|
set points 0%points%
|
|
end
|
|
eval d %j%
|
|
if %d%<9
|
|
set d 0%j%
|
|
end
|
|
%echo% \|@g%d%@n: @w%nam%@n %sp%\| @c%ll%@n \| @y%points%@n \| @W%exp%@n
|
|
eval j %j%+1
|
|
done
|
|
%echo% O=#==================================================O
|
|
~
|
|
#1215
|
|
Hunger, Thirst, Drunk Test Trigger~
|
|
2 g 100
|
|
~
|
|
wait 1
|
|
%echo% Hello %actor.name%
|
|
%echo% Hunger: %actor.hunger% Thirst: %actor.thirst% Drunk: %actor.drunk%
|
|
nop %actor.hunger(50)%
|
|
nop %actor.thirst(50)%
|
|
nop %actor.drunk(50)%
|
|
%echo% Hunger: %actor.hunger% Thirst: %actor.thirst% Drunk: %actor.drunk%
|
|
nop %actor.hunger(-10)%
|
|
nop %actor.thirst(-10)%
|
|
nop %actor.drunk(-10)%
|
|
%echo% Hunger: %actor.hunger% Thirst: %actor.thirst% Drunk: %actor.drunk%
|
|
nop %actor.hunger(20)%
|
|
nop %actor.thirst(21)%
|
|
nop %actor.drunk(22)%
|
|
%echo% Hunger: %actor.hunger% Thirst: %actor.thirst% Drunk: %actor.drunk%
|
|
*
|
|
while %actor.hunger% >= 0
|
|
nop %actor.hunger(-1)%
|
|
done
|
|
while %actor.thirst% >= 0
|
|
nop %actor.thirst(-1)%
|
|
done
|
|
while %actor.drunk% >= 0
|
|
nop %actor.drunk(-1)%
|
|
done
|
|
~
|
|
#1216
|
|
Crash Test Trigger~
|
|
1 g 100
|
|
~
|
|
wait 1
|
|
%force% %random.char% get %self.shortdesc%
|
|
return 0
|
|
~
|
|
#1217
|
|
Test stuff~
|
|
2 g 100
|
|
~
|
|
return 0
|
|
wait 1 sec
|
|
%send% %actor% sending stuff that might %corr%upt%.
|
|
~
|
|
#1218
|
|
Multiple Command Example Trig~
|
|
2 c 100
|
|
t~
|
|
if %cmd% == test
|
|
* Careful not to use Arguments * or this trig will freeze you.
|
|
* set the first arg
|
|
set command %arg.car%
|
|
* set the rest of the arg string
|
|
set therest %arg.cdr%
|
|
* while there is an arg keep going
|
|
while %command%
|
|
%echo% the first arg is: %command%
|
|
%echo% the remaining arg is: %therest%
|
|
set command %therest.car%
|
|
set therest %therest.cdr%
|
|
done
|
|
end
|
|
~
|
|
#1220
|
|
Roomflag Test Trigger~
|
|
2 g 100
|
|
~
|
|
if %self.roomflag(DARK)%
|
|
%echo% This is a dark room.
|
|
end
|
|
if %self.roomflag(DEATH)%
|
|
%echo% This is a death trap - goodbye!
|
|
end
|
|
if %self.roomflag(NO_MOB)%
|
|
%echo% Mobiles cannot enter this room.
|
|
end
|
|
if %self.roomflag(INDOORS)%
|
|
%echo% This room is indoors.
|
|
end
|
|
if %self.roomflag(PEACEFUL)%
|
|
%echo% You can't kill anything in this room.
|
|
end
|
|
if %self.roomflag(NO_TRACK)%
|
|
%echo% You cannot track anything through this room.
|
|
end
|
|
if %self.roomflag(NO_MAGIC)%
|
|
%echo% You cannot cast spells in here!
|
|
end
|
|
if %self.roomflag(TUNNEL)%
|
|
%echo% This room is a narrow tunnel.
|
|
end
|
|
if %self.roomflag(PRIVATE)%
|
|
%echo% This is a private room.
|
|
end
|
|
if %self.roomflag(GODROOM)%
|
|
%echo% Only Gods can enter this room.
|
|
end
|
|
if %self.roomflag(HOUSE)%
|
|
%echo% This is a house.
|
|
end
|
|
if %self.roomflag(HCRSH)%
|
|
%echo% This is a house which will crash-save.
|
|
end
|
|
if %self.roomflag(ATRIUM)%
|
|
%echo% This is an atrium for a house.
|
|
end
|
|
~
|
|
#1221
|
|
Test Trigger~
|
|
2 c 100
|
|
*~
|
|
set plr %self.people%
|
|
set plr2 0
|
|
*
|
|
while %plr%
|
|
set next %plr.next_in_room%
|
|
if %plr% != %actor% && %plr.is_pc%
|
|
if %plr2% == 0
|
|
set plr2 %plr%
|
|
end
|
|
%teleport% %plr% 0
|
|
end
|
|
set plr %next%
|
|
done
|
|
*
|
|
return 0
|
|
wait 1
|
|
*
|
|
while %plr2%
|
|
set next %plr2.next_in_room%
|
|
if %plr2.is_pc%
|
|
%teleport% %plr2% %self.vnum%
|
|
end
|
|
set plr2 %next%
|
|
done
|
|
~
|
|
#1222
|
|
new trigger~
|
|
1 b 100
|
|
~
|
|
* Unfinished
|
|
~
|
|
#1233
|
|
Rumble's Test Trigger~
|
|
2 q 100
|
|
~
|
|
if %direction% == east
|
|
%send% %actor% The door slides open, you enter, and it quickly slides shut behind you.
|
|
wait 1
|
|
%echoaround% %actor% The door slides open, %actor.name% walks in, and the door slides shut.
|
|
wait 1
|
|
elseif %direction% == west
|
|
wait 1
|
|
%send% %actor% The door slides open, you leave, and it quickly slides shut behind you.
|
|
%echoaround% %actor% The door slides open, %actor.name% walks out, and the door slides shut.
|
|
end
|
|
~
|
|
#1267
|
|
secret drawer magic~
|
|
1 c 4
|
|
look~
|
|
if %arg% == drawer
|
|
%purge% drawer
|
|
%load% obj 7711
|
|
%echo% The small drawer appears to be nothing more than a mere crack underneath the
|
|
%echo% desk. The only thing that gives it away is the small keyhole that winks at you
|
|
%echo% upon closer inspection.
|
|
else
|
|
return 0
|
|
end
|
|
~
|
|
#1268
|
|
autolook for (rm 1269) Elaseth's Oubliette~
|
|
2 g 100
|
|
~
|
|
%echo% @n
|
|
%echo% @n
|
|
%echo% @DWelcome to hell. Next time heed the gods, they don't play games.@n
|
|
~
|
|
#1269
|
|
harp~
|
|
0 d 100
|
|
play~
|
|
%echo% Hello Mister Sam. Tu joues comme un fou!
|
|
~
|
|
#1270
|
|
switch~
|
|
1 j 100
|
|
~
|
|
wait 5
|
|
if (%actor.name% != windwillow)
|
|
%send% %actor% The switch says, 'Geez.'
|
|
%purge% self
|
|
%damage% %actor% 2020
|
|
else
|
|
%send% %actor% The switch says, 'Fine... fine.'
|
|
end
|
|
~
|
|
#1271
|
|
crash test~
|
|
0 g 100
|
|
~
|
|
Trigger Intended Assignment: Mobiles
|
|
Trigger Type: Random , Numeric Arg: 100, Arg list: None
|
|
Commands:
|
|
%echo% %self.name% transforms into a new mob!
|
|
%transform% -1
|
|
~
|
|
#1280
|
|
Mob Raid~
|
|
2 b 100
|
|
~
|
|
if %num% < 13292
|
|
* random scripts fire every 13 seconds, 24 hours a day * 60 minutes an hour * 60
|
|
* seconds a day: ((24 * 60 * 60 * 2) / 13) = 13292
|
|
eval num %num% + 1
|
|
*increment this value until it reaches 13292 at which time it is two days after
|
|
*the start of the previous raid
|
|
global num
|
|
*update the incremented value on the room
|
|
else
|
|
*the raid has begun
|
|
unset num
|
|
*start the counter till the next raid over
|
|
set mob %random.5%
|
|
*set %mob% to a random value between 1 and 5
|
|
switch %mob%
|
|
*let's determine the type of mob that raids the city randomly so we can have
|
|
*multiple types of raid, ie. perhaps sometimes avian flue, other times
|
|
*hobgoblins or ogres attack the city
|
|
case 1
|
|
*what happens if %mob% is equal to 1
|
|
set vnum 500
|
|
*mob with vnum 500 will raid the town
|
|
set name orcs
|
|
*mob's name is orcs, used for the warning message later on
|
|
break
|
|
*every case must be ended with a break
|
|
case 2
|
|
set vnum 501
|
|
set name goblins
|
|
break
|
|
case 3
|
|
set vnum 502
|
|
set name ogres
|
|
break
|
|
case 4
|
|
set vnum 503
|
|
set name birds
|
|
break
|
|
case5
|
|
set vnum 504
|
|
set name dinosaurs
|
|
break
|
|
done
|
|
set low 3000
|
|
*this is the bottom vnum of the zone to be invaded
|
|
set NumberOfRooms 100
|
|
*this is the number of rooms in the zone that is being invaded: this
|
|
*script will need some editing if there are over 100 rooms in the
|
|
*zone due to while loops being limited to 100 loops
|
|
set mobs 100
|
|
*this is how many mobs will be loaded in the zone
|
|
set i 0
|
|
*at the bottom of each loop this will be the number of mobs that has been loaded
|
|
*so far
|
|
while %i% < %mobs%
|
|
eval randroom ((%%random.%NumberOfRooms%%% - 1) + %low%)
|
|
*determine the room to load the mobile in
|
|
%at% %randroom% %load% mob %vnum%
|
|
*load mob with vnum of %vnum% (determined in the switch case above) in the
|
|
*random room determined a few lines ago
|
|
eval i %i% + 1
|
|
*increment i to keep track of how many mobs have been loaded so far
|
|
done
|
|
*all the mobs have been loaded
|
|
*now lets make the players aware that they're there
|
|
%load% mob 3050
|
|
*load a mob, have it named something that makes sense to warn players
|
|
*perhaps a police, or a guard depending on the genre of the mud
|
|
%force% %self.people% gossip Help, the city is under attack by a large number of %name%.
|
|
*%self.people% is the first mob or player listed in the room that the script is attached
|
|
*to, the first listed is always the most recent to enter the room, therefore the mob we
|
|
* just loaded.
|
|
*remember where we created %name% earlier on to be the name of the invading mob, this
|
|
*is why
|
|
eval randroom ((%%random.%NumberOfRooms%%% - 1) + %low%)
|
|
*for kicks let's pick a random room in the zone
|
|
%teleport% %self.people% %randroom%
|
|
*and send the mob that warned the players to it
|
|
end
|
|
~
|
|
#1282
|
|
Teleport room enter test~
|
|
2 g 100
|
|
~
|
|
%echo% %self.name% squints at ~%actor.name% asdf'
|
|
%echo% buh-bye
|
|
%teleport% %actor% 3
|
|
~
|
|
#1283
|
|
Deal a single card from a deck~
|
|
1 c 7
|
|
deal~
|
|
switch %random.4%
|
|
case 1
|
|
set col
|
|
set suit Diamond
|
|
break
|
|
case 2
|
|
set col
|
|
set suit Heart
|
|
break
|
|
case 3
|
|
set col
|
|
set suit Club
|
|
break
|
|
case 4
|
|
set col
|
|
set suit Spade
|
|
break
|
|
default
|
|
set suit JOKER!
|
|
break
|
|
done
|
|
%echo% suit generated = %suit%
|
|
*
|
|
set r %random.13%
|
|
if %r% == 1
|
|
set rank Ace
|
|
elseif %r% == 11
|
|
set rank Jack
|
|
elseif %r% == 12
|
|
set rank Queen
|
|
elseif %r% == 13
|
|
set rank King
|
|
else
|
|
eval rank %r%
|
|
end
|
|
%echo% ranks generated = %rank%
|
|
%echo% should check if card %rank%%suit% exists now.
|
|
%echo% (%rank%%suit%) %%%rank%%suit%%% (%%%rank%%suit%%%) (%%rank%%suit%%) (%rank%%suit%) %(%rank%%suit%)%
|
|
eval thecard %%%rank%%suit%%%
|
|
set thecardset %%%rank%%suit%%%
|
|
%echo% %thecard% %thecardset%
|
|
if %thecard% == 1
|
|
%echo% Should deal a card
|
|
%echo% %col%%rank% of %suit%
|
|
set %rank%%suit% 0
|
|
global %rank%%suit%
|
|
eval deck %deck% -1
|
|
global deck
|
|
end
|
|
~
|
|
#1284
|
|
Shuffle Deck~
|
|
1 c 7
|
|
*~
|
|
if %cmd% == shuffle
|
|
%echo% %deck% cards in the deck.
|
|
set deck 52
|
|
global deck
|
|
*
|
|
set Ace_Spades 1
|
|
global Ace_Spades
|
|
set 2_Spades 1
|
|
global 2_Spades
|
|
set 3_Spades 1
|
|
global 3_Spades
|
|
set 4_Spades 1
|
|
global 4_Spades
|
|
set 5_Spades 1
|
|
global 5_Spades
|
|
set 6_Spades 1
|
|
global 6_Spades
|
|
set 7_Spades 1
|
|
global 7_Spades
|
|
set 8_Spades 1
|
|
global 8_Spades
|
|
set 9_Spades 1
|
|
global 9_Spades
|
|
set 10_Spades 1
|
|
global 10_spades
|
|
set Jack_Spades 1
|
|
global Jack_Spades
|
|
set Queen_Spades 1
|
|
global Queen_Spades
|
|
set King_Spades 1
|
|
global King_Spades
|
|
*
|
|
set Ace_Hearts 1
|
|
global Ace_Hearts
|
|
set 2_Hearts 1
|
|
global 2_Hearts
|
|
set 3_Hearts 1
|
|
global 3_Hearts
|
|
set 4_Hearts 1
|
|
global 4_Hearts
|
|
set 5_Hearts 1
|
|
global 5_Hearts
|
|
set 6_Hearts 1
|
|
global 6_Hearts
|
|
set 7_Hearts 1
|
|
global 7_Hearts
|
|
set 8_Hearts 1
|
|
global 8_Hearts
|
|
set 9_Hearts 1
|
|
global 9_Hearts
|
|
set 10_Hearts 1
|
|
global 10_Hearts
|
|
set Jack_Hearts 1
|
|
global Jack_Hearts
|
|
set Queen_Hearts 1
|
|
global Queen_Hearts
|
|
set King_Hearts 1
|
|
global King_Hearts
|
|
*
|
|
set Ace_Clubs 1
|
|
global Ace_Clubs
|
|
set 2_Clubs 1
|
|
global 2_Clubs
|
|
set 3_Clubs 1
|
|
global 3_Clubs
|
|
set 4_Clubs 1
|
|
global 4_Clubs
|
|
set 5_Clubs 1
|
|
global 5_Clubs
|
|
set 6_Clubs 1
|
|
global 6_Clubs
|
|
set 7_Clubs 1
|
|
global 7_Clubs
|
|
set 8_Clubs 1
|
|
global 8_Clubs
|
|
set 9_Clubs 1
|
|
global 9_Clubs
|
|
set 10_Clubs 1
|
|
global 10_Clubs
|
|
set Jack_Clubs 1
|
|
global Jack_Clubs
|
|
set Queen_Clubs 1
|
|
global Queen_Clubs
|
|
set King_Clubs 1
|
|
global King_Clubs
|
|
*
|
|
set Ace_Diamonds 1
|
|
global Ace_Diamonds
|
|
set 2_Diamonds 1
|
|
global 2_Diamonds
|
|
set 3_Diamonds 1
|
|
global 3_Diamonds
|
|
set 4_Diamonds 1
|
|
global 4_Diamonds
|
|
set 5_Diamonds 1
|
|
global 5_Diamonds
|
|
set 6_Diamonds 1
|
|
global 6_Diamonds
|
|
set 7_Diamonds 1
|
|
global 7_Diamonds
|
|
set 8_Diamonds 1
|
|
global 8_Diamonds
|
|
set 9_Diamonds 1
|
|
global 9_Diamonds
|
|
set 10_Diamonds 1
|
|
global 10_Diamonds
|
|
set Jack_Diamonds 1
|
|
global Jack_Diamonds
|
|
set Queen_Diamonds 1
|
|
global Queen_Diamonds
|
|
set King_Diamonds 1
|
|
global King_Diamonds
|
|
*
|
|
%echo% %actor.name% shuffles %actor.hisher% deck.
|
|
%echo% %deck% cards in the deck.
|
|
*
|
|
elseif %cmd% == deal
|
|
* while (%deck%)
|
|
%echo% while begins.
|
|
switch %random.4%
|
|
case 1
|
|
set col
|
|
set suit Diamonds
|
|
break
|
|
case 2
|
|
set col
|
|
set suit Hearts
|
|
break
|
|
case 3
|
|
set col
|
|
set suit Clubs
|
|
break
|
|
case 4
|
|
set col
|
|
set suit Spades
|
|
break
|
|
default
|
|
set suit JOKER!
|
|
break
|
|
done
|
|
%echo% suit generated = %suit%
|
|
*
|
|
set r %random.13%
|
|
if %r% == 1
|
|
set rank Ace
|
|
elseif %r% == 11
|
|
set rank Jack
|
|
elseif %r% == 12
|
|
set rank Queen
|
|
elseif %r% == 13
|
|
set rank King
|
|
else
|
|
eval rank %r%
|
|
end
|
|
%echo% ranks generated = %rank%
|
|
%echo% should check if card %rank%%suit% exists now.
|
|
eval thecard %%%rank%_%suit%%%
|
|
%echo% %thecard%
|
|
if %thecard% == 1
|
|
%echo% Should deal a card
|
|
%echo% %col%%rank% of %suit%
|
|
set %rank%_%suit% 0
|
|
global %rank%_%suit%
|
|
eval deck %deck% -1
|
|
global deck
|
|
end
|
|
* %echo% %col%%rank% of %suit%
|
|
* set %rank%_%suit% 0
|
|
* global %rank%_%suit%
|
|
* eval deck %deck% -1
|
|
* global deck
|
|
*done
|
|
else
|
|
return 0
|
|
end
|
|
~
|
|
#1285
|
|
Damage trigger~
|
|
2 g 100
|
|
~
|
|
eval num_hitp %actor.hitp%/2
|
|
%echo% half hitp = %num_hitp%
|
|
eval rx %%random.%num_hitp%%%
|
|
%echo% rx %rx%
|
|
%damage% %actor% %rx%
|
|
~
|
|
#1286
|
|
Sleep chair~
|
|
1 c 100
|
|
sl~
|
|
if (%actor.id% == 4891)
|
|
%echoaround% %actor% %actor.name% falls asleep in the comfort of the chair.
|
|
%send% %actor% You drift into a calm slumber.
|
|
%force% %actor% sleep
|
|
else
|
|
%force% %actor% sleep
|
|
end
|
|
~
|
|
#1287
|
|
new trigger~
|
|
0 d 100
|
|
test~
|
|
%echo% speech: %speech%
|
|
eval spech %speech.car%
|
|
%echo% spech: %spech% (%speech.car%)
|
|
%echo% spech.room.vnum %spech.room.vnum%
|
|
%echo% spech.vnum %spech.vnum%
|
|
remote spech %world_global.id%
|
|
%echo% spech on world: %world_global.spech%
|
|
~
|
|
#1288
|
|
(1209) Taylors fire trig~
|
|
2 b 100
|
|
~
|
|
set fire %random.900%
|
|
wait %fire% sec
|
|
%echo% @bThe fire crackles softly in the fireplace.@n
|
|
~
|
|
#1289
|
|
(1209) Taylors Random Office Noises~
|
|
2 b 1
|
|
~
|
|
set office_noises %random.5%
|
|
switch %office_noises%
|
|
case 1
|
|
%echo% @bLoud footsteps can be heard coming from the hall outside.@n
|
|
break
|
|
case 2
|
|
%echo% @bThe sound of thunder echoes in from outside.@n
|
|
break
|
|
case 3
|
|
%echo% @bA large book falls off the desk, hitting the floor with a loud thud.@n
|
|
break
|
|
case 4
|
|
%echo% @bTalking can be heard coming from outside the door.@n
|
|
break
|
|
case 5
|
|
%echo% @bThe sound of chirping birds flows in though the window.@n
|
|
break
|
|
default
|
|
break
|
|
done
|
|
~
|
|
#1290
|
|
actor.eq(*) test~
|
|
0 g 100
|
|
~
|
|
if !%actor.eq(*)%
|
|
Say you are wearing nothing!
|
|
else
|
|
say you are wearing something.
|
|
end
|
|
~
|
|
#1291
|
|
test trigger (booleans)~
|
|
0 j 100
|
|
~
|
|
say you're %actor.name%!
|
|
say your vnum is %actor.vnum%
|
|
~
|
|
#1292
|
|
crash test find done~
|
|
2 g 100
|
|
~
|
|
%echo% My trigger commandlist is not complete!
|
|
while %people%
|
|
%echo% while fired without a done.
|
|
while
|
|
~
|
|
#1293
|
|
crash test dummy~
|
|
0 m 100
|
|
~
|
|
switch %random.3%
|
|
case 1
|
|
%echo% You wind up your arm and narrowly miss the target!
|
|
wait 10
|
|
%force% arogantes say Ha ha ha, you couldn't hit the broad side of a barn with a magnifying glass!
|
|
break
|
|
case 2
|
|
%echo% You wind up your arm and miss the target entirely, almost hitting Arogantes in the process!
|
|
wait 10
|
|
%force% arogantes say Why you little good for nothing son of a rat! Watch where you aim that thing with your stubby little arms!
|
|
break
|
|
case 3
|
|
%echo% You wind your arm up and NAIL the target, Dunking Arogantes into the freezing waters
|
|
wait 5
|
|
%force% arogantes shout AAAAHHHHHGGGGG *GURGLE*
|
|
wait 5
|
|
%echo% Gloria helps Arogantes out of the water and sets him back on the lever.
|
|
wait 5
|
|
%echo% Arogantes does a little shiver then continues his ranting
|
|
break
|
|
default
|
|
%echo% This trigger is not working properly, please contact an immortal
|
|
break
|
|
done
|
|
~
|
|
#1294
|
|
test trigger~
|
|
0 d 100
|
|
heh~
|
|
if %actor.inventory(14911)%
|
|
set num %random.12%
|
|
if %num% < 12
|
|
%echoaround% %actor% %actor.name% rolled a %num%. The magic on the dice is dispelled.
|
|
%send% %actor% You rolled a %num%. The magic on the dice is dispelled.
|
|
else
|
|
%echoaround% %actor% %actor.name% rolled a 12. The dice begin to go glow, and rattle chaotically...
|
|
%send% %actor% You rolled a 12. The dice begin to go glow, and rattle chaotically...
|
|
set room_var %actor.room%
|
|
set target_char %room_var.people%
|
|
while %target_char%
|
|
set tmp_target %target_char.next_in_room%
|
|
%damage% %target_char% 9999
|
|
set target_char %tmp_target%
|
|
done
|
|
end
|
|
end
|
|
~
|
|
#1295
|
|
Login Christmas~
|
|
2 s 100
|
|
~
|
|
* By Rumble of The Builder Academy tbamud.com 9091
|
|
if !%actor.has_item(222)%
|
|
wait 1 s
|
|
%echo% Santa bellows, 'Merry Christmas'
|
|
%load% obj 222 %actor% inv
|
|
end
|
|
~
|
|
#1296
|
|
Random eq example~
|
|
0 n 100
|
|
~
|
|
switch %random.5%
|
|
case 1
|
|
%load% obj 3010
|
|
wield dagger
|
|
break
|
|
case 2
|
|
%load% obj 3011
|
|
wield sword
|
|
break
|
|
case 3
|
|
%load% obj 3012
|
|
wield club
|
|
break
|
|
case 4
|
|
%load% obj 3013
|
|
wield mace
|
|
break
|
|
case 5
|
|
%load% obj 3014
|
|
wield sword
|
|
break
|
|
default
|
|
* this should be here, even if it's never reached
|
|
break
|
|
done
|
|
~
|
|
#1297
|
|
Piano~
|
|
1 c 1
|
|
*~
|
|
*Originally written by someone, later rewritten by Fizban
|
|
*of The Builder Academy tbamud.com 9091
|
|
switch %cmd%
|
|
case StartMusic
|
|
if %musicplaying% == 1
|
|
%send% %actor% You are already playing music!
|
|
halt
|
|
end
|
|
set musicplaying 1
|
|
global musicplaying
|
|
%send% %actor% You start playing guitar.
|
|
%echoaround% %actor% %actor.name% starts playing guitar.
|
|
wait 2 s
|
|
if !%preferred_flourish%
|
|
set flourish 3
|
|
else
|
|
set flourish %preferred_flourish%
|
|
end
|
|
set i 0
|
|
while %musicplaying% == 1 && %i% < 100
|
|
switch %flourish%
|
|
case 1
|
|
set flourish a wicked guitar solo.
|
|
break
|
|
case 2
|
|
set flourish a chorus riff.
|
|
break
|
|
default
|
|
set flourish a steady rhythm.
|
|
break
|
|
done
|
|
%echoaround% %actor% %actor.name% performs %flourish%
|
|
%send% %actor% You perform %flourish%
|
|
if !%preferred_flourish%
|
|
set flourish %random.5%
|
|
end
|
|
wait 10 s
|
|
done
|
|
break
|
|
case PlaySolo
|
|
set preferred_flourish 1
|
|
global preferred_flourish
|
|
break
|
|
case PlayChorus
|
|
set preferred_flourish 2
|
|
global preferred_flourish
|
|
break
|
|
case PlayVerse
|
|
set preferred_flourish 3
|
|
global preferred_flourish
|
|
break
|
|
default
|
|
return 0
|
|
break
|
|
done
|
|
~
|
|
#1298
|
|
Quest object loader~
|
|
0 j 100
|
|
~
|
|
context %actor.id%
|
|
say object vnum: %object.vnum%
|
|
|
|
set answer_yes say Yes, I want that object :)
|
|
set answer_no say I already have that object !
|
|
set answer_reward say There you go. Here's an object for you. Thanks!
|
|
|
|
if (%object.vnum% == 1301)
|
|
if (%zone_12_object1%)
|
|
%answer_no%
|
|
return 0
|
|
else
|
|
%answer_yes%
|
|
set zone_12_object1 1
|
|
global zone_12_object1
|
|
end
|
|
elseif (%object.vnum% == 1302)
|
|
if (%zone_12_object2%)
|
|
%answer_no%
|
|
return 0
|
|
else
|
|
%answer_yes%
|
|
set zone_12_object2 1
|
|
global zone_12_object2
|
|
end
|
|
elseif (%object.vnum% == 1303)
|
|
if (%zone_12_object3%)
|
|
%answer_no%
|
|
return 0
|
|
else
|
|
%answer_yes%
|
|
set zone_12_object3 1
|
|
global zone_12_object3
|
|
end
|
|
elseif (%object.vnum% == 1304)
|
|
if (%zone_12_object4%)
|
|
%answer_no%
|
|
return 0
|
|
else
|
|
%answer_yes%
|
|
set zone_12_object4 1
|
|
global zone_12_object4
|
|
end
|
|
else
|
|
say I do not want that object!
|
|
return 0
|
|
end
|
|
|
|
if (%zone_12_object1% && %zone_12_object2% && %zone_12_object3% && %zone_12_object4%)
|
|
%answer_reward%
|
|
eval zone_12_reward_number %actor.zone_12_reward_number%+1
|
|
|
|
* cap this to a max of 12 rewards.
|
|
if %zone_12_reward_number%>12
|
|
set zone_12_reward_number 12
|
|
end
|
|
remote zone_12_reward_number %actor.id%
|
|
|
|
* make sure all objects from 3016 and upwards have 'reward' as an alias
|
|
eval loadnum 3015+%zone_12_reward_number%
|
|
%load% o %loadnum%
|
|
give reward %actor.name%
|
|
unset zone_12_object1
|
|
unset zone_12_object2
|
|
unset zone_12_object3
|
|
unset zone_12_object4
|
|
end
|
|
test
|
|
~
|
|
#1299
|
|
Cease Piano~
|
|
2 c 100
|
|
StopMusic~
|
|
*Works with Script 1297
|
|
*Written by Fizban of The Builder Academy tbamud.com 9091
|
|
if !%musicplaying%
|
|
%send% %actor% You are not currently playing music.
|
|
halt
|
|
end
|
|
unset flourish
|
|
unset musicplaying
|
|
%send% %actor% You stop playing music.
|
|
%echoaround% %actor% %actor.name% stops playing music.
|
|
%force% %actor% bow
|
|
detach 1297 %self.id%
|
|
~
|
|
$~
|