new_legacy.This is an old revision of the document!
| Development Lifespan | October 2017 - 2023 |
|---|---|
| Initial Release | October 2017 |
| Game Engine | Gamemaker 8.1 |
| Developer | Mooshimity Ltd. |
Brick Hill Legacy is a mainline client originally released in October 2017 by brick-luke as a result of the whole codebase rewrite. Alongside with the client release, the mainline release also had its new Workshop (updates has ended in 2018) with the Host executables (was later replaced with Node Hill in 2020), all written in GameMaker 8.1 (late legacy clients were updated via GameMaker 8.2 Project1)2) ).
Released Features
- Optimized Set loading (2021 (middle?) and later)
- Brick Physics (Late 2017 & 2021 and later)
- Health bar (2019 and later)
- Projectiles (2019? and later)
Unused or removed features
Figures
- (Late 2017, removed around 2018-2019)
Figures are simplified Roblox packages, originally meant to change your avatar fundamentally. The first and the last figure “Patient Zero” was released in the 2017 Brick Hill Halloween event. It is unknown about its implementation in the Brick Hill Legacy client.
Scripts
Scripting as a feature became a part of Brick Hill ever since Role Block. Scripting support for GML has been abandoned (and got changed with JavaScript) due to technical difficulties supporting it on Node Hill.
Brick Stickers
- (?, found in Legacy Workshop source code in
load_filescript)
Like in Roblox, Brick Stickers4) were supposed to work as Decals. Despite the obj_brick having such options with the possibility to assign the images via Brick Parameters the game's code will never get to draw the stickers, due to such code being cut off in draw_brick script of Legacy Workshop. Possibly removed due to technical difficulties.
Set structure changes
Before Brick Hill Legacy
Before the October 2017 Release, Brick Hill has used the pre-legacy format of defining sets, for example:
[environment] ambient=ffffff baseplate=100 ground=19d900 [bricks] " brick1=" 0 0 0 100 100 0 2392627 1 1 " brick2=" 6 -2 0 1 1 4 0 1 1 " brick3=" 1 -2 4 12 3 0 7757887 1 1
Where “ brickX=” is for brick names, 0 0 0 are for X,Y,Z position, 100 100 0 are for X,Y,Z scale, 2392627 is GameMaker raw color, 1 1 are for transparency and shape. Additionally, you may also add the Brick Model as an additional parameter which can be read by load_bricks script and can be even drawn in the pre-Legacy Workshop, though it requires URL patching because of Brick Hill Beta site (as of first11 ) API connection.
After the rewrite
As it has been said earlier, clients, hosts and workshops (Legacy workshop still accepts the pre-legacy format in a form of convertation) made after October 2017 are accepting a new Set structure, for example (double slash comments must be removed):
B R I C K W O R K S H O P V0.2.0.0 // Workshop version
// Environment //
0 0 0 // Ambient color
0.14 0.51 0.20 1 // first three numbers are for Ground Color, the "1" at the end is for Ground transparency
0.49 0.70 0.90 // Sky color
100 // Baseplate size
400 // Sun intensity
// Bricks //
-12 3 -6 4 4 4 0.87 0 0.05 1 //X,Y,Z position; X,Y,Z scale; R,G,B color; Brick transparency
+NAME brick0 // Brick Attributes
+SCRIPT obj_item.Model = '566eb526'; // GML scripts were abandoned in favor of Node Hill release
+SCRIPT
+SCRIPT s = define("onClick");
+SCRIPT s.script = '
+SCRIPT var user,sword_length,sword_damage;
+SCRIPT user = arg[0];
+SCRIPT if user.Arm == user.tool[0] {
+SCRIPT sword_length = 4;
+SCRIPT sword_damage = 10;
+SCRIPT with obj_client {
+SCRIPT if(id != user) {
+SCRIPT if(alive) {
+SCRIPT if power(xPos-user.xPos,2)+power(yPos-user.yPos,2)+power((zPos+4*zScale)-(user.zPos+2.5*zScale),2) <= power(sword_length,2) {
+SCRIPT playerAddDamage(id,sword_damage);
+SCRIPT if playerGetHealth(id) <= 0 {
+SCRIPT playerKill(id);
+SCRIPT playerSetHealth(id,100);
+SCRIPT messageAll(user.name+" killed "+name);
+SCRIPT }
+SCRIPT }
+SCRIPT }
+SCRIPT }
+SCRIPT }
+SCRIPT }
+SCRIPT ';
+ROT 25 // Z rotation (SandPile accepts 3-axis rotation and Legacy Z rotation)
+SHAPE slope //Brick Shapes: slope, plate, wedge, spawnpoint, arch, corner, corner_inv, dome, bars, flag, pole, round, cylinder, round_slope, vent
+NSTICKER 1 // -
+ESTICKER 2 // |_ refer to Removed Features
+SSTICKER 3 // |
+WSTICKER 4 // -
+MODEL 412332 // Requires connection to Brick Hill API to work
+LIGHT 100 100 100 25 // Light: 100 100 100 - R,G,B Colors; 25 - Range
+COLOR 100 100 100 // Self-explanatory: R,G,B colors.
+NOCOLLISION // Disables brick collision
>TEAM brickrot // Creates a new team "brickrot" with red color.
>SLOT Sword // Creates a new item slot
Notes
NSTICKER, ESTICKER, SSTICKER and WSTICKER. Defined in new_brick script as brick.north, brick.east, brick.south and brick.west, respectively.

