A Talking Weapon

// Petrarch // Talking Weapon #include <std.h> inherit WEAPON; #define MY_MSG ({"The sword humms in your hands.",\ "Your sword says: Fight fight fight, I like to fight.",\ "Your sword says: Heheh, hehehe, hehehe, lets kill Edward.",\ "Your sword says: This is utter crap, the damage we do, "\ "tell Petrarch to make me stronger.",\ "Your sword says: Hehehe, your stats suck man.",\ }) #define YOUR_MSG ({"A humming sound comes from "+env->query_cap_name()+".",\ "Someone says: Fight fight fight, I like to fight.",\ "You hear giggling.",\ "An aura appears around "+env->query_cap_name()+".",\ "You hear giggling.",\ }) void create() { ::create(); set_name("sword"); set_short("a humming sword"); set_long("The sword humms softly."); set_id(({"sword", "humming sword"})); set_properties((["magic-light":1])); /* whats this? Just a little extra feature of the sword, it will act * like a ring of light, that absorbs or emits light if it is too dark * or light for you to see */ set_mass(550); set_value(1760); set_ac(1); set_wc(16); set_hands(2); set_type("blade"); set_material(({"metal","steel"})); } void init() { ::init(); set_heart_beat(5); /* Why 5? well the sword will have 1 heartbeat for every 5 of a player */ } void heart_beat() { int x; object env; if(random(3)) return; x=random(sizeof(MY_MSG)); if(env=environment()) if(living(env)) { message("say", MY_MSG, env); message("say", YOUR_MSG , environment(env), env); } }