Bully is a rushed surprise release from Rockstar Games that changes up the usual violent setting of their open-world games and puts players in a rather relatable high school setting where Jimmy Hopkins stands up to abusers, gets in ego-driven conflicts, and causes some mischief while also struggling against the developers who are trying to limit his speech.
It received a remaster in 2008 featuring extra content called Bully: Scholarship Edition, for Xbox 360, Wii, and PC.
Resources#
Debug Content"PLEASE STOP DELETING THIS!!"
Unused Area ContentBullworth became a very quiet town after its only music store was closed down.
Development Leftovers and OversightsA typo? In a AAA production?!
OdditiesAngie a preppie??Scripted Content#
Unused Freeroam ContentImagine going to a marker on the map, it disappears, and you wait an eternity for it to come back but nothing ever happens.
Missions#
Unused Scripts#
3_03.lur
Watch on YouTubeThe script for the scrapped mission Rendezvous.
As shown by its ID, it was going to become available in Chapter III after Bait (3_02).
It involved Jimmy helping Lola protect Tad from some greasers while they both tried to get along with each other. Despite getting cut, Lola still mentions in the intro cutscene of The Rumble that Tad is one of the boys fighting for her.
The script is really unpolished and makes no use of any of the remaining quotes in the files.
3_07.lur
The script for a scrapped Christmas mission for Chapter III.
It spawns Jimmy where his room on the removed second floor of the boys' dorm used to be, and Justin, Pedro, and Trevor on the first floor. It makes them start conversing once Jimmy gets near where the stairs used to be.
Like 3_03.lur, the script is unpolished. It doesn't use any of the remaining quotes and will crash the game as it tries to load a splash screen texture that was deleted.
Unused Missions#
Valid IDs that are registered within the game and therefore can be launched, but have no leftovers to do so properly.
Mission ID |
Notes |
|---|---|
Post_1_03 |
chap1.act calls it Post1.03_Respect Tutorial Mission. |
Scrapped Missions#
Unique IDs mentioned by various leftover files that aren't registered at all.
Mission ID |
Notes |
|---|---|
1_R01 |
Unknown. The ID indicates a replayable mission for Chapter I. |
2_SS01 |
Unknown. The ID doesn't follow any known pattern. |
2_S07 |
Chapter II side mission that would later partially reappear on Scholarship Edition as Small Offences. |
2_R04 |
Chapter II replayable mission whose few leftover files (2_R04.lur) show it was meant to be a firefighter job. |
3_03 |
Refers to Rendezvous described above. |
3_07 |
Refers to the Christmas mission described above. |
3_R05 |
One of its few leftovers (3_R05ChemicalDeliv.agr), shows it was meant for a mission called Chemical Deliveries. |
3_S08 |
Chapter III side mission that would later reappear in Scholarship Edition as Mailbox Armageddon. |
3_R07 |
It would later reappear in Scholarship Edition as The Collector. |
3_R10 |
Unknown. |
3_RM01 |
Unknown. The ID doesn't follow any known pattern, but is related to Challenges. |
4_S11 |
It was meant for a scrapped mission called The Paddle. |
Minigames#
Unused Scripts#
GraffitiCleanup.lur Watch on YouTube
An incomplete script for Graffiti Clean-up, a scrapped punishment minigame. It seems to be pretty unpolished, as the player isn't even given control.
Even then, with the absence of the removed Brush and the graffiti to clean, this would still be impossible to complete.
Replacing the Snow Shoveling minigame's script is the only way to properly launch this, as they share the same data that determines which difficulty to set.
It's possible that Snow Shoveling was scripted on top of the remnants of this.
- If Jimmy has been busted once, he and Seth will spawn at the school.
- If Jimmy has been busted twice, he and Pirate Vance will spawn in Bullworth Town.
- If Jimmy has been busted thrice, he and Pirate Vance will spawn in New Coventry.
Pirate Vance is likely not the intended ped meant for the script, his ID probably belonged to someone else earlier in development.
This script, unlike Lawn Mowing and Snow Shoveling, uses MS_PunishmentDetention for its background music, instead of MS_CarnivalFunhouseMiner.
Unused Minigames#
Valid IDs that are registered within the game and therefore can be launched, but have no leftovers to do so properly.
Minigame ID |
Notes |
|---|---|
AG_SO |
Minigames.cat calls it ARCADE - Desert Fighter. |
LunarLander |
Minigames.cat calls it ARCADE - Lunar Lander. |
MGGandG |
Minigames.cat calls it ARCADE - Grottos and Gremlins. This one in particular was mentioned in an EGM interview. |
MGNuclearRain |
Minigames.cat calls it ARCADE - Nuclear Rain. |
Scrapped Minigames#
Unique IDs mentioned by various leftover files that aren't registered at all.
Minigame ID |
Notes |
|---|---|
GarbagePunishment |
Unknown. |
Unused Content#
Wrestling Class
Wrestling was originally its own class, having 5 lessons like all the others, but only its first two are used as part of Gym Class (1 and 3, respectively), as the others launch Dodgeball sessions.
Wrestling1.lur still contains code for the remaining 3 Wrestling lessons, and can be launched with the same logic as Prep Challenge.
- The third lesson is playable by forcing the script's parameter to be 3. The player fights against the scrapped student Bob and is tasked with reversing three grapples of his, then defeating him.
Evidently, Jimmy wasn't going to have the ability to do Reversals since the beginning of the game. - The fourth lesson is playable by forcing the script's parameter to be 4. The player fights against Bob and is tasked with defeating him.
- The fifth lesson is playable by forcing the script's parameter to be 5. Same as the former, but against Luis.
- The sixth lesson (aka repeating class 5) is playable by forcing the script's parameter to be 6 or higher. It's the same as the fifth but Luis' health is slightly increased.
Wrestling 3 |
Wrestling 4 |
Wrestling 5 |
|---|---|---|
Additional information:
- The script for the third lesson seems to be incomplete since the player automatically passes if the timer runs out. Bob is scripted not to play the "knocked out" animation when completing it.
- In the fifth lesson, the intro features a unique camera angle that focuses on Luis as he plays some animations. The camera, however, is a bit too close to him.
(Source: deadpoolXYZ (Discovery))
The script is always checking if the player is inside the mat and if they're not, they're immediately reset back to the middle of the mat, among other things.
One such thing is a 13-second countdown after one second has passed since leaving it, which is impossible due to the aforementioned reset.
This will be displayed on-screen, along with a warning, once only 10 seconds are left. The class is failed once the countdown reaches 0.
Persistently trying to leave via modding allows seeing this code in action, thanks to the resetting function taking some time to execute completely.
C3.DAT contains:
- A second spawn point for the player.
- A second spawn point for the opponent.
- A spawn point for Mr. Burton.



Art Class Watch on YouTube
The unused Reversal power-up still mentioned in the instructions under the name Brush.
It reverses the player's directional input for a few seconds.
It never spawns as the script sets it with a spawn rate of 0.
C5.DAT contains:
- A spawn point for Dr. Crabblesnitch.
- Spawn points for jocks.




Boxing
Boxing.DAT contains:
- A spawn point for a prep, possibly to start the minigame.
- An eighth spawn point for the cheering crowd.


Keep-Ups
Watch on YouTube
The script for this minigame gets Jimmy's coordinates when starting it.
If he somehow happens to be near the coordinates meant for the minigame's unused second blip, in Old Bullworth Vale Gardens, it will take place there.
Every coordinate in the minigame with the exception of the camera has an equivalent of it meant for this location.
As the camera doesn't, and as such is still on the school campus, in the video here it is prevented from changing.
Unused Lua Content#
|
|
To do: |
Functions#
- BikeAddAttachment
Unknown. Might have been related to the scrapped bike customization system.
- BikeSetPadlock
When set to True for a bike, it freezes its state, which also makes the player unable to get on it, as if it was "locked".
- LockFPS30
When set to False, it unlocks the framerate of the game.
Breaks some of the in-game Quick Time Events, making them much harder, and speeds up some scripted camera movements. This is technically used after the Boxing minigame, but is set to True, even though it's never set to False to begin with.
- PedAttackCar
Makes a specified ped attack a specified car.
- PedAttackNearestCar
Similar to the previous one, but doesn't seem to work.
Globals#
The game's util.lur script initialises the shared table, containing many variables for the game's various scripts to use when needed.
Some of these ended up unused and reference scrapped or altered content.
Variable |
Initial Value |
Notes |
|---|---|---|
shared.gTeleport3R10 |
false |
Unknown. |
shared.gTeleport1R01 |
false |
Unknown. |
shared.gTeleport_3_R05 |
false |
Unknown. |
shared.gTeleport_2_R03 |
false |
Unknown. |
shared.gConversationOver_2_R03 |
false |
Unknown. |
shared.g3R10MissionState |
0 |
Unknown. |
shared.g3R10MissionHistory |
0 |
Unknown. |
shared.g3R07BikeID |
-1 |
Unknown. |
shared.gGarbagePickupStage |
1 |
Unknown. |
shared.gGoKartINTLevel |
0 |
Unknown. |
shared.g3_R05_Diff |
1 |
Unknown. |
shared.g3_R05_SuccessCount |
0 |
Unknown. |
shared.gBDormToilet |
false |
Unknown. |
shared.gUniformLegs |
"B_Pants4" |
These suggest the Crisp Jeans used to be part of Jimmy's school uniform set, as opposed to the School Slacks (S_Pants1). |
shared.gUniformFeet |
"P_Boots2" |
Same as above, but with Work Boots, as opposed to the Classic White Sneakers (P_Sneakers2). |
Miscellaneous Unused Content#
Camera Presets#
Test
Watch on YouTubeAn unused camera preset for when riding vehicles.
The camera tends to follow Jimmy from the same perspective, rather than trying to always face his back.
WaterPuzzleCam
Watch on YouTubeAn unused camera preset for a top-down perspective meant to be used in Stronghold Assault.
It was scrapped due to a layout change in the map, which can be seen in the strategy guide.
The intended use goes unused in the also-unused Test_4_02.lur script added back in Scholarship Edition.
Chapter Seven#

