Potions added, and pink potion
[18plus-7leafadventure.git] / src / org / sevenchan / dongs / creature / Arachnid.as
blob8ced5943b19913638d4dcb06ec0e5b9b04cdd875
1 package org.sevenchan.dongs.creature
3 import flash.net.*;
4 import org.sevenchan.dongs.*;
5 import org.sevenchan.dongs.bodyparts.*;
6 import org.sevenchan.dongs.items.*;
7 import org.sevenchan.dongs.screens.*;
8 /**
9 * Spiderbitch, spiderbitch, does whatever a spiderbitch does...
10 * Will she suck, on a dick? Goddamnit I dunno.
11 * Watch out, here comes a spiderbitch.
13 * Based off of MGE's Arachne. Loosely, as I cannot read moonspeak.
15 * @author N3X15
17 public class Arachnid extends Creature
19 // For serialization
20 registerClassAlias("EArachnid", Arachnid);
22 private var isQueen:Boolean = false;
23 public function Arachnid(queen:Boolean)
25 isQueen = queen;
28 override public function initialGenderSetup():void
30 trace("ASS", BodyPartRegistry.assholes.arachnid);
31 trace("EYE_BIG",BodyPartRegistry.eyes.arachnid_big);
32 trace("EYE_SMALL",BodyPartRegistry.eyes.arachnid_small);
33 trace("LEG", BodyPartRegistry.legs.arachnid);
34 trace("ARMS",BodyPartRegistry.arms.human);
35 trace("BOOBS",BodyPartRegistry.breasts.human);
36 trace("DICK",BodyPartRegistry.dicks.arachnid);
37 trace("BALLS",BodyPartRegistry.balls.arachnid);
38 assholes = [BodyPartRegistry.assholes.arachnid];
39 eyes = [
40 BodyPartRegistry.eyes.arachnid_small,BodyPartRegistry.eyes.arachnid_small,
41 BodyPartRegistry.eyes.arachnid_small,BodyPartRegistry.eyes.arachnid_small,
42 BodyPartRegistry.eyes.arachnid_small,BodyPartRegistry.eyes.arachnid_small,
43 BodyPartRegistry.eyes.arachnid_big,BodyPartRegistry.eyes.arachnid_big
45 this.build = Build.AVG;
46 this.legs = [
47 BodyPartRegistry.legs.arachnid,BodyPartRegistry.legs.arachnid,
48 BodyPartRegistry.legs.arachnid,BodyPartRegistry.legs.arachnid,
49 BodyPartRegistry.legs.arachnid,BodyPartRegistry.legs.arachnid,
50 BodyPartRegistry.legs.arachnid,BodyPartRegistry.legs.arachnid,
52 this.arms = [
53 BodyPartRegistry.arms.human,
54 BodyPartRegistry.arms.human
57 this.hair = new Hair("long, silky, white hair");
58 this.gender = Gender.FEMALE;
59 this.sexualPreference = SexualPreference.STRAIGHT;
61 if (gender.hasVag) {
62 breasts = [BodyPartRegistry.breasts.human, BodyPartRegistry.breasts.human];
63 vaginas = [BodyPartRegistry.vaginas.arachnid];
65 if (gender.hasDick) {
66 dicks = [];
67 addDick("arachnid");
68 balls = [BodyPartRegistry.balls.arachnid,BodyPartRegistry.balls.arachnid];
70 inventory = [new SpiderVenomSac(1)];
73 override public function addDick(type:String="human"):void
75 var p:Penis = Penis(BodyPartRegistry.dicks[type]);
76 p.size = 12 + MathUtils.rand(0, 6);
77 dicks.push(p);
80 override public function combatDescr(ply:Creature):String
82 ply.lust += 2;
83 return "<p>While exploring the area, you suddenly come across many large spiderwebs. You brush through them, when you hear something scuttle through the brush behind you. Worried, you slowly turn around, and see "+getDescription();
86 override public function getHostile(subj:Creature):Boolean
88 return true;
91 override public function getTypeName():String
93 return "Arachnid";
96 override public function onWin(ply:Creature):Boolean
98 var text:String = "<h2>YOU LOSE</h2>";
100 if (ply.gender.hasDick && gender.hasVag) {
101 var amtCum:Number = 0;
102 for (var i:int = 0; i < ply.balls.length; i++) {
103 (ply.balls[i] as Testicle).loadMult += 1;
104 var t:Testicle = ply.balls[i];
105 amtCum+=t.loadMult * t.normalLoad;
107 text += "<p>Seeing weakness, the Arachnid surges forward and bites your neck. You ";
108 text += "punch %POS% in %POS% own neck, causing %POS% to break from you, but it’s too ";
109 text += "late. Neurotoxins surge through your veins, and your attacks become ";
110 text += "increasingly feeble as you fight. A sad smile crosses %POS% face as you ";
111 text += "sink to the ground, becoming increasingly numb and %SUB% moves closer, ";
112 text += "pulling you up to %POS% chest to caress your limp body. &quot;Yessss, now ";
113 text += "you see it is uselesssss to fight.&quot; %CSUB% whispers in a thick accent, ";
114 text += "a silky hand stroking your cheek softly. %CSUB% kisses the wound, a blush ";
115 text += "slowly spreading across %POS% face as %SUB% becomes more aroused. ";
116 text += "&quot;You’ll be fffine, do not be worried.&quot;</p>";
118 text += "<p>After stripping you of any clothing, %SUB% pulls webbing from %POS% abdomen ";
119 text += "and wraps you tightly in it, sparing your nose, eyes, and your dick, and ";
120 text += "then anchors you to the floor. Seeing your flaccid dick, %SUB% leans over ";
121 text += "and brushes it between %POS% large breasts and licks it hungrily. When ";
122 text += "it’s satisfiably hard, %SUB% takes a few steps forwards and %POS% body ";
123 text += "descends, your dick disappearing into %POS% wet, needy pussy. Quietly, %SUB% ";
124 text += "begins to repeatedly plunge you into %POS% sticky depths, and you find ";
125 text += "yourself enjoying it, aside from the claustrophobic webbing and poison ";
126 text += "keeping you still.</p>";
128 text += "<p>As soon as the first wave of precum enters %POS% body, %POS% entire abdomen ";
129 text += "begins pulsing, the powerful muscles milking your dick. %CSUB% reaches down ";
130 text += "and pulls you tighter to %POS% body. %CSUB% bites you again, and your balls ";
131 text += "go into overdrive, pumping more semen into %POS% thrusting body. The ";
132 text += "pleasure is unbearable, and %POS% cunt feels amazing, despite how ";
133 text += "terrifying the entire situation is. After a few minutes, the flow stops, ";
134 text += "and %SUB% releases you. &quot;Sssso ssssorry ffffor the trouble,&quot; ";
135 text += "%SUB% apologizes, a clawed foot cutting slits into the webbing around your ";
136 text += "arms, somehow without opening your veins. &quot;Hopeffffully thissss ";
137 text += "will help...&quot;</p>";
139 text += "<p>%CSUB% slowly moves away. &quot;You will ssssleeep now. I hope you ";
140 text += "ffforgive me, and maybe we will meet again...&quot; %CSUB% vanishes into ";
141 text += "the underbrush, and the world fades to black as you pass out.</p>";
143 text += "<p><b>Your semen output has increased by 1, bringing your total seminal volume to " + MathUtils.fmtMilliLiters(amtCum) + ".</b></p>";
144 text += "<p>You will now gain lust faster.</p>";
145 InfoScreen.push(gender.doReplace(text));
146 return true;
147 } else if(gender.hasDick) {
148 text += "";
149 var eggs:String = "Arachnid eggs";
150 for (var idx:int = 0; idx < ply.assholes.length; idx++) {
151 if((ply.assholes[idx] as Asshole).pregnantWith==null) {
152 (ply.assholes[idx] as Asshole).timesFucked++;
153 (ply.assholes[idx] as Asshole).volumeFilled = amtCum;
154 if (amtCum > (ply.assholes[idx] as Asshole).capacity)
155 eggs+=" <b>Your belly has swelled to accomodate the sheer volume.</b>";
156 (ply.assholes[idx] as Asshole).filledWith = eggs;
157 (ply.assholes[idx] as Asshole).pregnantWith = new Arachnid(false);
158 (ply.assholes[idx] as Asshole).pregCounter = 100;
161 InfoScreen.push(gender.doReplace(text));
162 return true;
164 return false;