예제 #1
0
 @Override
 public String receive(Combat c, int damage, Result modifier, Character target) {
   if (modifier == Result.miss) {
     return String.format(
         "%s tries to yank off %s %s, but %s %s to hang onto it.",
         getSelf().subject(),
         target.nameOrPossessivePronoun(),
         stripped.getName(),
         target.pronoun(),
         target.action("manage"));
   } else {
     String msg =
         String.format(
             "%s grabs a hold of %s %s and yanks it off before %s can stop %s.",
             getSelf().subject(),
             target.nameOrPossessivePronoun(),
             stripped.getName(),
             target.pronoun(),
             getSelf().directObject());
     if (modifier == Result.critical && extra != null) {
       msg +=
           String.format(
               " Before %s can react, %s also strips off %s %s!",
               target.subject(), getSelf().name, target.possessivePronoun(), extra.getName());
     }
     return msg;
   }
 }
예제 #2
0
  protected void applyBasicStats() {
    character.isStartCharacter = true;
    preferredCockMod = CockMod.bionic;
    character.outfitPlan.add(Clothing.getByID("bra"));
    character.outfitPlan.add(Clothing.getByID("Tshirt"));
    character.outfitPlan.add(Clothing.getByID("underwear"));
    character.outfitPlan.add(Clothing.getByID("shorts"));
    character.outfitPlan.add(Clothing.getByID("pantyhose"));
    character.outfitPlan.add(Clothing.getByID("boots"));
    character.change();
    character.mod(Attribute.Cunning, 2);
    character.mod(Attribute.Perception, 2);
    character.getStamina().setMax(80 + character.getLevel() * getGrowth().stamina);
    character.getArousal().setMax(80 + character.getLevel() * getGrowth().arousal);

    character.addPersonalStrategy(new FootjobStrategy());
    character.addPersonalStrategy(new UseToyStrategy());
    character.addPersonalStrategy(new StraponStrategy());
    character.addPersonalStrategy(new WindUpStrategy());

    Global.gainSkills(character);
    character.add(Trait.petite);
    character.add(Trait.dexterous);
    character.add(Trait.ticklish);
    character.setTrophy(Item.MaraTrophy);
    character.plan = Plan.hunting;
    character.mood = Emotion.confident;
    character.body.add(new FacePart(.1, 1.1));
    character.initialGender = CharacterSex.female;
  }
예제 #3
0
 @Override
 public String deal(Combat c, int damage, Result modifier, Character target) {
   if (modifier == Result.miss) {
     return "You attempt to strip off "
         + target.name()
         + "'s "
         + stripped.getName()
         + ", but she shoves you away.";
   } else {
     String msg =
         "After a brief struggle, you manage to pull off "
             + target.name()
             + "'s "
             + stripped.getName()
             + ".";
     if (modifier == Result.critical && extra != null) {
       msg +=
           String.format(
               " Taking advantage of the situation, you also" + " manage to snag %s %s!",
               target.possessivePronoun(), extra.getName());
     }
     return msg;
   }
 }
예제 #4
0
  @Override
  public void rest(int time) {
    if (character.rank == 1 && !character.has(Trait.madscientist)) {
      character.add(Trait.madscientist);
      character.body.addReplace(PussyPart.cybernetic, 1);
      character.unequipAllClothing();
      character.outfitPlan.add(Clothing.getByID("bra"));
      character.outfitPlan.add(Clothing.getByID("shirt"));
      character.outfitPlan.add(Clothing.getByID("labcoat"));
      character.outfitPlan.add(Clothing.getByID("underwear"));
      character.outfitPlan.add(Clothing.getByID("pants"));
      character.outfitPlan.add(Clothing.getByID("pantyhose"));
      character.outfitPlan.add(Clothing.getByID("boots"));
      character.mod(Attribute.Science, 1);
    }
    if (character.rank == 2 && !character.has(Trait.madscientist)) {
      character.body.add(
          new GenericBodyPart(
              "mechanical tentacles",
              "Four large mechanically feelers are attached to {self:possessive} back.",
              1,
              1.0,
              0.0,
              true,
              "mechtentacles",
              ""));
    }
    super.rest(time);
    if (!(character.has(Item.Onahole) || character.has(Item.Onahole2)) && character.money >= 300) {
      character.gain(Item.Onahole);
      character.money -= 300;
    }
    if (!(character.has(Item.Tickler) || character.has(Item.Tickler)) && character.money >= 300) {
      character.gain(Item.Tickler);
      character.money -= 300;
    }
    if (!(character.has(Item.D***o) || character.has(Item.D***o)) && character.money >= 250) {
      character.gain(Item.D***o);
      character.money -= 250;
    }
    if (!(character.has(Item.Crop) || character.has(Item.Crop)) && character.money >= 200) {
      character.gain(Item.Crop);
      character.money -= 200;
    }
    if (!(character.has(Item.Strapon) || character.has(Item.Strapon)) && character.money >= 600) {
      character.gain(Item.Strapon);
      character.money -= 600;
    }
    if (character.money > 0 && character.rank >= 1) {
      Global.getDay().visit("Body Shop", character, Global.random(character.money));
    }
    if (character.money > 0 && character.rank >= 1) {
      Global.getDay().visit("Workshop", character, Global.random(character.money));
    }
    if (character.money > 0) {
      Global.getDay().visit("Hardware Store", character, Global.random(character.money));
    }
    if (character.money > 0) {
      Global.getDay().visit("Black Market", character, Global.random(character.money));
    }
    if (character.money > 0) {
      Global.getDay().visit("XXX Store", character, Global.random(character.money));
    }
    if (character.money > 0) {
      Global.getDay().visit("Bookstore", character, Global.random(character.money));
    }
    Decider.visit(character);
    int r;

    for (int i = 0; i < time; i++) {
      r = Global.random(8);
      if (r == 1) {
        Global.getDay().visit("Exercise", this.character, 0);
      } else if (r == 0) {
        Global.getDay().visit("Browse P**n Sites", this.character, 0);
      }
    }
  }