Add new clothing system
[18plus-7leafadventure.git] / src / org / sevenchan / dongs / creature / Scylla.as
blob52abd28ee9b9217fd2ebd70d35553608d428d2bb
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;
13 /**
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
17 * people whole.
19 * Based off of the greek version, except this one is amphibious.
21 * @author Harbinger
23 public class Scylla extends Creature
26 public function Scylla()
28 trace("Scylla.init()");
29 super();
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"),
38 ]);
39 gender = Gender.FEMALE;
40 this.arms.push(
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);
48 addBreast();
49 addBreast();
52 override public function addBreast():Breast
54 var boob:Breast = BodyPartRegistry.human_breast;
55 boob.size = MathUtils.rand(0, 3);
56 breasts.push(boob);
57 return boob;
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();
69 return o;
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.";
100 } else {
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>";
116 } else {
117 // Nope.
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);
123 return true;
125 public override function onLose(ply:Creature):Boolean { return false; }
127 public override function getHostile(ply:Creature):Boolean { return true; }