/* Water Brothers Guild add_actions. Called from init() of the wb_soul.c */ actions() { add_action("dest","bye"); add_action("guild","guild"); add_action("guild_score","score"); add_action("grok","grok"); add_action("life","drink"); add_action("set_pre","pre"); add_action("unghost","solidify"); } dest() { destruct(this_object()); return 1; } guild(str) { if (str!="help") return 0; write("Water Brother commands:\n"); write("----------------------\n"); write("score score and guild score\n"); write("grok understand ones opponent better\n"); write("drink water drink from the water of life\n"); write("pre set pretitle\n"); write("unghost Re-solidify after dying\n"); return 1; } life(str) { if (str!="water") { notify_fail("What ? (Maybe you should try drinking water)"); return 0; } write("You drink from the water of life. May you grok in fullness.\n"); say(this_player()->query_name()+" drinks from the water of life.\n"); return 1; } set_pre(str) { this_player()->set_pretitle(str); if (str) write("New short: "+this_player()->short()+"\n"); return 1; } unghost() { if (!this_player()->query_ghost()) return write("You aren't dead.\n"); write("You concentrate on resolidifying to a flesh form.\n"); this_player()->remove_ghost(); } grok(str) { object who; if(!str) { write("Usage: grok \n"); return 1; } if (!(who=find_player(str))) if(!(who=present(str,environment(this_player())))) who=present(str,this_player()); if (!who) { write("Could not see "+str+"\n"); return 1; } if(!living(who)) { write("You grok the "+str+"\n"); write("It likes you.\n"); return 1; } if(environment(who)!=environment(this_player())) { write("You grok "+str+" and become one with his surroundings:\n"); write(environment(who)->short()+"\n"); return 1; } write("You grok "+str+"\n"); write(capitalize(who->query_pronoun())+" is alive.\n"); write("Short: "+who->short()+"\n"); if (who->query_guild_string()=="water brother") tell_object(who,this_player()->query_name()+" groks you in fullness.\n"); return 1; } guild_score() { this_player()->score(); write("Guild score info goes here.\n"); return 1; }