merentha_fluffos_v2/
merentha_fluffos_v2/bin/
merentha_fluffos_v2/fluffos-2.9-ds2.03/
merentha_fluffos_v2/fluffos-2.9-ds2.03/ChangeLog.old/
merentha_fluffos_v2/fluffos-2.9-ds2.03/Win32/
merentha_fluffos_v2/fluffos-2.9-ds2.03/compat/
merentha_fluffos_v2/fluffos-2.9-ds2.03/compat/simuls/
merentha_fluffos_v2/fluffos-2.9-ds2.03/include/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/clone/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/command/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/data/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/etc/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/include/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/inherit/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/inherit/master/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/log/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/single/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/single/tests/compiler/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/single/tests/efuns/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/single/tests/operators/
merentha_fluffos_v2/fluffos-2.9-ds2.03/testsuite/u/
merentha_fluffos_v2/fluffos-2.9-ds2.03/tmp/
merentha_fluffos_v2/fluffos-2.9-ds2.03/windows/
merentha_fluffos_v2/lib/cfg/
merentha_fluffos_v2/lib/cfg/races/
merentha_fluffos_v2/lib/cmds/abilities/
merentha_fluffos_v2/lib/cmds/actions/
merentha_fluffos_v2/lib/cmds/spells/
merentha_fluffos_v2/lib/daemon/include/
merentha_fluffos_v2/lib/daemon/services/
merentha_fluffos_v2/lib/doc/
merentha_fluffos_v2/lib/doc/building/
merentha_fluffos_v2/lib/doc/help/classes/
merentha_fluffos_v2/lib/doc/help/general/
merentha_fluffos_v2/lib/doc/help/races/
merentha_fluffos_v2/lib/doc/help/skills/
merentha_fluffos_v2/lib/doc/help/stats/
merentha_fluffos_v2/lib/doc/man/efuns/
merentha_fluffos_v2/lib/doc/man/lfuns/
merentha_fluffos_v2/lib/doc/news/
merentha_fluffos_v2/lib/doc/old/
merentha_fluffos_v2/lib/doc/old/concepts/
merentha_fluffos_v2/lib/doc/old/lpc/constructs/
merentha_fluffos_v2/lib/doc/old/lpc/types/
merentha_fluffos_v2/lib/domains/ROOMS/
merentha_fluffos_v2/lib/domains/obj/armour/
merentha_fluffos_v2/lib/domains/obj/monsters/
merentha_fluffos_v2/lib/domains/obj/other/
merentha_fluffos_v2/lib/domains/obj/weapons/
merentha_fluffos_v2/lib/realms/petrarch/
merentha_fluffos_v2/lib/save/daemons/
merentha_fluffos_v2/lib/save/rid/
merentha_fluffos_v2/lib/save/users/a/
merentha_fluffos_v2/lib/save/users/p/
merentha_fluffos_v2/lib/save/users/t/
merentha_fluffos_v2/lib/std/login/
merentha_fluffos_v2/lib/std/obj/
merentha_fluffos_v2/win32/
// Petrarch
// Merentha Lib 1.0
// socials.c
// smile:smiles:$N smiles happily.:$N smiles happilly at $O.:$N smiles $V.

#include <std.h>

inherit DAEMON;

mapping socials=(["wink":({"winks","$N winks knowingly.","$N winks at $O.","$N winks $V."})]);

int get_message(string str) {
object env,ob;
string social, misc, you, me, them;
  if(!str) return 0;
  if(!env=environment(this_player())) return 0;
  if(sscanf(str, "%s %s", social, misc)!=2) {
    if(!socials[str]) return 0;
    them=replace_string(socials[str][1],"$N",this_player()->query_cap_name());
    me=replace_string(socials[str][1],"$N","You");
    me=replace_string(me,socials[str][0],str);
    message("emote", me, this_player());
    message("emote", them, env, this_player());
    return 1;
  }
  if(!socials[social]) return 0;
  if(ob=present(misc,env)) {
    you=replace_string(socials[social][2],"$N",this_player()->query_cap_name());
    you=replace_string(you,"$O","you");
    them=replace_string(socials[social][2],"$N",this_player()->query_cap_name());
    them=replace_string(them,"$O",ob->query_cap_name());
    me=replace_string(socials[social][2],"$N","You");
    me=replace_string(me,"$O",ob->query_cap_name());
    me=replace_string(me,socials[social][0],social);
    message("emote", me, this_player());
    message("emote", you, ob);
    message("emote", them, env, ({this_player(),ob}));
    return 1;
  }
  them=replace_string(socials[social][3],"$N",this_player()->query_cap_name());
  them=replace_string(them,"$V",misc);
  them=replace_string(them,"\n", "");
  me=replace_string(socials[social][3],"$N","You");
  me=replace_string(me,"$V",misc);
  me=replace_string(me,socials[social][0],social);
  me=replace_string(me,"\n", "");
  message("emote", me, this_player());
  message("emote", them, env, this_player());
  return 1;
}

void load_socials() {
string str, *s;
int i=0;
  while(str=read_file("/cfg/socials.o", i, 1)) {
    if(sizeof(s=explode(str,":"))==5) socials[s[0]]=s[1..4];
    i++;
  }
}

void create() {
  load_socials();
}