(function () {
A.Preverbs.swing_at = {
name: "swing_at",
prettyname: "swing",
synonyms: [],
verb_noun_prep_noun: ["swing at"],
phrase1: {
accepts_noun: true,
requires_noun: true,
noun_must_be: {
in_hands: true,
},
},
phrase2: {
accepts_noun: true,
requires_noun: true ,
noun_must_be: {
known: true,
tangible: true,
present: true,
visible: true,
},
},
doTry: function () {
var input = this.game.getInput();
var character = input.getSubject();
var verb_phrase = input.verb_phrase;
var direct_object = input.getAsset(1);
var indirect_object = input.getAsset(2);
if (false === direct_object.can.be_swung) {
var msg = "$(We) can't swing " + direct_object.articlename + ". ";
this.handleFailure(msg);
return false;
}
if (false === indirect_object.can.be_swung_at) {
var msg =
"$(We) can't swing anything at " + indirect_object.articlename + ". ";
this.handleFailure(msg);
return false;
}
return true;
},
doSuccess: function () {
var input = this.game.getInput();
var character = input.getSubject();
var verb_phrase = input.verb_phrase;
var direct_object = input.getAsset(1);
var indirect_object = input.getAsset(2);
var currentRoom = this.game.getCurrentRoom();
var msg =
"$(We) swing " +
direct_object.articlename +
" at " +
indirect_object.articlename +
", and it bounces off. ";
direct_object.incrementDoVerbCount("swing", "dov");
indirect_object.incrementDoVerbCount("swing", "iov");
this.handleSuccess(msg, direct_object);
return true;
},
};
})();