Oh, it wasn't exactly removed.
This is the code for it, and executes only IF the brick is found to have a light or someone uses a glitchgun nearby:
function renderBreakLight(%targetObject) {
if(%targetObject.getDatablock().getName() !$= "brickRenderLight" && %targetObject.isBroken != 1) { // can we do something about this light?
%targetObject.isBroken = 1;
%targetObject.prevLight = %targetObject.getLightID().getDatablock();
%targetObject.prevFx = %targetObject.getColorFxID();
%targetObject.setLight(0);
%targetObject.setColorFx(0);
%delay = getRandom(1800, 18000);
schedule(%delay,0,renderRestoreLight,%targetObject);
schedule(%delay,0,serverPlay3D,MapLightsOn,%targetObject.getPosition());
if(isObject(%targetObject.emitter)) { // if the target has an emitter we'll assume it's a torch or something
%targetObject.prevEmitter = %targetObject.emitter.getEmitterDatablock().getName();
%targetObject.setEmitter(0);
} else {
serverPlay3D(MapLightsOff,%targetObject.getPosition());
%targetObject.prevEmitter = 0;
}
} else {
renderAffectLight(%targetObject);
}
}
function renderAffectLight(%targetObject) {
%targetObject.prevLight = %targetObject.getLightID().getDatablock();
%targetObject.prevFx = %targetObject.getColorFxID();
%targetObject.setLight(0);
%targetObject.setColorFx(0);
if(isObject(%targetObject.emitter)) { // if the target has an emitter we'll assume it's a torch or something
%targetObject.prevEmitter = %targetObject.emitter.getEmitterDatablock().getName();
%targetObject.setEmitter(0);
} else {
%targetObject.prevEmitter = 0;
}
schedule(250,0,renderRestoreLight,%targetObject); // just flicker
}
function renderRestoreLight(%targetObject) {
%targetObject.setLight(%targetObject.prevLight);
%targetObject.setEmitter(%targetObject.prevEmitter);
%targetObject.setColorFx(%targetObject.prevFx);
if(isObject(%targetObject.emitter)) {
%targetObject.isBroken = 0;
return;
}
if(getRandom(1,3) != 1) {
schedule(100,0,renderAffectLight,%targetObject);
} else {
%targetObject.isBroken = 0;
}
}
It works like this: Only bricks with lights have their emitters removed. This was meant for torches and stuff, and also has no sound so it seems more "realistic" (Fire doesn't shatter)
RenderBreakLight is the shatter function, but will pass onto RenderAffectLight if the light is renderman-proof.
RenderAffectLight makes the light flicker by alternating between itself and RenderRestoreLight.
RenderRestoreLight does this too, basically.
I suppose you could mess with it, but I don't see why you would want to.