The Online Quidditch League
Official Guide
Summer League: 2004
Contributors:
Saunter
Founder of Quidditch RPG (OQL)
Hawkel
Leader who played a big part in enhancing the QRPG (OQL)
Zach
Brought QRPG to MuggleNet, renamed to OQL - Founder of OQL.
Leader for a few years in QRPG
Kristus
Leader and Owner now of OQL
AND
The
OQL would like to thank the other contributors who helped shape the QRPG (leading to the OQL).
Thank you
Disclaimer:
We
are not affiliated with J.K. Rowling or Warner Bros. This was just made up for the fun and entertainment of HP fans. Do not
sue us.
Modification of Broomrider and using Reflexes is prohibited and will not be support by any of the staff.
Part I - History of the OQL. Written by Zach.
In the year 1999 a person of the name Saunter, an American
Online user, read the first book of the Harry Potter series. After reading the quidditch part, he wanted to actually play
this. So he took it to the chats of AOL. He devised up a scheme on how people would play. Using text and colors, you could
easily play the different positions the game of quidditch had to offer. Saunter had to leave, and when he did, he left the
control of the Quidditch RPG to the hands of a good friend and helper Hawkel13. Hawkel, or Hawk, was the one who really
brought the life into the Quidditch RPG. Zach was asked to join and he gladly accept. He became good friends with Hawk
and later took the title of Co-Leader of the Quidditch RPG. He lead the 2001 Quidditch RPG. It was a good success,
though in 2002 he decided to be a part time leader, though the season never took off. In 2003 he discovered the IRC Chat Server
MuggleNet. He went there asking if the Quidditch RPG could move to their servers. The staff of MuggleNet accepted.
Renaming the dead Quidditch RPG to The Online Quidditch League. It was a big sucess. IRC has a lot more to offer than
AOL. The use of actions (/me and /action) were a plus, also the built-in scripting language was a huge plus to aid in Ref
and Player programs. So now the Quidditch RPG is known as The Online Quidditch League and is played on IRC instead of AOL.
Part II - Playing the Game.
The OQL is a text based Quidditch Game played on IRC Servers. In
order to play you must have mIRC. mIRC allows you to connect an IRC Server. The OQL requires mIRC because it is the easiest to use and also because it is
needed for another program you need. That program is Broomrider, this program is written in the mIRC Scripting Language. That
is why you need mIRC.
The Game
Text Based Quidditch is played by people entering commands using
/me action. Though this can cause for very fast game play so we have made Broomrider to slowdown the input of commands. Each
position has their own commands.
Timeouts
Each team will get four (4) timeouts during a game. They can
be as long as the team captain wants, though they cannot be ridiculously long.
Fouls
Any violation of a foul will result in a penalty shot. Here is the list:
-
Everybody: Kicking off at the start of a game or timeout.
-
Everybody: Having possession of the quaffle if your not
a chaser/keeper.
-
Everybody: Abusing other people. (Verbal, Physical, Mental,
ect.)
-
Everybody: Having possession of the bludger if your not
a beater.
-
Everybody: Catching/Chasing the snitch if your not a seeker.
-
Everybody: Interrupting a penalty shot.
-
Chaser: Shooting the quaffle when you
don't have possession.
-
Chaser: Shooting the quaffle when not
approached.
-
Chaser: Passing while your approached
to a chaser who is not approached.
-
Chaser: Passing while your not approached
to a chaser who is approached.
-
Chaser: Illegal Combo (see Chaser Position
Section)
-
Beater: Hitting a bludger to a ref or
a player's personal areas.
-
Keeper: Hitting the quaffle to a teammate
who is approached.
There are a few others that are not listed, they could be called in the game
and made up for that game only. These are decided upon the High Ref.
Nickname
Your nickname will reflect your team and position that you play during the game.
Your
nickname should be Team_Initial-Nick-Position
Such as: F-Zach-Seeker - This player name is Zach, team:
Falcons, position: Seeker.
Such as: M-Drew-Keeper - This player's name is Drew, his team is Magpies and his position
is Keeper.
If you are not playing please surround your nick in [ and ].
Refs
Ref's are people who Referee the game. They make mistakes and are not always accurate.
The Head Ref of the game can overrule all. This year there is a new bot (a thing that responds to certain things) that is
called BeaterBot. It monitors the beaters, this is how specific amount of time is possible in this fast paced game.
During the game there is a Snitch, usually 2 chaser refs (one monitors the scores and stuff, the other monitors
steals and interceptions and possessions.), a high ref (who comments the game and watches the snitch/seeker), a beater
ref (rare now, this one watches over the beaters and usually comments, though since BeaterBot has appeared, this position
won't be necessary much.)
Part III - Positions.
Ok, we are now at the core of the guide, the positions section.
Chaser
Three on the field
Ok! Chaser's goal is to get the quaffle into the other teams goal posts. If made,
the shot is worth 10 points to the team who shot the quaffle into the posts. They play in the color red.
At the beginning of the game or the end of a timeout, the quaffle
is presumed dead. In order for a chaser to get the quaffle, they must type reaches, this sets the chaser to reaching
for the quaffle. After typing reaches the chaser has to type grabs. The chaser who first types grabs
(after typing reaches) will be awarded the quaffle. That chaser can do many things.
The chaser with the quaffle can approach a goal and try
to score. Approaching a goal is the command that your at the goal posts. To do this the chaser must type approaches
<left|right|center> goal. To score the chaser must shoot at the goal that he/she approached to. Using the
command shoots <left|right|center> goal, you shoot at the goal. So if you approached the right goal, you would
have to shoot at the right goal. For the quaffle to enter the goal post, the chaser has to use the score command. It
goes scores <left|right|center> goal. The chaser must score at the goal that the chaser shot at. Though
the chaser must use the score command before the Keeper of the other team uses the blocks <left|right|center>
command. If the chaser uses the scores before the keeper can block the shot, the goal is good and the chaser's team
wins 10 points.
The chaser can also do a wide variety of other things. They can
also steal and pass the quaffle. To steal, a chaser from the opposite team must type steals quaffle from
<player>. Then you would have to type steals to actually acquire the quaffle. Though if the chaser with the
quaffle shoots, moves/dodges, and/or passes. The steal is voided, meaning that you can't steal the quaffle.
For a simple block, a chaser must type moves or dodges.
A chaser can also pass the quaffle
to another teammate. To do this you type pass to <player>. For a pass to be a success the <player> must
type catches. A chaser from the opposite team can intercept the quaffle while a pass is being taken place. To do this
the player must type intercept pass and then pass before the Player catching the quaffle types catches.
Note: Passing while approached to a person who isn't
approached is a foul, vice versa.
Also, the team captain decides who should take the penalty shot.
On the 10th hit of a bludger, the chaser is out for 5 minutes.
On the 20th hit they are out for the game.
Chaser's can also use combos. Combo's are two commands combined
with and. For example if you want to grab the quaffle and approach the center goal you would type: grabs and approaches
center goal. Anything can be combined except:
-
Reaches and Grabs
-
Approach and Shoot
-
Shoot and Score
-
Intercept from <player> and Intercepts
-
Steal from <player> and steals
-
Intercepting while Keeper is throwing in.
List of all commands:
reaches |
Reaches for the quaffle |
grabs |
Grabs the quaffle |
|
|
approaches <x> goal |
Where <x> can be CENTER LEFT or RIGHT. This approaches the goal |
shoots <x> goal |
Where <x> is the goal you approached. This shoots the quaffle into the goal |
scores <x> goal |
Where <x> is the goal you shot at. This scores the point. |
|
|
steals quaffle from <player> |
This steals the quaffle from a player. |
steals |
This completes the steal. Must be done before player SHOOTS/PASSES/DODGES |
|
|
Intercepts pass |
This intercepts pass. |
intercepts |
This completes the interception. Though this must be done before the pass is caught. |
Keeper
One on the field
Ok! Keeper's goal is to block the chaser's attempt to score. Real simple, when a chaser
approaches, you must type gets ready. Though if another player approaches, you do not have to do this again, unless
the keeper's team gains possession of the ball, than all the approaches are reset. When the chaser shoots, the keeper must
type blocks {goal being shot at}. If this can be done before the chaser types scores than it's a block. After
a block/or score the keeper has possession of the quaffle. The keeper then may hit to a player on the keeper's team using
hits quaffle to {player}.
Every 15 hits taken from a bludger leaves the keeper injured for
3 minutes.
Fouls:
gets ready |
Used when a person approaches. This is required in order to block a shot. |
blocks {goal being shot at} |
Blocks the shot, Successful if the keeper uses the command before the chaser who is shooting
scores |
|
|
hits quaffle to {player} |
Hits the quaffle to a team mate. |
Beater
Two on the field
Ok, Beater's job is to hit people off their brooms with bludgers. Though this is different.
In the game, each hit is worth 2 points. After a certain number of hits to a certain position, that position is can be out
of the game or out for a few minutes. This makes the beater position very powerful now. The only two positions that can be
out for the entire game are beater and chaser. Keeper and Seeker are out for only a certain amount
of time after a certain number of hits.
For a beater to hit somebody they must Move to the bludger.
They can do this by doing: moves to the bludger. After that, the command to get the bludger is reaches bludger.
The first person to move to the bludger and reach for it gets it. The beater can now hit to a person. The command is hits
bludger at <player>. If the nick a beater wanted to hit was F-Test-Beater, than the <player> would be test.
To hit the player you must type hits <player> before that player types dodges or moves (if that
player is a chaser). After each play the bludger is dead. If a bludger is headed toward a fellow teammate, a beater of that
team could deflect the bludger. Using the command deflects bludger this is possible. The bludger is deflected and is
then dead. After a certain period of time with the bludger (not hitting it at anybody) the bludger is presumed dead. Usually
about 10 seconds.
On the 5th hit of a bludger, the beater is out for 5 minutes. On
the 15th hit they are out for the game.
moves to bludger |
Moves the beater to the bludger so the beater can reach the bludger. |
reaches bludger |
This allows a beater to acquire the bludger. |
|
|
hits bludger at {player} |
Hits the bludger at {player} |
hits {player} |
Hits the player. Must be before the {players} dodge command. |
|
|
deflects bludger |
Deflects bludger from hitting a fellow teammate. |
Seeker
One on the field
Seekers do not use Broomrider. Their job is to catch the golden snitch, upon catching
the snitches team scores 150 points.
The seekers of OQL are fast typers, to be a decent seeker you must be typing
at around 50-65 wpm (words per minute). A very good seeker types at about 73 WPM or higher. They must type fast because they
are trying to get the snitch first. Here is how the seeker catches the snitch.
Each snitch movement is around two :. So for the snitch to move
up, the snitch would have to type ::up:: the snitch is a human using a program. For the seeker to catch a snitch, the
seeker has to mimic the last three moves of the snitch then type ::catches:: before another move is made.
It must
be the 3 last moves. For example if the snitch were to move up, down, down, left, up
the seeker would only have to do down, left, up then catch the snitch.
If the
snitch went up, down, up, up, up, down, left, left, left, left, left, left and then the seeker went up,
down, up then catch, this would be invalid catch because it was the last three moves. If the seeker went up, down,
left, left, left and catch, this would be valid catch because the last 3 moves were all left.
Now
if the snitch went up, up, up, down, down, down, right and the seeker went up, down, down and then caught,
but the snitch went down before the seeker did ::catches:: the seeker would have to restart the counting again.
So in order for the seeker to catch again the seeker would have to type down, down, right then catches, not down,
right because the last down did not carry over. This is a common mistake, remember 3 moves.
The snitch appears and disappears with the moves ::appears:: and ::disappears::. The seeker does not have to copy these.
The seeker is never out of the game due to injuries by the bludger.
Every 10th hit, the seeker is out for 2 minutes.
If you have any questions about being a seeker please contact one
of the following on MuggleNet: golddragon, kristus_vesanus, aether (or zach). These were the top
three seekers in the Summer League of 2003. Each averaged around 80wpm at typing the fastest. A millisecond can decide
who wins the game.
In the Summer League of 2003, Gold and Zach faced off, Gold won
the race, he caught the snitch just milliseconds before zach did, very tight game.
Broomrider Stratus Code
Broomrider is a program written in mIRC Scripting Language. It's
main purpose is just to slow down the input of users commands so the refs and people can have more time to see and monitor
the game. This is REQUIRED. Older members, you may use older broomriders, though if you have problems or get errors
(sockets or others) please use this one.
In mIRC, press ALT+R to access the Remote editor. Go to
File then New. (If you have the choice to, select scripts). Go to File and Save As and
save it as broomrider.mrc Then copy and paste the following into the big blank window. Then click OK. If it
asks for you to save click yes if it asks if you want to load something (initialization warning, or something like
that) click yes.
dialog br_stratus {
title "Broomrider Stratus"
size -1 -1 71 101
option dbu notheme
combo 100, 2 28 66 29, sort drop
text "Position:", 2, 2 20 58 8
combo 200, 2 48 66 23, sort size drop
text "Room", 4, 2 40 58 8
edit "", 300, 0 70 71 10, autohs limit 255
button "Send", 400, 50 80 21 9, default flat ok
check "Enable PMs", 500, 36 92 34 7, left
text "Commands:", 10, 2 62 32 8
box "Alerts", 11, 0 2 70 17
text "None", 12, 2 8 66 8, nowrap
button "Exit", 9, 0 95 13 6, flat ok
}
alias -l returner { return mer $+ $md5(broom) $1 $3 $4- }
alias -l tim { . $+ $($+(ti,$returner(1,4,2,$1-)),2) }
alias -l wordlist { return timer 1 chaser beater 2 seeker keeper 3 end private 0 off 9 on 123 monitor stratus quaffle ref
7 w c f m 8 broom }
on *:DIALOG:br_stratus:*:* {
if ($devent == init && $did == 0) {
if (%_brc.pm == 0) { did -c $dname 500 } | else { did -u $dname 500 }
didtok $dname 100 32 %_brc.pos | didtok $dname 200 32 %_brc.rms | did -c $dname 200,100 1
}
elseif ($devent == sclick) {
if ($did == 400) {
if ($left($did($dname,300).text,1) == -) { .msg $did($dname,200).seltext $did($dname,300).text | did -rf $dname 300
}
elseif ($did($dname,300).text == $null) { did -rf $dname 300 | did -ra br_stratus 12 You need to enter a cmd }
else {
if ($did($dname,100).seltext == $null) { did -ra $dname 12 You must have a position selected | did -f $dname 300 |
halt }
if ($me !ison $did($dname,200).seltext) { did -ra $dname 12 You are not on $did($dname,200).seltext | did -f $dname
300 | halt }
if ($timer($md5($gettok($wordlist,$numtok($wordlist,32),32))) != $null) { did -ra $dname 12 You have a command that
is being sent. | did -f $dname 300 | halt }
did -ra br_stratus 12 Command Being Sent.
$($+(.tim),2) sequery $did($dname,200).seltext $replace($did($dname,100).seltext,chaser,4,keeper,7,beater,3) $+ $did($dname,300).text
did -rf br_stratus 300
}
}
elseif ($did == 500) { if ($did($dname,$did).status == 1) { set %_brc.pms 0 } | else { set %_brc.pms 1 } }
}
}
on *:ctcp:br:* { .ctcpreply I am using Broomrider Stratus }
on *:TEXT:*:? { if (%_brc.pms == 0) { .msg $nick I am currently away and not accepting PMs | .close -m $nick } }
alias sequery { describe $1- | $iif($dialog(br_Stratus),did -ra br_Stratus 12 You can send another command.) }
alias mer { return $1- }
alias br-reload { .unload -rs $+(",$script,") | .load -rs $+(",$script,") }
on *:UNLOAD { echo -a Unloaded | unset %_brc.* }
on *:LOAD: {
echo -a [Broomrider Stratus]: Welcome to 7Broomrider Stratus. The most up to date broomrider and easiest to use!
echo -a [Broomrider Stratus]: Making custom alias. A popup box should popup.
var %s = $null
set %_brc.pos Beater Chaser Keeper
set %_brc.rms #quidditch #oql-field #ffpractice #wwpractice #mmpractice #ccpractice
while (%s == $null) { var %s = $input(Enter a command to run Broomrider.,oesda,$active,Broomrider Command,/broom) }
var %s = $gettok(%s,1,32)
set %_brc.alias $iif($left(%s,1) == /,$right(%s,-1),%s)
echo -a [Broomrider Stratus]: Broomrider Alias now set to: / $+ %_brc.alias
echo -a [Broomrider Stratus]: Setup Complete!
}
on *:START: { echo -a [Broomrider Stratus] Now loaded! (/ $+ %_brc.alias $+ ) }
on *:INPUT:*: { if ($1 == / $+ %_brc.alias) { if (!$dialog(br_Stratus)) { dialog -m br_Stratus br_Stratus } | halt }