Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.79 KB | None | 0 0
  1. package classes.Scenes.Areas.HighMountains {
  2. import classes.*;
  3. import classes.BodyParts.*;
  4. import classes.GlobalFlags.kFLAGS;
  5. import classes.internals.*;
  6.  
  7. public class Harpy extends Monster {
  8. //*Note, special attack one is an idea based on Ceraph.
  9. //About the attack that raises your Lust to 100 if you
  10. //don't "wait" when she unleashes it. Alright, I
  11. //basically used the idea, sorry. But it's a neat idea
  12. //so it should be fitting, right? Or you could just
  13. //dump it out altogether. It'd cause severe damage,
  14. //in the 150 region if you don't wise up.*
  15.  
  16. protected function harpyUberCharge():void {
  17. //(Harpy special attack 1, part one)
  18. if (!hasStatusEffect(StatusEffects.Uber)) {
  19. createStatusEffect(StatusEffects.Uber, 0, 0, 0, 0);
  20. outputText("Flapping her wings frantically, she flies away from you and gains height, hanging in the light before you. She lets out a shrill and terrifying cry, narrowing her eyes as she focuses in on you!");
  21. }
  22. //(Harpy special attack 1, part two if PC does anything but "Wait")
  23. else {
  24. if (flags[kFLAGS.IN_COMBAT_USE_PLAYER_WAITED_FLAG] == 0) {
  25. outputText("The harpy lets out a terrible cry and drops, reaching an almost impossible speed as she dives down at you. Her eyes are narrowed like a true bird of prey. You were too busy with your own attack to avoid it! Her claws surge down and pierce your [armor] like paper, driving hard into the flesh beneath and making you cry out in pain. The harpy dumps you onto the ground, your wounds bleeding profusely. ");
  26. var damage:Number = (160 + rand(20)) * (1 + (player.newGamePlusMod() / 2));
  27. player.takeDamage(damage, true);
  28. removeStatusEffect(StatusEffects.Uber);
  29. }
  30. else {
  31. outputText("You stand firm and ready yourself as the crazed harpy hovers above you. Letting out an ear-splitting cry she dives at you with her claws extended, reaching an incredible speed before she levels out. The harpy is heading right for you! Thanks to your ready position, you manage to dive aside just as the harpy reaches you. She clips you slightly, spinning you as you dive for the ground. You hit the ground hard, but look up in time to see her make a rough, graceless landing. Her body rolls until it reached a standstill. The enraged harpy drags herself up and takes flight once more! ");
  32. player.takeDamage(10 + rand(10), true);
  33. removeStatusEffect(StatusEffects.Uber);
  34. HP -= 20;
  35. }
  36. }
  37. }
  38.  
  39. //(Harpy special attack 2, lust increase)
  40. protected function harpyTease():void {
  41. outputText("The harpy charges at you carelessly, her body striking you with the full weight of her motherly hips. The pair of you go crashing backwards onto the ground. You grapple with her weighty ass, trying your best not to think dirty thoughts, but the way she's maniacally flapping and writhing her curvy body against you makes it impossible! After a brief, groping wrestle on the ground, she pushes you away and takes flight again.");
  42. player.takeLustDamage(12 + rand(player.sens / 5), true);
  43. }
  44.  
  45. override protected function performCombatAction():void {
  46. if (hasStatusEffect(StatusEffects.Uber)) {
  47. harpyUberCharge();
  48. return;
  49. }
  50. var actionChoices:MonsterAI = new MonsterAI()
  51. .add(eAttack, 1, true, 0, FATIGUE_NONE, RANGE_MELEE_FLYING);
  52. actionChoices.add(harpyUberCharge, 1, true, 15, FATIGUE_NONE, RANGE_OMNI);
  53. actionChoices.add(harpyTease, 1, true, 0, FATIGUE_NONE, RANGE_TEASE);
  54. actionChoices.exec();
  55. }
  56.  
  57. override public function defeated(hpVictory:Boolean):void {
  58. game.highMountains.harpyScene.harpyVictoryuuuuu();
  59. }
  60.  
  61. override public function won(hpVictory:Boolean, pcCameWorms:Boolean = false):void {
  62. if (pcCameWorms) {
  63. outputText("[pg]Your foe doesn't seem disgusted enough to leave...");
  64. doNext(game.combat.endLustLoss);
  65. }
  66. else {
  67. game.highMountains.harpyScene.harpyLossU();
  68. }
  69. }
  70.  
  71. override public function outputPlayerDodged(dodge:int):void {
  72. outputText("With another deranged cry the harpy dives at you, swinging her razor-sharp talons through the air with the grace of a ballerina. Your quick reflexes allow you to dodge every vicious slash she makes at you.\n");
  73. }
  74.  
  75. override public function outputAttack(damage:int):void {
  76. if (damage <= 0) {
  77. outputText("The harpy dives at you with her foot-talons, but you deflect the attack, grasp onto her leg, and swing her through the air, tossing her away from you before she has a chance to right herself.");
  78. }
  79. else {
  80. outputText("The harpy surges forward, bringing her razor-sharp claws down on you, tearing at all the exposed flesh she can reach! <b>(<font color=\"#800000\">" + damage + "</font>)</b>");
  81. }
  82. }
  83.  
  84. public function Harpy(noInit:Boolean = false) {
  85. if (noInit) return;
  86. //trace("Harpy Constructor!");
  87. this.a = "the ";
  88. this.short = "harpy";
  89. this.imageName = "harpy";
  90. this.long = "You are fighting a strangely tall, deranged harpy. She appears very human, about six feet six inches tall, but mostly covered in an extremely fine layer of powder-blue down. Her arms are sinewy and muscular, covered in a layer of visibly thicker down. The most notable feature of the girl however are the much longer feathers that cover her outer arms, which reach lengths below her hips to form large bird-like wings that are roughly twice the arms length of the girl each, and in turn allow the girl flight. Her hands, though obscured by down and overshadowed by the impressive arm-wings are visible, are adorned with long and razor-sharp nails; painted a similar pastel blue to the rest of her plumage. She appears quite deranged as she circles you, approaching and backing away erratically. Her face is quite beautiful, with fine lilac makeup adorning the features of a handsome woman, and her lips are traced with rich golden lipstick. As she circles you, squawking frantically and trying to intimidate you, your eyes are drawn to her slender torso and small, pert breasts, each the size of a small fruit" + (game.noFur() ? "" : " and covered in a layer of the softest feathers which ripple and move with the gusts from her wings") + ". As astounding as her breasts are, her egg-bearing hips are even more impressive. They're twice as wide as her torso and covered in thick down, with enormous, jiggling buttocks where her huge, meaty thighs are coming up to meet them. Atop her hips lie seven visibly longer feathers, similar to the ones that line her wings, somewhat giving them appearance of loose tail feathers. Her legs end in three-pronged talons; their shadowy black curves glinting evilly in the light.";
  91. this.race = "Harpy";
  92. // this.plural = false;
  93. this.createVagina(false, Vagina.WETNESS_SLICK, Vagina.LOOSENESS_GAPING_WIDE);
  94. this.createStatusEffect(StatusEffects.BonusVCapacity, 40, 0, 0, 0);
  95. createBreastRow(Appearance.breastCupInverse("B"));
  96. this.ass.analLooseness = Ass.LOOSENESS_TIGHT;
  97. this.ass.analWetness = Ass.WETNESS_DRY;
  98. this.createStatusEffect(StatusEffects.BonusACapacity, 20, 0, 0, 0);
  99. this.tallness = 6 * 12 + 6;
  100. this.hips.rating = Hips.RATING_INHUMANLY_WIDE;
  101. this.butt.rating = Butt.RATING_EXPANSIVE;
  102. this.lowerBody.type = LowerBody.HARPY;
  103. this.skin.tone = "pink";
  104. this.skin.type = Skin.PLAIN;
  105. this.skin.desc = "feathers";
  106. this.hair.color = "blue";
  107. this.hair.length = 16;
  108. initStrTouSpeInte(60, 40, 90, 40);
  109. initLibSensCor(70, 30, 80);
  110. this.weaponName = "talons";
  111. this.weaponVerb = "slashing talons";
  112. this.weaponAttack = 15;
  113. this.armorName = "feathers";
  114. this.armorDef = 5;
  115. this.bonusHP = 150;
  116. this.lust = 10;
  117. this.lustVuln = .7;
  118. this.temperment = TEMPERMENT_RANDOM_GRAPPLES;
  119. this.level = 10;
  120. this.gems = 10 + rand(4);
  121. this.drop = new ChainedDrop().add(armors.W_ROBES, 1 / 10)
  122. .elseDrop(consumables.GLDSEED);
  123. this.wings.type = Wings.HARPY;
  124. /*this.special1 = harpyUberCharge;
  125. this.special2 = harpyTease;*/
  126. checkMonster();
  127. }
  128. }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement