merentha_mudos_v1/
merentha_mudos_v1/bin/
merentha_mudos_v1/lib/cfg/
merentha_mudos_v1/lib/cfg/races/
merentha_mudos_v1/lib/cmds/abilities/
merentha_mudos_v1/lib/cmds/actions/
merentha_mudos_v1/lib/cmds/spells/
merentha_mudos_v1/lib/daemon/include/
merentha_mudos_v1/lib/daemon/services/
merentha_mudos_v1/lib/doc/
merentha_mudos_v1/lib/doc/building/
merentha_mudos_v1/lib/doc/help/classes/
merentha_mudos_v1/lib/doc/help/general/
merentha_mudos_v1/lib/doc/help/races/
merentha_mudos_v1/lib/doc/help/skills/
merentha_mudos_v1/lib/doc/help/stats/
merentha_mudos_v1/lib/doc/man/efuns/
merentha_mudos_v1/lib/doc/man/lfuns/
merentha_mudos_v1/lib/doc/news/
merentha_mudos_v1/lib/doc/old/
merentha_mudos_v1/lib/doc/old/concepts/
merentha_mudos_v1/lib/doc/old/lpc/constructs/
merentha_mudos_v1/lib/doc/old/lpc/types/
merentha_mudos_v1/lib/domains/ROOMS/
merentha_mudos_v1/lib/domains/obj/armour/
merentha_mudos_v1/lib/domains/obj/monsters/
merentha_mudos_v1/lib/domains/obj/other/
merentha_mudos_v1/lib/domains/obj/weapons/
merentha_mudos_v1/lib/realms/petrarch/
merentha_mudos_v1/lib/save/daemons/
merentha_mudos_v1/lib/save/rid/
merentha_mudos_v1/lib/save/users/a/
merentha_mudos_v1/lib/save/users/p/
merentha_mudos_v1/lib/save/users/t/
merentha_mudos_v1/lib/std/login/
merentha_mudos_v1/lib/std/obj/
merentha_mudos_v1/v22.2b12m1/
merentha_mudos_v1/v22.2b12m1/ChangeLog.old/
merentha_mudos_v1/v22.2b12m1/Win32/
merentha_mudos_v1/v22.2b12m1/compat/
merentha_mudos_v1/v22.2b12m1/compat/simuls/
merentha_mudos_v1/v22.2b12m1/include/
merentha_mudos_v1/v22.2b12m1/mudlib/
merentha_mudos_v1/v22.2b12m1/testsuite/
merentha_mudos_v1/v22.2b12m1/testsuite/clone/
merentha_mudos_v1/v22.2b12m1/testsuite/command/
merentha_mudos_v1/v22.2b12m1/testsuite/data/
merentha_mudos_v1/v22.2b12m1/testsuite/etc/
merentha_mudos_v1/v22.2b12m1/testsuite/include/
merentha_mudos_v1/v22.2b12m1/testsuite/inherit/
merentha_mudos_v1/v22.2b12m1/testsuite/inherit/master/
merentha_mudos_v1/v22.2b12m1/testsuite/log/
merentha_mudos_v1/v22.2b12m1/testsuite/single/
merentha_mudos_v1/v22.2b12m1/testsuite/single/tests/compiler/
merentha_mudos_v1/v22.2b12m1/testsuite/single/tests/efuns/
merentha_mudos_v1/v22.2b12m1/testsuite/single/tests/operators/
merentha_mudos_v1/v22.2b12m1/testsuite/u/
merentha_mudos_v1/v22.2b12m1/tmp/
// 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.";
}