@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; } }
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; }
@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; } }
@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); } } }