IDs 0-5 are all the used Chapter IDs. Higher values will reset the map to Fall and load Winter-only props as well, which is likely just the default behavior.
However, Switching to ID 6 reveals it was partially programmed, as:
- The "available tasks" menu will display "CHAPTER SEVEN : SUMMER" as the current Chapter.
Timecycle and Weather#
The game has a full 24-hour time cycle, even though Jimmy normally passes out at 2 AM and wakes up at only 8 AM. As referenced by unused text, earlier in development Jimmy was supposed to stay up all night and do some odd jobs, much like the Grand Theft Auto games.
It can be seen via glitching, modding, or, alternatively, via the following codes that prevent you from passing out at 2 AM.
EUR |
2020215C 10000029 |
|---|---|
JPN |
2020225C 10000029 |
USA |
20201C6C 10000029 |
Additionally, while not unused, the Hurricane weather can only be seen during the Snow Shoveling minigame in Chapter III, with snow. Its rainy variation is never seen.
All Chapters' timecycles and weather variations:
Chapter I
Watch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTube
Chapter II
Watch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTube
Chapter III
Watch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTube
Chapter IV
Watch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTube
Chapter V
Watch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTube
Chapter 6
Watch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTubeWatch on YouTube
(Codes: Edness)
Effects#
Watch on YouTubeEtherCloud
Unknown.
Probably related to mentions of ether in various unused quotes for Finding Johnny Vincent.
Watch on YouTubeFruitStand
Unknown.
Watch on YouTubeGraffitiGone
Unknown.
Possibly meant for the Graffiti Clean-up minigame.
Watch on YouTubeGraffitiRemoval
Unknown.
Possibly meant for the Graffiti Clean-up minigame.
Watch on YouTubeLawnmowerGrass
Unknown.
Possibly meant to be attached to the lawnmower while mowing grass, judging by the name.
Glow FX#
effects.dat in the game's Config folder contains Glow Effects settings for some of the Areas, but the following have their "ON" flag set to 0.
Setting them to 1 will enable them:
School_Hallways |
Pool |
Girls_Dorm |
|---|---|---|
![]() |
![]() |
![]() |
By the side windows, on each floor. |
In both washrooms. |
In the bathroom. |
Additionally, there are settings meant for the scrapped Boys' Dorm's bathroom and the removed Island 3 Area.
Green Corona#

ID 12 is an unused green version of the ground marker/corona.
This was likely meant for the Jobs, but those recycle the minigames' blue corona, instead.
Snowmen#

