Example #1
0
 @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;
 }