71 lines
1.9 KiB
C
71 lines
1.9 KiB
C
#include <lib.h>
|
|
#include <vendor_types.h>
|
|
inherit LIB_ITEM;
|
|
inherit LIB_INSTALL;
|
|
|
|
void create(){
|
|
::create();
|
|
SetKeyName("blue vial");
|
|
SetId( ({"vial"}) );
|
|
SetAdjectives( ({"small","transparent","blue","glowing"}) );
|
|
SetShort("a glowing blue vial");
|
|
SetLong("A small transparent vial filled with a glowing blue fluid.");
|
|
SetMass(10);
|
|
SetBaseCost("silver",1000);
|
|
SetMaxClones(3);
|
|
SetNoCondition(1);
|
|
SetVendorType(VT_TREASURE);
|
|
}
|
|
|
|
varargs mixed eventInstall(object what, object where, int auto){
|
|
int ret = this_object()->eventMove(where);
|
|
string wat = remove_article(where->GetShort());
|
|
if(ret){
|
|
write("You install "+GetShort()+" into the "+wat+".");
|
|
say(this_player()->GetName()+" installs "+GetShort()+" into "+
|
|
where->GetShort()+".");
|
|
return 1;
|
|
}
|
|
else {
|
|
write("You fail to install it.");
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
varargs mixed eventUninstall(object what, mixed auto){
|
|
int success;
|
|
object contenv, env = environment(this_object());
|
|
if(!env || base_name(env) != "/domains/default/obj/generator"){
|
|
write("It's not installed.");
|
|
return 0;
|
|
}
|
|
|
|
if(!env || !environment(env) || env == this_player()){
|
|
write("That doesn't seem to be installed anywhere.");
|
|
return 0;
|
|
}
|
|
|
|
contenv = environment(env);
|
|
|
|
if(contenv != this_player() && contenv != environment(this_player())){
|
|
write("That's not yours to uninstall.");
|
|
return 0;
|
|
}
|
|
|
|
success = this_object()->eventMove(this_player());
|
|
if(!success){
|
|
write("You fail to uninstall it.");
|
|
return 0;
|
|
}
|
|
else {
|
|
write("You uninstall "+GetShort()+" from "+env->GetShort()+".");
|
|
say(this_player()->GetName()+" uninstalls "+GetShort()+" from "+
|
|
possessive(this_player())+" "+env->GetShort()+".");
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
void init(){
|
|
::init();
|
|
}
|