The 14 snowmen that spawn at the beginning of Chapter III are listed along with the other collectibles in Collectibles.DAT as "_COLLECTIBLE_SNOWMAN".
They might have been meant to be destroyed for a reward.
Car Passenger(s)#
|
|
To do: |
Watch on YouTubePeds can enter a vehicle from the right side and be in a unique passenger state that is normally unused.
It doesn't seem possible for a ped to enter a car as a passenger if the driver is already in, but action nodes can be used to change the driver's state to passenger and have another ped get in as the driver.

Additionally, the game allows for up to two more peds located on the back seats, though they are located too close to each other.
Results vary depending on the vehicle.
(Source: derpy54320 - Back seat peds trivia)
Replayable Errands#
Scenarios.lur, the script which handles errands, sets a "repeatable" variable, for each errand, to false.
Changing it to true allows the errand to become available again whenever possible.
This implies the developers planned to create repeatable errands.
Stats Menu Scrolling#
The Stats section of the menu is scripted via Lua and supports up to 7 more categories (before the game crashes).
Adding more than the current 5 will also display D-Pad icons corresponding to how you can scroll.
This is likely a shared logic across the whole menu, but no page has more than 5 categories to show it.
Christmas Ambience#
Several .DAT files responsible for setting ambience music to areas also account for a Christmas variation for Winter.
However, the default music is set to play in every season (PSFRW), including Winter, whereas the Christmas variation is set to play during "X", which doesn't seem to be valid.
Filename |
Notes |
|---|---|
SP_Barber.DAT |
Would have played EX_XmasTreeEmitter03.rsm. |
SP_Bike_Shop.DAT |
Would have played EX_BikeShopMX.rsm. |
SP_Comic_Shop_Rich.DAT |
Would have played EX_ComicShopMX.rsm. |
SP_GroceryStore.DAT |
Would have played EX_GeneralStoreMX.rsm. |
SP_Hair_Salon.DAT |
Would have played EX_HairSaloonRichMX.rsm. |
SP_Janitors_Room.DAT |
Would have played EX_JanitorRoomMX.rsm. |
SP_MainMap.DAT |
Would have played EX_XmasTreeEmitter03.rsm near the speaker by the academy's entrance and the Christmas tree by the town hall |
SP_Poor_Cloth.DAT |
Would have played EX_ClothingStorePoorMX.rsm. |
SP_Poor_Hair.DAT |
Would have played EX_HairSalonPoorMX.rsm. |
SP_Rich_Cloth.DAT |
Would have played EX_ClothingStoreRichMX.rsm. |
SP_Trailer.DAT |
Would have played EX_TatooTrailerMX.rsm, even though Blue Skies Industrial Park isn't accessible during Chapter III. |
Texture Oddities#
druglbl
This texture belongs to the medicine Jimmy gives to the hobo Handy during an Errand. While used, the text on it is not able to be seen clearly:
143933857-12x Take when unhappy, bored with life James Indago Refill 20 of 20 Dr. Wilbur Brunum |
gamedude
There is an early screenshot displayed on the Game Boy knockoff in the Nerds' Hideout, albeit in a very low resolution. Details like a slightly earlier design of the Bullworth students and the old walking style can be seen here. Image has been enlarged for better visibility.
Regional Differences#
Europe#
The game in European regions is called Canis Canem Edit, so almost all instances of the game's title were changed to match.
Title Screen
US/JP |
EU |
|---|---|
![]() |
![]() |
Intro Screen
US/JP |
EU |
|---|---|
![]() |
Loading Icons
|
US |
EU/JP |
|---|---|
|
|
|
The icons spell out "B-U-L-L-Y" in the US version, they were replaced with different variations of the Bullworth Academy shield in the European and Japanese versions.
Options
US |
EU |
|---|---|
![]() |
![]() |
An extra option to change language on the fly was added in the misc section of the Options menu. This did not carry over to Scholarship Edition.
Japan#
English Class
Watch on YouTubeOn the Japanese version, the player needs a much lower score (15% vs. 56%) to pass English class.
This was likely made to make it easier for players who have more limited knowledge of English.
Other Changes
|
|
This needs some investigation. |
Shop Class' bike wheel-turning Quick Time Events seem to have slightly better stick controls compared to the American and European versions of the game.
References#
|
The Bully series | |
|---|---|
|
PlayStation 2 |
|
|
Xbox 360 |
|
|
Wii |
|
|
Windows |
|
|
Android, iOS |
|







