@Override public boolean resolve(Combat c, Character target) { if (getSelf().human()) { c.write(getSelf(), deal(c, 0, Result.normal, target)); } else if (c.shouldPrintReceive(target)) { if (target.human() && target.is(Stsflag.blinded)) printBlinded(c); else c.write(getSelf(), receive(c, 0, Result.normal, target)); } if (!target.is(Stsflag.blinded)) { int m = 15 + Global.random(5); target.tempt(c, getSelf(), m); getSelf().add(c, new Alluring(getSelf(), 5)); } target.emote(Emotion.horny, 30); getSelf().undress(c); getSelf().emote(Emotion.confident, 15); getSelf().emote(Emotion.dominant, 15); return true; }
@Override public boolean resolve(Combat c, Character target) { if (isActive(target)) { if (getSelf().human()) { c.write( getSelf(), "Deciding she's had enough for now, you let your c**k return to its regular shape, once again permitting movement."); } else if (c.shouldPrintReceive(target)) { String part = c.getStance().insertedPartFor(target).describe(target); c.write( getSelf(), String.format( "%s the intense pressure in %s %s " + "recede as %s allows %s knot to deflate.", target.subjectAction("feel"), target.possessivePronoun(), part, getSelf().subject(), getSelf().possessivePronoun())); } target.removeStatus(Stsflag.knotted); } else { if (getSelf().human()) { c.write( getSelf(), "You'd like to stay inside " + target.name() + " for a bit, so you " + (c.getStance().canthrust(getSelf()) ? "thrust" : "buck up") + " as deep inside of her as you can and send a mental command to the base of your c**k, where your" + " knot soon swells up, locking you inside,"); } else if (c.shouldPrintReceive(target)) { String firstPart; if (c.getStance().dom(getSelf())) { firstPart = String.format( "%s bottoms out inside of %s, and something quickly feels off%s.", getSelf().subject(), target.nameDirectObject(), c.isBeingObserved() ? " to " + target.directObject() : ""); } else { firstPart = String.format( "%s pulls %s all the way onto %s c**k." + "As soon as %s pelvis touches %s, something starts happening.", getSelf().subject(), target.nameDirectObject(), getSelf().possessivePronoun(), getSelf().possessivePronoun(), (target.human() || target.useFemalePronouns()) ? target.possessivePronoun() + "s" : "s"); } c.write( getSelf(), String.format( "%s A ball swells up at the base of %s dick," + " growing to the size of a small apple. %s not" + " getting <i>that</i> out of %s any time soon...", firstPart, getSelf().nameOrPossessivePronoun(), Global.capitalizeFirstLetter(target.subjectAction("are", "is")), target.reflectivePronoun())); } target.add(c, new Knotted(target, getSelf(), c.getStance().anallyPenetrated(target))); } return true; }