Wimborne Wasps
OQL Rulebook
Home
Roster
League Standings
OQL Rulebook
Downloads
Coach's Corner
Forums
Seeker Stats
Chaser Stats
Keeper Stats
Beater Stats

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:

  • Hitting the quaffle to a player who is approached.

  • Holding for 5 seconds.

    List of all commands:

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.

  • Hitting a ref or an area of a person's body that the Refs find unacceptable

    List of all commands:

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 }