/* /lib/comp/container.c
* From the Dead Souls LPC Library
* Object inherited by all objects with inventories
* Created by Descartes of Borg 940212
* Version: @(#) container.c 1.3@(#)
* Last modified: 96/12/31
*/
#include <lib.h>
inherit LIB_LOOK_IN;
inherit LIB_ADDSTUFF;
int SetOpacity(int x){
return look_in::SetOpacity(x);
}
int GetOpacity(){
return look_in::GetOpacity();
}
int GetRadiantLight(int ambient){
int r = this_object()->GetBaseRadiance(ambient);
int o = GetOpacity();
if( o > 99 ){
if( r < 1 ){
return 0;
}
else {
int y = r / (ambient || 1);
if( y > r ){
return r;
}
else {
return y;
}
}
}
foreach(object ob in all_inventory()){
r += ob->GetRadiantLight(ambient);
}
if( ambient > 0 ){
int y;
y = (r*10)/ambient;
if( y > r ){
y = r;
}
else {
r = y;
}
}
return ( (r*(100-o))/100 );
}
int CanReceive(object ob){
return 1;
}
int CanRelease(object ob){
return 1;
}
int eventReceiveObject(object ob){
return !(!previous_object());
}
int eventReleaseObject(object ob){
return !(!previous_object());
}