1 package org
.sevenchan
.dongs
.creature
3 import org
.sevenchan
.dongs
.ability
.AbilityRegistry
;
4 import org
.sevenchan
.dongs
.bodyparts
.Breast
;
5 import org
.sevenchan
.dongs
.bodyparts
.Build
;
6 import org
.sevenchan
.dongs
.bodyparts
.Gender
;
7 import org
.sevenchan
.dongs
.bodyparts
.Hair
;
8 import org
.sevenchan
.dongs
.bodyparts
.SexualPreference
;
9 import org
.sevenchan
.dongs
.bodyparts
.Skin
;
10 import org
.sevenchan
.dongs
.Creature
;
11 import org
.sevenchan
.dongs
.screens
.InfoScreen
;
14 * A gigantic sea serpent with the upper body of a
15 * beautiful woman who just happens to have 3 rows
16 * of needle-like teeth and an affinity for eating
19 * Based off of the greek version, except this one is amphibious.
23 public class Scylla
extends Creature
26 public function Scylla
()
28 trace
("Scylla.init()");
30 height
= Math.random
() * 1.5 + 5;
31 this.sexualPreference
= SexualPreference
.ASEXUAL
;
32 this.build
= Build
.PRETTYSTRONG
;
34 this.hair
= MathUtils
.getRandomArrayEntry
([
35 new Hair
("long, beautiful blonde hair"),
36 new Hair
("long, beautiful brown hair"),
37 new Hair
("long, beautiful black hair"),
39 gender
= Gender
.FEMALE
;
41 BodyPartRegistry
.human_arm
,
42 BodyPartRegistry
.human_arm
44 skin
= new Skin
("human", "white", "soft but damp");
45 eyes
.push
(BodyPartRegistry
.human_brown_eye
, BodyPartRegistry
.human_brown_eye
);
46 this.assholes
.push
(BodyPartRegistry
.human_anus
);
47 this.vaginas
.push
(BodyPartRegistry
.human_vagina
);
52 override public function addBreast
():Breast
54 var boob
:Breast
= BodyPartRegistry
.human_breast
;
55 boob
.size
= MathUtils
.rand
(0, 3);
60 public override function getTypeName
():String { return "Scylla"; }
62 public override function combatDescr
(subj
:Creature
):String {
63 var o
:String = "<p>As you proceed along the coastline, you encounter a "
64 +"beautiful woman. Your eyes then travel downward, and your grin is "
65 +"replaced by a frown as you discover that her lower body is like that of a "
66 +"large scaly serpent. The fact that she seems to be drooling doesn't help "
67 +"that unsettling feeling go away.</p><p>She is ";
68 o
+= getDescription
();
71 public override function onWin
(ply
:Creature
):Boolean {
72 var story
:String = "";
73 story
+= "<p>The large serpent-woman licks her lips as she gives you one final";
74 story
+= " whip of her tail, sending you sprawling to the ground like a drunk";
75 story
+= " hit by a bus. The wind is knocked out of you, but you still have";
76 story
+= " enough energy to roll onto your back, cursing through bloodied";
77 story
+= " teeth as you glare at the creature. She chuckles softly at the";
78 story
+= " display.</p>";
79 story
+= "<p>\"Ah, you can ssssstill move, my dear? Exxxxxcellent...\"";
80 story
+= " A broad smile spreads across her face as she slides closer on her";
81 story
+= " snakelike underside. You try to crawl away, but a hand grasps";
82 story
+= " your leg, and you turn in time to see the most horrifying sight";
83 story
+= " you’ve seen thus far. She has dislocated her jaw, displaying";
84 story
+= " several rows of long, sharp teeth and an enormous maw. The smell";
85 story
+= " is overwhelming.</p>";
86 story
+= "<p>You start cursing louder, struggling as she grabs your other";
87 story
+= " leg, clamping it tightly to the other, and begins to swallow you,";
88 story
+= " feet first. After swallowing your legs, she works her way up to";
89 story
+= " your hips, sliding her tongue over your groin, and her teeth";
90 story
+= " catch on your clothing, preventing you from moving back out of";
91 story
+= " her mouth. Her tongue ";
92 if (ply
.vaginas
.length
>0) {
93 story
+= " licks around your sweaty, sore labia, tasting you for a bit,";
94 story
+= " before diving into your depths.";
95 } else if (ply
.dicks
.length
>0) {
96 story
+= " envelops your flaccid, terrified penis";
97 if(ply
.balls
.length
>0)
98 story
+= " and balls";
99 story
+= ", tasting you a bit.";
101 story
+= " rolls across your blank groin disappointedly."
103 story
+= " She seems to become more hungry, her face flushing and her gulps";
104 story
+= " becoming more urgent. You’re too terrified to understand what's";
105 story
+= " going on, but your body doesn’t care.</p><p>";
106 if(ply
.vaginas
.length
>0) {
107 story
+= "Her fat, meaty tongue plunges further inside of you, and then";
108 story
+= " makes its way around every inch of your cunt. After a few";
109 story
+= " minutes, your body surrenders and orgasms.</p>";
110 } else if (ply
.dicks
.length
>0) {
111 story
+= "Her tongue wraps around your ";
112 story
+= ply
.dicks
[0].getShortDescr
();
113 story
+= ", and the tongue's warm, wet texture, in addition to the pressure";
114 story
+= " around your member, causes you to release your payload into her";
115 story
+= " mouth.</p>";
119 story
+= "<p>Satisfied, she finishes swallowing you. After a few weeks of agony in her stomach acid (passing the time by reading a wet, acid - eaten book someone had left inside), you pass away.</p>";
120 story
+= "<p>...And then wake up at the barn again. Great.</p>";
122 InfoScreen
.push
(story
);
125 public override function onLose
(ply
:Creature
):Boolean { return false; }
127 public override function getHostile
(ply
:Creature
):Boolean { return true; }