40 lines
671 B
C
40 lines
671 B
C
#include <lib.h>
|
|
#include <dirs.h>
|
|
|
|
static object shadowed;
|
|
static object shadow_thing = this_object();
|
|
static int shadowing;
|
|
|
|
int eventShadow(object ob){
|
|
if(!shadowing){
|
|
shadowing = 1;
|
|
shadowed = ob;
|
|
ob->AddShadow(shadow_thing);
|
|
shadow(ob);
|
|
return 1;
|
|
}
|
|
else return 0;
|
|
}
|
|
|
|
mixed GetShadowed(){
|
|
return shadow(shadowed,0);
|
|
}
|
|
|
|
string GetShadowedName(){
|
|
return shadowed->GetName();
|
|
}
|
|
|
|
object GetShadowedObject(){
|
|
return shadowed;
|
|
}
|
|
|
|
int eventUnshadow(){
|
|
if(shadowed){
|
|
shadowed->RemoveShadow(shadow_thing);
|
|
}
|
|
if(shadow_thing){
|
|
return destruct(shadow_thing);
|
|
}
|
|
else return 0;
|
|
}
|