// 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."; }