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
// <swing>  skill command for swords only

int command() {
    object *obj;
    object at;
    int i, dam;

    i=sizeof(obj=this_player()->query_wielding());
    if(!i) return notify_fail("You must be wielding a sword to swing.\n");
    while (i--) {
        if(obj[i]->query_type()=="sword") {
            at=this_player()->query_current_attacker();
            message("skill", "You take a wild swing with your "+obj[i]->query_name()+".", this_player());
            message("skill", this_player()->query_cap_name()+" takes a wild swing with "+this_player()->query_his_her()+" "+obj[i]->query_name()+".",environment(this_player()),({this_player(), at}));
            if(at) {
                message("skill", "You swing at "+at->query_cap_name()+".", this_player());
                message("skill", this_player()->query_cap_name()+" takes a wild swing at you with "+this_player()->query_his_her()+" "+obj[i]->query_name()+".", at);
                if(random(this_player()->query_skill_level("attack"))<random(at->query_skill_level("defense"))) dam=0;
                else dam=obj[i]->query_wc();
                this_player()->set_special(1);
                this_player()->set_special_damage(dam);
                this_player()->set_combat_special(({
                    "You take a wild swing and hit "+at->query_cap_name()+".", 
                    "You get hit with a wild swing from "+this_player()->query_cap_name()+".",
                    this_player()->query_cap_name()+" hits with "+this_player()->query_his_her()+" swing."
                  }));
                if (dam>0) {
                   this_player()->use_skill("sword",(dam<100?dam/4:25));
                   this_player()->use_skill("attack",(dam<100?dam/4:25));
                } else {
                   at->use_skill("defense", 10);
                }
            }
            return 1;
        }
    }
    return notify_fail("You must be wielding a sword to swing.\n");
}

string help() {
    return "Syntax: swing\n\nThis skill command allows the user (when wielding a sword and in combat) to take a wild swing at his or her enemy.";
}