-
Notifications
You must be signed in to change notification settings - Fork 217
/
ember.as
4532 lines (3985 loc) · 426 KB
/
ember.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//import flash.media.Video;
//Tainted Ember
//Link: Tainted Ember
//Variable and Flag Listing
const EMBER_AFFECTION:int = 523; //: Pretty obvious
const EMBER_HATCHED:int = 524; //: is ember hatched? 1 = true
const EMBER_GENDER:int = 525; // 1 for male, 2 for female, 3 for herm. This also controls the egg's shell color.
const EMBER_TYPE:int = 526; //numerical value; Ember is supposed to have many forms, this will control which one is born. (This is important for when Ember has hybrid forms.)
const EMBER_COR:int = 527; //Controls Ember's current corruption levels, only default/dragon-girl Ember uses this. (Default starting value = 50)
const EMBER_HAIR:int = 528; //0 for no hair, 1 for hair, 2 for mane.
const EMBER_MILK:int = 529; //0 for no lactation, 1 for lactating.
const EMBER_OVIPOSITION:int = 530; //0 for no egg laying, 1 for egg laying.
const EMBER_ROUNDFACE:int = 531; //0 for anthro Ember, 1 for dragon-girl Ember. (You might want to control this with the Type flag since only default Embers use this variable.)
const EMBER_EGG_FLUID_COUNT:int = 532; //This controls when it's time to hatch. Every item use and every time you use the egg as a masturbation aid, this will be incremented. Threshold for birthing is 5, but the birthing process can only be triggered when using as a masturbatory aid. This is done to allow players the chance to modify Ember before actually hatching.
//BreathType: Controls which breath weapon the PC will have via TFing. Every Ember has its unique breath weapon to pass on.
//EmberQuestTrigger: Controls whether the PC can still visit the lost dragon city. 0 can visit and 1 can't, special text will be displayed. (Future Expansion)
//BreathCooldown: How many hours you need to wait to be able to use the breath weapon again.
const EMBER_STAT:int = 533; //All Embers have a hidden stat, Corrupt has Ego, Pure has Confidence, Tainted has Affection, and hybrids vary. There is a need to track this, but only 1 special stat for every Ember.
const EMBER_INTERNAL_DICK:int = 534; //Dragon-girl Ember can have either a internal sheath to keep " + emberMF("his","her") + " dick in or have it be more human-like. 0 = internal, 1 = external.
//EmberKidsCount: How many children you've had with Ember, this will be important later.
//BooleanEmberKidMale: If you've had a male child with Ember, having a herm sets both flags to 1 (true).
//BooleanEmberKidFemale: If you've had a female child with Ember, having a herm sets both flags to 1 (true).
const TIMES_EQUIPPED_EMBER_SHIELD:int = 535;
const TOOK_EMBER_EGG:int = 536; //PC Take ember's egg home?
const EGG_BROKEN:int = 537; //PC Smash!? ember's egg?
const TIMES_FOUND_EMBERS_EGG:int =538; //Times stumbled into ze egg.
const EMBER_JACKED_ON:int = 539; //Has the PC masturbated on the egg yet? Needed to hatcH!
const EMBER_OVI_BITCHED_YET:int = 540; //Used to trigger emberBitchesAboutPCBeingFullOfEggs()
const EMBER_LUST_BITCHING_COUNTER:int = 541;
const EMBER_CURRENTLY_FREAKING_ABOUT_MINOCUM:int = 542; // Used to trigger minotaurJizzFreakout()
const DRANK_EMBER_BLOOD_TODAY:int = 543; //Cooldown for ember TFs
const EMBER_PUSSY_FUCK_COUNT:int = 544;
const TIMES_BUTTFUCKED_EMBER:int = 545;
const EMBER_INCUBATION:int = 553;
const EMBER_CHILDREN_MALES:int = 554;
const EMBER_CHILDREN_FEMALES:int = 555;
const EMBER_CHILDREN_HERMS:int = 556;
const EMBER_EGGS:int = 557;
const EMBER_BITCHES_ABOUT_PREGNANT_PC:int = 558;
const EMBER_TALKS_TO_PC_ABOUT_PC_MOTHERING_DRAGONS:int = 559;
const EMBER_PREGNANT_TALK:int = 560;
const TIMES_EMBER_LUSTY_FUCKED:int = 824;
function emberAffection(changes:Number = 0):Number {
flags[EMBER_AFFECTION] += changes;
if(flags[EMBER_AFFECTION] > 100) flags[EMBER_AFFECTION] = 100;
else if(flags[EMBER_AFFECTION] < 0) flags[EMBER_AFFECTION] = 0;
return flags[EMBER_AFFECTION];
}
function emberCorruption(changes:Number = 0):Number {
flags[EMBER_COR] += changes;
if(flags[EMBER_COR] > 100) flags[EMBER_COR] = 100;
else if(flags[EMBER_COR] < 0) flags[EMBER_COR] = 0;
return flags[EMBER_COR];
}
function followerEmber():Boolean {
if(flags[EMBER_HATCHED] > 0) return true;
return false;
}
function emberMF(man:String,woman:String):String {
if(flags[EMBER_GENDER] == 1) return man;
else return woman;
}
function emberVaginalCapacity():int {
return 60;
}
function emberAnalCapacity():int {
return 60;
}
function emberHasCock():Boolean {
return (flags[EMBER_GENDER] == 1 || flags[EMBER_GENDER] == 3);
}
function emberChildren():int {
return (flags[EMBER_CHILDREN_MALES] + flags[EMBER_CHILDREN_FEMALES] + flags[EMBER_CHILDREN_HERMS]);
}
function emberInternalDick():Boolean {
return (flags[EMBER_ROUNDFACE] == 0 || flags[EMBER_INTERNAL_DICK] > 0);
}
//Approaching Ember (Z)
function emberCampMenu():void {
clearOutput();
//Low Affection:
if(emberAffection() <= 25) outputText("Ember sighs as you approach, and doesn't even look you in the eye before speaking. \"<i>What do you want?</i>\"");
//Moderate Affection:
else if(emberAffection() <= 75) outputText("Ember fidgets as " + emberMF("his","her") + " tail starts to sway from side to side, " + emberMF("he","she") + " looks at you and asks, \"<i>What is it?</i>\"");
else outputText("Ember's eyes light up as you close in on " + emberMF("him","her") + ", and " + emberMF("he","she") + " smiles nervously. \"<i>Y-Yes?</i>\"");
//OPTIONS HERE
//[APPEARANCE]
/*Talk (always available)
Egg (get a dragon egg, available if she has a pussy and received Ovi Elixir before hatching) (unlimited times/day)
Milk (get dragon milk, available if " + emberMF("he","she") + " has received Lactaid before hatching.) (unlimited times/day)
Blood (get dragon blood, always available) (1 time/day)
Sex (have sex, always available)
Spar (fight Ember)*/
var egg:int = 0;
var milk:int = 0;
if(flags[EMBER_OVIPOSITION] > 0 && flags[EMBER_GENDER] >= 2 && flags[EMBER_INCUBATION] == 0) egg = 3720;
if(flags[EMBER_MILK] > 0) milk = 3723;
choices("Appearance",3715,"Talk",3716,"DrinkBlood",3696,"Drink Milk",milk,"Get Egg",egg,"Sex",3738,"Spar",3724,"",0,"",0,"Back",74);
}
//Approach for sex - initial output when selecting [Sex] menu (Z)
function emberSexMenu(output:Boolean = true):void {
if(output) {
clearOutput();
outputText("You ogle Ember, checking out the nuances of " + emberMF("his","her") + " body.");
//(Low Affection)
if(emberAffection() <= 25) outputText("\n\n\"<i>Why are you looking at me like that?</i>\" " + emberMF("he","she") + " says, flatly.");
//(Medium Affection)
else if(emberAffection() < 75) outputText("\n\n\"<i>What is it? Is something wrong with my body?</i>\" Ember asks, checking " + emberMF("him","her") + "self.");
//(High Affection)
else outputText("\n\n\"<i>D-don't stare at me like that!</i>\" Ember protests, biting " + emberMF("his","her") + " lip.");
outputText("\n\nYou smile at Ember, admiring the shape of the dragon, and casually mention as much.");
//Low Affection)
if(emberAffection() <= 25) outputText("\n\n\"<i>Flattery won't get you any points with me!</i>\" Ember declares.");
//(Medium Affection)
else if(emberAffection() < 75) outputText("\n\n\"<i>I don't buy it... you're up to something; I can tell,</i>\" Ember replies.");
//(High Affection)
else outputText("\n\n\"<i>Well, stop it! You're making me...</i>\" Ember never finishes " + emberMF("his","her") + " sentence, flustered with a mixture of arousal and embarrassment.");
outputText(" ");
if(flags[EMBER_GENDER] == 1 || flags[EMBER_GENDER] == 3) {
outputText(emberMF("His","Her") + " cock ");
if(flags[EMBER_INTERNAL_DICK] == 1 || flags[EMBER_ROUNDFACE] == 0) outputText("is poking out of " + emberMF("his","her") + " slit");
else outputText("is starting to swell with blood");
outputText(". ");
}
if(flags[EMBER_GENDER] >= 2) outputText("You can see tiny rivulets of moisture starting to run down Ember's inner thighs, as they rub together, barely hiding her precious treasure from your hungry eyes. ");
outputText("Well, " + emberMF("he","she") + " is a sexy beast; you ask what naturally comes to mind.");
//(Lo-rider Affection)
if(emberAffection() <= 25) outputText("\n\n\"<i>T-this is just a reflex! It has nothing to do with you!</i>\" You chuckle at Ember's failed attempt to justify " + emberMF("his","her") + " growing arousal.");
//(Medium Affection)
else if(emberAffection() < 75) outputText("\n\n\"<i>I... I think I can help you with something, if you want.</i>\"");
//(High Affection)
else outputText("\n\n\"<i>Depends... what do you have in mind?</i>\"");
}
var catchAnal:int = 0;
var pitchAnal:int = 0;
var blowEmber:int = 0;
var getBlown:int = 0;
var eatOut:int = 0;
var getEatenOut:int = 0;
var penetrateHer:int = 0;
var getPenetrated:int = 0;
//Display Options:[Catch Anal][Pitch Anal][Blow Ember][Get Blown][Eat Ember Out][Get Eaten Out][Penetrate Her][Get Penetrated][Leave]
//Scenes that require Ember to have a dick
if(flags[EMBER_GENDER] == 1 || flags[EMBER_GENDER] == 3) {
blowEmber = 3729;
catchAnal = 3728;
if(player.lust >= 33 && player.hasVagina()) {
getPenetrated = 3736;
}
}
//scenes that require Ember to have a cunt
if(flags[EMBER_GENDER] >= 2) {
eatOut = 3732;
if(player.hasCock() && player.lust >= 33) penetrateHer = 3734;
}
if(player.hasVagina() && player.lust >= 33) getEatenOut = 3733;
if(player.hasCock() && player.lust >= 33) {
getBlown = 3730;
pitchAnal = 3731;
}
//choices("Catch Anal",catchAnal,"Pitch Anal",pitchAnal,"Blow Ember",blowEmber,"Get Blown",getBlown,"Eat Her Out",eatOut,"Get Eaten Out",getEatenOut,"Penetrate Her",penetrateHer,"Get Penetrated",getPenetrated,"",0,"Leave",3691);
menu();
if(catchAnal > 0) addButton(0,"Catch Anal",eventParser,catchAnal);
if(pitchAnal > 0) addButton(1,"Pitch Anal",eventParser,pitchAnal);
if(blowEmber > 0) addButton(2,"Blow Ember",eventParser,blowEmber);
if(getBlown > 0) addButton(3,"Get Blown",eventParser,getBlown);
if(eatOut > 0) addButton(4,"Eat Her Out",eventParser,eatOut);
if(getEatenOut > 0) addButton(5,"Get Eaten Out",eventParser,getEatenOut);
if(penetrateHer > 0) addButton(6,"Penetrate Her",eventParser,penetrateHer);
if(getPenetrated > 0) addButton(7,"Get Penetrated",eventParser,getPenetrated);
if(emberAffection() >= 95 && player.hasCock() && player.cockThatFits(emberVaginalCapacity()) >= 0 && (hasItem("L.Draft",1) || player.lib >= 50 || minLust() >= 40))
addButton(8,"LustyFuck",highAffectionEmberLustFuck);
addButton(9,"Leave",eventParser,3691);
}
//Finding the Egg (Z)
//Triggers randomly on exploration in Swamp
function findEmbersEgg():void {
clearOutput();
if(flags[TIMES_FOUND_EMBERS_EGG] == 0) {
outputText("You spot a cave entrance partially hidden behind mossy vegetation and decide to investigate.");
outputText("\n\nThe cave floor is very damp, and the moss growing along the ground makes it extra slippery. Unfortunately, squint as you might to see the inside, the almost tractionless ground causes you to lose your balance and you fall back towards the wall. You try a grab for the solid rock face to steady yourself, but your hands meet only air; the wall dissolves in front of your eyes and you hit the ground with a yelp and a loud thud.");
outputText("\n\nFortunately, you don't seem to be injured, but your curiosity is piqued... was the wall some kind of illusion? You look ahead and see tiny glowing mushrooms lighting what is obviously a deliberately crafted path. Since the rest of the cave is too dark, you decide to continue along this path.");
outputText("\n\nYou press on until you come to a rather large and well lit chamber. The walls appear to have been carved, not cut, and a small shrine sits in the center to house what looks like a large egg... A small, tattered book sits beside it; perhaps it might contain the answer? You open to the first page and begin reading.");
outputText("\n\n\"<i>Dear reader; what stands in front of you is an egg containing my child - our last hope. This room was safeguarded with a powerful ward, designed to repel any race of Mareth save our own, and any creature attempting to breach this room but failing would have been cursed.</i>\"");
outputText("\n\n\"<i>Only a fellow dragon could have made it past the ward, and even among dragons, not all would have been able to see through the illusion. For that, you have our compliments.</i>\"");
outputText("\n\nYour eyes widen in surprise; dragons!? They exist in this world? Immediately your mind travels back to childhood tales of mighty knights slaying fierce dragons... If this \"<i>dragon</i>\" is anything like the ones in the stories, it would be very bad to allow it to hatch... On the other hand, the journal claims it is a \"<i>last hope</i>\".");
outputText("\n\n\"<i>We were obliterated. Some strange magic started turning our young and unborn into deformed, distorted little monsters we called Kobolds; they were weak, and in our pride we underestimated them.\n\nThey have the ability to quickly multiply their numbers, and while we could easily dispatch a few, we were no match for an army of them.\n\nOurs is a small group that managed to escape... This egg, our child, is the last healthy dragon baby to be born after the incident. We left our child here, protected from the evils outside, as our last desperate attempt to ensure our species's survival.\n\nFollowing this letter are all the notes on how my child was encased in this egg and how you may free her... or him. Please take care of my child; our fate lies in your hands.</i>\"");
outputText("\n\nTrue to the letter, you see various notes on how the egg was created and how it may be hatched. You will need to perform a small ritual in order to awaken it from its magical stasis, as well as to 'share your essence' to make it hatch. The research notes state that by absorbing your essence, the life inside the egg will hatch into a suitable mate...");
outputText("\n\nStill, should you even consider taking this egg with you?");
}
else {
//Finding the Egg - repeat (Z)
outputText("You spot a familiar cave partially hidden behind the mossy vegetation and decide to confirm your suspicion.");
outputText("\n\nTrue enough, after a short trek through familiar tunnels you find yourself once again standing before the alleged 'dragon egg'.");
}
flags[TIMES_FOUND_EMBERS_EGG]++;
simpleChoices("Take It",3698,"Destroy It",3694,"",0,"",0,"Leave",3693);
}
//[=Leave=] (Z)
function leaveEmbersAssOutToDry():void {
clearOutput();
outputText("You can't decide what to do right now, so you leave the egg where it is and return to your camp.");
//(You can restart this quest by randomly encountering this chamber again. It continues to reappear until you either Destroy or Take the egg.)
doNext(13);
}
//[=Destroy it=] (Z)
function destroyBabyEmberYouMonster():void {
clearOutput();
outputText("Raising your [weapon], you rain down blow after blow upon the egg. The shell is freakishly tough, taking a lot of punishment before it shatters apart to spill a wave of egg white onto your " + player.feet() + "; a great pulpy mass of weirdly bluish-red yolk remains in the broken shell.");
outputText("\n\nYou have sealed the fate of an entire species... you feel guilty, but this was for the best. There was no way of knowing what this dragon could do once it hatched.");
outputText("\n\nWith nothing else in the cave, you prepare to leave, but find yourself stopped by a sudden thought. The egg yolk, though raw, looks strangely appetizing...");
flags[EGG_BROKEN] = 1;
//[Eat][Leave]
simpleChoices("Eat It",3695,"",0,"",0,"",0,"Leave",13);
}
//[=Eat=]
function eatEmbersYolkLikeAnEvenBiggerDick():void {
clearOutput();
outputText("Unsure of where the impulse comes from, but uncaring, you crouch over the ruined shell of your 'kill' and begin messily scooping handfuls of yolk into your mouth.");
outputText("\n\nThe taste is incredible; a tinge of bitterness, but rich and velvety, sliding down your throat like the most savory of delicacies. Each scoop you eat fills you with energy and power, you can almost feel yourself growing stronger.");
outputText("\n\nBefore you realize it, you have eaten as much of it as is possible to eat and the empty halves of the egg lie before you - as you watch, the leftover albumen wicks into the porous shell, disappearing completely. You pick up the shell, looking at the underside, but not a drop of fluid seeps out. Interesting...");
outputText("\n\nFeeling sated, you get up and prepare to return to your camp, but on a whim, you take the shell with you as a souvenir.");
outputText("\n\n(<b>Gained Key Item: Dragon Eggshell</b>)");
player.createKeyItem("Dragon Eggshell",0,0,0,0);
//(+5-10 to strength, toughness, and speed.)
//(+20 Corruption)
//(also slimefeed!)
stats(5 + rand(5),5+ rand(5),0,5 + rand(5),0,0,0,20);
slimeFeed();
doNext(13);
}
//[Yes]
function getSomeStuff():void {
clearOutput();
outputText("Your mouth tightens in consternation, and you pull out the shell of the so-called 'dragon egg', passing it over and asking if she can use it.");
outputText("\n\n\"<i>What is this? An egg? Eggs aren't much good for armor, cutie, no matter how big. One good blow and POW!</i>\" To demonstrate, she raises her hand, then strikes the shell with the blade of her palm - and pulls it away, smarting. \"<i>My gods! It's so hard! Ok... maybe we can do this.</i>\"");
outputText("\n\nShe turns the cracked shell over in her hands, then puts it into the fire and whacks at it with a pair of tongs, attempting to bend and break it. \"<i>Ist not softening. Tch, cannot make armor if I cannot shape it. Vell, it iz nice und curved, ja? It vill make a decent small-shield to deflect blows, if I sand ze edges down und fit some straps.</i>\"");
outputText("\n\nYou tell the armorsmith that a shield will be fine, and she sets to work smoothing the edges. After nearly an hour of idle browsing through armor you don't really care about, she attracts your attention. \"<i>It's done, cutie. Payment up front.</i>\"");
outputText("\n\nHanding over the gems, you take the white shell back from her; true to her word, she's rounded it into a proper shield and fitted adjustable straps to the back. Its hardness is indisputable, but you can only wonder if its liquid absorption properties are still intact. Worth a test, right?");
//this is where the Dragonshell Shield lives, git you one!
shortName = "DrgnShl";
player.gems -= 200;
statScreenRefresh();
player.removeKeyItem("Dragon Eggshell");
menuLoc = 9;
takeItem();
}
//Suggested Reward:
//Dragonshell Shield: a 'weapon' that cannot be disarmed and has 0 attack, but boosts defense. Has a chance to stun when attacking and has a high chance to block the effects of any 'fluid' attack (Such as Minotaur Cum, Potions, Sticky Web, Valeria Silence Goo, etc.) due to the shell's innate fluid absorption abilities.
//sells for 100G
//Block Effect Description: (Z)
//You raise your shield and block the onrushing liquid. The porous shell quickly absorbs the fluid, wicking it away to who-knows-where and rendering the attack completely useless.
//[=Take=] (Z)
function takeEmbersEggHomeInADoggieBag():void {
clearOutput();
outputText("You decide to take the egg, figuring that perhaps this dragon could aid you in your quest.");
//(If player is shorter than 7 feet)
if(player.tallness < 84) outputText(" Lifting it isn't as much of a problem as you thought; it's surprisingly light. It is, however, very big and very awkward to carry.");
else outputText(" Between the egg's surprising lightness, and your own size and wide arms, you can easily carry the egg.");
outputText("\n\nYou make it back to the strange corridor entrance... but when you attempt to cross over into the cave's opening, you feel the egg bump into something. Alarmed, you quickly scan its surface.");
outputText("\n\nThankfully, it seems to be intact; you put the egg down and try to roll it gently past the open cave mouth. It bumps something again, something invisible. Then you recall the books' mention of some sort of ward protecting the egg; when you try to touch and feel the invisible ward however, your hand goes right through. In fact you can cross this 'ward' easily, as if it weren't even there... However, if you attempt to carry the egg, there is a solid barrier preventing it from passing through.");
outputText("\n\nVexed, you decide to look around the egg chamber for another way out.");
//(if PC has >= 50 int)
if(player.inte >= 50) {
outputText("\n\nYou feel electricity run down your spine as you pass by a far wall in the back of the cave; inspecting the wall, you quickly locate an odd rock. When you pick it up, you realize it has some sort of inscription drawn all over the underside; figuring it's probably the source of the ward, you fling the rock at the far wall, shattering it into many pieces.");
outputText("\n\nYou feel a small pulse of energy run through the chamber and into the corridor. Running towards the entrance; you discover that you can easily remove the egg. It begins to glow softly as you remove it from the cave; at first you take it for a trick of the light, but remember there isn't any in this damned dark swamp!");
}
//(else if PC has >= 90 str)
else if(player.str >= 90) {
outputText("\n\nou look around over and over and over... but no matter how much you look, you don't see anything at all that could even resemble some kind of magic rune, or activation button, or anything that could disable the ward. You groan in frustration.");
outputText("\n\nWell, if there is no way out all you have to do is make one, right? Using your immense strength, you break off a sturdy-looking stalagmite and begin striking the walls in hopes of breaking through or disabling the barrier.");
outputText("\n\nIt takes a lot longer than you originally anticipated, but sure enough, soon you feel a small pulse of energy run through the chamber and into the corridor. Running towards the entrance; you discover that you can easily remove the egg. It begins to glow softly as you remove it from the cave; at first you take it for a trick of the light, but remember there isn't any in this damned dark swamp!");
}
else {
outputText("\n\nYou look around over and over and over... but no matter how much you look you don't see anything at all that could even resemble some kind of magic rune, or activation button, or anything that could disable the ward. You groan in frustration.");
outputText("\n\nIt looks like you will have to leave the egg for now until you're better versed in magical methods... or strong enough to knock down a mountain! You roll it back down the corridor into its shrine to prevent its being seen from the cave entrance.");
//Same as taking the Leave option. Must find the egg again to take it.
doNext(13);
return;
}
outputText("\n\n(<b>You have now begun the Mysterious Egg quest. The Mysterious Egg is added to the <i>Items</i> at the Camp.</b>)");
//set flags
player.createKeyItem("Dragon Egg",0,0,0,0);
flags[TOOK_EMBER_EGG] = 1;
flags[EMBER_COR] = 50;
doNext(13);
}
//Modified Camp Description (Z)
function emberCampDesc():void {
//Iz Ember an egg?
if(flags[EMBER_HATCHED] == 0) outputText("\nThat mysterious egg that you brought back to the camp is sitting in the crude nest you made.\n");
//NOT AN EGG! HAHA!
else {
var choice:Number = rand(3);
if(choice == 0) outputText("Ember is lying in front of " + emberMF("his","her") + " excavated den, watching the camp and resting. Every once in a while " + emberMF("his","her") + " eyes dart in your direction, before " + emberMF("he","she") + " quickly looks away.\n\n");
else if(choice == 1) outputText("Ember doesn't seem to be around " + emberMF("his","her") + " excavated den... it doesn't take long before Ember lands in front of it and then takes off again, apparently occupied with darting around in the sky for fun.\n\n");
else outputText("Ember appears to be fighting to stay awake; sometimes " + emberMF("he","she") + " falls into a doze, but quickly snaps back to consciousness.\n\n");
}
}
//Followers Descriptor (Z)
function emberFollowerDesc():void {
outputText("The mysterious egg you found in the cave sits in the grass nest you assembled for it; it is three feet tall and nearly two feet in circumference. The nest itself isn't very pretty, but at least it's sturdy enough to keep the egg from rolling around.\n\n");
}
//How Ember should hatch
//General Hatching Rules
//Can only be hatched by using in masturbation.
//Must use in masturbation or use items on egg at least five times before it can be hatched.
//This means that even if 5 items are used on the egg, it won't hatch until the PC masturbates on it at least once.
//Egg starts at 50 Corruption.
//Items that change traits
//Lactaid sets EmberMilk to 1.
//Ovielixir sets EmberOviposition to 1.
//Hair Ext. Serum increments EmberHair from 0 to 1, then to 2.
//Blood is always presented as an option, PC will share their own blood with the egg setting EmberMonstergirl to 1. (Makes Ember more human looking.)
//How to decide Ember's sex
//Incubi's Draft, changes Egg's sex to male if its herm or has no sex, herm if it was female.
//Succubi's Milk, changes Egg's sex to female if its herm or has no sex, herm if it was male.
//If the PC uses the Sexless Egg in masturbation, sex is set to opposite PC's sex for male/female PCs and the same sex for herm PCs.
//Egg's shell color changes based on sex:
//White: Unsexed (initial color).
//Blue: Male
//Pink: Female
//Purple: Herm
//Modifying the Egg's Corruption
//If PC uses the egg in masturbation, modify Egg's Corruption by +5 if the PC has Corruption >= 50, or -5 if the PC has <50 Corruption.
//Normal Incubi's Draft, modify Corruption by +10
//Normal Succubi's Milk, modify Corruption by +10
//Purified Succubi's Milk, modify Corruption by -10
//Purified Incubi's Draft, modify Corruption by -10
//Enhanced Succubi's Milk, modify Corruption by +15
//Enhanced Incubi's Draft, modify Corruption by +15
//How to decide which Ember should hatch.
//For now only Tainted Ember has been written so there's no need to track, but later more types of Ember may be hatched.
//if Egg's Corruption is:
//0-25 = Pure Ember is Born
//26-74 = Tainted Ember is Born
//75-100 = Corrupted Ember is Born
//if EmberType has been altered, forget corruption. Hybrid forms have no corruption variants.
//General Egg Interaction (Z)
function emberEggInteraction():void {
clearOutput();
outputText("You approach the egg you found in that illusion-concealed cave. Though the light continues to pulse with its heartbeat overtones, it still just sits there, doing nothing.");
//(If the egg Corruption level is 0-25, aka \"<i>Pure</i>\")
if(flags[EMBER_COR] <= 25) {
outputText(" As you observe the egg, it glows with soft, metered pulses and you're overcome with a sense of calm and peace. Watching them, you feel serene, as if untouched by this world's taint.");
}
//(else If the egg Corruption level is 26-74, aka \"<i>Tainted</i>\")
else if(flags[EMBER_COR] <= 75) {
outputText(" As you observe the egg, it glows with bright, gaudy pulses and you're overcome with a sense of arrogance and strength. You feel somehow as if you could do anything, as if you were superior to everything, and no one could dare say otherwise.");
}
//(If the egg Corruption level is 75-100, aka \"<i>Corrupt</i>\")
else {
outputText(" As you observe the egg you realize what you had taken for its pulses are actually just its normal color; the egg is actually 'glowing' with a black light! As you stare, mesmerized, you begin to consider the pleasing contrast that would result if you covered it in your ");
if(player.gender == 0) outputText("cum, if you had any... ");
else {
if(player.hasCock()) outputText("white ");
else outputText("glistening girl-");
outputText("cum... ");
}
outputText(" You stop yourself and shake your head. Where did that thought come from?");
stats(0,0,0,0,0,0,10+player.cor/10,0);
}
//(If player has lust >= 33)
if(player.lust >= 33 && (flags[EMBER_EGG_FLUID_COUNT] < 5 || flags[EMBER_JACKED_ON] == 0)) {
outputText("\n\nYou stare at the egg's rhythmic pulsations. As you do, though, you realize the pattern of the pulses is starting to change. It's becoming erratic, as if the egg were excited. For some reason, you suddenly feel aroused, and the egg looks strangely inviting...");
outputText("\n\nYou reach out and have the distinct impression of breathing... no, not breathing... panting. It feels like the egg is panting, eager for something, and you find its eagerness infectious. Placing a hand on the shell, you lean in and press your cheek to the surface, listening; the egg feels warm and throbs as it pulses... almost like a lover's chest just before you consummate your feelings for each other. You have the strangest urge to do just that with this mysterious egg...");
//(additionally to above, if the egg is about to hatch)
if(flags[EMBER_EGG_FLUID_COUNT] == 4) {
outputText("\n\nA feeling of exasperation fills you as well, as if you were almost finished achieving something, but lacked the last step necessary to complete it.");
}
//Do you give in to the urge?
//[Yes][No]
//[= Yes =]
doYesNo(3712,3702);
//(Use the appropriate Egg Masturbation scene.)
return;
}
//(If player meets no other requirements)
else {
outputText("\n\nYou stare at the egg's pulsations as the rhythm shifts slightly. You feel a tinge of excitement, a distant expectation not your own. Though curious about what could be inside, you decide nothing more can be done for now.");
}
var fap:Number = 0;
if(player.lust >= 33) fap = 3712;
var draft:int = 0;
if(hasItem("IncubiD",1)) draft = 3704;
var pDraft:int = 0;
if(hasItem("P.Draft",1)) pDraft = 3705;
var milk:int = 0;
if(hasItem("SucMilk",1)) milk = 3706;
var pMilk:int = 0;
if(hasItem("P.S.Mlk",1)) pMilk = 3707;
var hair:int = 0;
if(hasItem("ExtSerm",1)) hair = 3710;
var ovi:int = 0;
if(hasItem("OviElix",1)) ovi = 3708;
var lactaid:int = 0;
if(hasItem("Lactaid",1)) lactaid = 3709;
var hatch:int = 0;
if(flags[EMBER_EGG_FLUID_COUNT] >= 5 && flags[EMBER_JACKED_ON] > 0 && flags[EMBER_GENDER] > 0) {
hatch = 3713;
outputText("\n\n<b>The egg is ready to be hatched - if you're just as ready.</b>");
}
if(hatch > 0) choices("Hatch",hatch,"Blood",3711,"IncubiDraft",draft,"Pure Draft",pDraft,"Succubi Milk",milk,"Pure Milk",pMilk,"Hair Serum",hair,"Ovi Elixir",ovi,"Lactaid",lactaid,"Back",3703);
else if(fap > 0) choices("Masturbate",fap,"Blood",3711,"IncubiDraft",draft,"Pure Draft",pDraft,"Succubi Milk",milk,"Pure Milk",pMilk,"Hair Serum",hair,"Ovi Elixir",ovi,"Lactaid",lactaid,"Back",3703);
else choices("Hatch",hatch,"Blood",3711,"IncubiDraft",draft,"Pure Draft",pDraft,"Succubi Milk",milk,"Pure Milk",pMilk,"Hair Serum",hair,"Ovi Elixir",ovi,"Lactaid",lactaid,"Back",3703);
}
//[= No =]
function dontEggFap():void {
clearOutput();
outputText("Shaking your head, confused and startled by these strange impulses, you step away for a moment. Once away from the egg, its pattern of pulsations returns to normal and you feel the urges disappear.");
//If PC picks No and qualifies for item use, display the text below.
//(If player has an item that is valid for application)
var fap:Number = 0;
if(player.lust >= 33) fap = 3712;
var draft:int = 0;
if(hasItem("IncubiD",1)) draft = 3704;
var pDraft:int = 0;
if(hasItem("P.Draft",1)) pDraft = 3705;
var milk:int = 0;
if(hasItem("SucMilk",1)) milk = 3706;
var pMilk:int = 0;
if(hasItem("P.S.Mlk",1)) pMilk = 3707;
var hair:int = 0;
if(hasItem("ExtSerm",1)) hair = 3710;
var ovi:int = 0;
if(hasItem("OviElix",1)) ovi = 3708;
var lactaid:int = 0;
if(hasItem("Lactaid",1)) lactaid = 3709;
var hatch:int = 0;
if(flags[EMBER_EGG_FLUID_COUNT] >= 5 && flags[EMBER_JACKED_ON] > 0 && flags[EMBER_GENDER] > 0) hatch = 3713;
outputText(" The egg's rhythm suddenly changes; as if it were excited by something - something that you have brought near it.");
outputText("\n\nYou start fishing through your pockets, holding up the various items you have; it doesn't react to some, while others make its flashes quicken. These you set aside. When you've finished testing the contents of your pouches, you look at the items the egg has selected. As you rest your hand on the egg and consider your choices, it begins to excite once more, alarming you. You pull away and it calms down... the egg considers <b>you</b> an item as well, apparently!");
if(hatch > 0) outputText("\n\n<b>The egg is ready to be hatched - if you're just as ready.</b>");
if(hatch > 0) choices("Hatch",hatch,"Blood",3711,"IncubiDraft",draft,"Pure Draft",pDraft,"Succubi Milk",milk,"Pure Milk",pMilk,"Hair Serum",hair,"Ovi Elixir",ovi,"Lactaid",lactaid,"Back",3703);
else if(fap > 0) choices("Masturbate",fap,"Blood",3711,"IncubiDraft",draft,"Pure Draft",pDraft,"Succubi Milk",milk,"Pure Milk",pMilk,"Hair Serum",hair,"Ovi Elixir",ovi,"Lactaid",lactaid,"Back",3703);
else choices("Hatch",hatch,"Blood",3711,"IncubiDraft",draft,"Pure Draft",pDraft,"Succubi Milk",milk,"Pure Milk",pMilk,"Hair Serum",hair,"Ovi Elixir",ovi,"Lactaid",lactaid,"Back",3703);
}
//Leave Without Using Item (Z)
function leaveWithoutUsingAnEmberItem():void {
clearOutput();
outputText("You shake your head; it would probably be best not to tamper with it. Returning the items to your pockets, you leave the egg alone. As you put them away, the egg's glow slows down dramatically, almost as if it were feeling... disappointment?");
doNext(1000);
}
//Incubus Draft/Purified Incubus Draft (Z)
function useIncubusDraftOnEmber(purified:Boolean = false):void {
clearOutput();
if(purified) {
consumeItem("P.Draft",1);
flags[EMBER_COR] -= 10;
if(flags[EMBER_COR] < 0) flags[EMBER_COR] = 0;
}
else {
consumeItem("IncubiD",1);
flags[EMBER_COR] += 10;
if(flags[EMBER_COR] > 100) flags[EMBER_COR] = 100;
}
outputText("Uncorking the vial, you drizzle the slimy off-white fluid onto the pointed cone of the egg. It oozes slowly across the surface, then seeps through the shell, leaving not a drop of moisture.");
if(flags[EMBER_GENDER] == 3 || flags[EMBER_GENDER] == 0) {
outputText(" The egg's shell slowly changes to a soft, pastel blue.");
flags[EMBER_GENDER] = 1;
}
else if(flags[EMBER_GENDER] == 2) {
outputText(" The egg's shell slowly changes to a lavender hue.");
flags[EMBER_GENDER] = 3;
}
flags[EMBER_EGG_FLUID_COUNT]++;
doNext(1);
}
//Succubi Milk/Purified Succubi Milk (Z)
function useSuccubiMilkOnEmber(purified:Boolean = false):void {
clearOutput();
if(purified) {
consumeItem("P.S.Mlk",1);
flags[EMBER_COR] -= 10;
if(flags[EMBER_COR] < 0) flags[EMBER_COR] = 0;
}
else {
consumeItem("SucMilk",1);
flags[EMBER_COR] += 10;
if(flags[EMBER_COR] > 100) flags[EMBER_COR] = 100;
}
outputText("Popping the cap off of the milk bottle, you pour the contents onto the egg - the porous shell soaks up the milk as fast as you dump it, spilling not a drop.");
//(If Unsexed or Herm:
if(flags[EMBER_GENDER] == 3 || flags[EMBER_GENDER] == 0) {
outputText(" The egg's shell slowly changes to a muted pink color.");
flags[EMBER_GENDER] = 2;
}
//If Male:
else if(flags[EMBER_GENDER] == 1) {
outputText(" The egg's shell slowly changes to a lavender hue.");
flags[EMBER_GENDER] = 3;
}
flags[EMBER_EGG_FLUID_COUNT]++;
doNext(1);
}
//Ovi Elixir (Z)
function useOviElixerOnEmber():void {
clearOutput();
consumeItem("OviElix",1);
//max uses 1
outputText("Uncorking the crystalline bottle, you pour the strange green liquid inside onto the egg, briefly wondering what on earth it could want with this stuff, before catching your fallacy. It's an egg, right? It can't want things... The fluid spills all over the shell, coating it, and then seeps inside, leaving the egg's previously pale surface marked with small green splotches.");
flags[EMBER_OVIPOSITION] = 1;
flags[EMBER_EGG_FLUID_COUNT]++;
doNext(1);
}
//Lactaid (Z)
function useLactaidOnEmber():void {
clearOutput();
consumeItem("Lactaid",1);
//max uses 1
outputText("Feeling a little bemused, you pour the creamy fluid onto the egg. It is absorbed through the shell, and a spiderwork of creamy yellow vein-like markings suddenly forms on the shell's surface.");
flags[EMBER_MILK] = 1;
flags[EMBER_EGG_FLUID_COUNT]++;
doNext(1);
}
//Hair Extension Serum (Z)
function hairExtensionSerum():void {
clearOutput();
consumeItem("ExtSerm",1);
//max uses 2
outputText("Wondering at your motivations, you pour the goblin gunk onto the egg. Most rolls harmlessly off of the shell, leaving you annoyed at the waste... until you see ");
if(flags[EMBER_HAIR] == 0) {
outputText("a narrow tiger-stripe pattern suddenly develop");
flags[EMBER_HAIR] = 1;
}
else {
outputText("the tiger-stripes multiply");
flags[EMBER_HAIR] = 2;
}
outputText(" on the egg.");
flags[EMBER_EGG_FLUID_COUNT]++;
doNext(1);
}
//Your Blood (Z)
function giveEmberBludSausages():void {
clearOutput();
//max uses 2
outputText("Examining your hand and the egg's reaction to it, you wonder if this is what the book meant by \"<i>sharing your essence</i>\". Could be worth trying. Wincing in pain as you bite the skin on your thumb, you smear the bloody digit along the surface of the egg, marking its exterior in crimson. Shortly thereafter the blood is absorbed, leaving only a stain. You wait expectantly for something else to happen");
//[(0 prior),
if(flags[EMBER_ROUNDFACE] == 0) {
outputText(" but the egg just glows its excitement, as if it wanted still more.");
flags[EMBER_INTERNAL_DICK] = 1;
}
else {
outputText(", but nothing does. How disappointing.");
flags[EMBER_INTERNAL_DICK] = 0;
}
takeDamage(1);
flags[EMBER_ROUNDFACE] = 1;
//(Token HP Loss, can't drop below 1 HP.)
takeDamage(10);
flags[EMBER_EGG_FLUID_COUNT]++;
doNext(1);
}
//Masturbate Onto the Egg (Z)
//Genderless Version (Z)
function masturbateOntoAnEgg():void {
clearOutput();
if(player.gender == 0) {
outputText("The light pulses decrease in speed as you disrobe and expose your bare crotch, leaving you disappointed after summoning your perversity to bring you this far. You feel as if you've let it down somehow... This is confusing! You decide to go away and deal with this fickle egg another time.");
doNext(13);
return;
}
//Nothing changes. PC can go do something else, lose no time.
//Male Version (Z)
if(player.gender == 1) {
outputText("The light of the egg pulses rapidly, throwing strange illumination and shadow over your form as you hastily peel off your [armor], too far gone to recognize the absurdity. Your heart is racing so fast with excitement, lust, anticipation... it actually matches the tempo of the pulses from the egg, when you care to notice.");
outputText("\n\nGrabbing your [cock] in your hands, you stand in front of the egg, ");
if(player.cockTotal() <= 2) outputText("pumping vigorously.");
else outputText("wrangling all your shafts together into one awkward bouquet of male organs and furiously stroking and squeezing them as best you can manage");
outputText(". The egg's pulsations lure you on, coaxing you to squeeze and pull and thrust and massage " + sMultiCockDesc() + " as best you can. Harder and faster you go, feeling the churning ache from deep inside you. Finally, with a cry of release, you unleash a ");
if(player.cumQ() < 100) outputText("trickle");
else if(player.cumQ() <= 500) outputText("stream");
else if(player.cumQ() <= 1000) outputText("gout");
else outputText("wave");
outputText(" of cum onto the egg.");
outputText("\n\nPanting, you stare at what you have unleashed. Before your eyes, the pulsations come with incredible rapidity as your sexual fluid literally seeps into the egg's shell. And then, when every drop has been drunk, the light resumes its normal rhythm.");
//(If the egg has no sex)
if(flags[EMBER_GENDER] == 0) {
outputText("\n\nThe egg's shell change color, from white to muted pink.");
flags[EMBER_GENDER] = 2;
}
outputText("\n\nYou look at the egg's surface in amazement and examine it for any trace of cum; when you touch the shell, you feel a strange feeling emanate from the egg; a feeling of satisfaction and fulfillment. Whatever life-force exists inside that egg may have been strengthened by your... contribution. You can't help but wonder what the creature inside is.");
}
//Female Version (Z)
else if(player.gender == 2) {
outputText("The light of the egg pulses rapidly, throwing strange illumination and shadow over your form as you hastily peel off your [armor], too far gone to recognize the absurdity. Your heart is racing so fast with excitement, lust, anticipation... it actually matches the tempo of the pulses from the egg, when you care to notice.");
outputText("\n\nUnthinkingly, you walk up the egg; your [vagina] burns to be used. Wrapping your arms around it and squatting down, you begin to rub your crotch against its warm, hard surface. The texture is unlike anything you've used before, and you moan with pleasure as your juices begin to flow, slicking the eggshell. Harder you press against it, grinding into the unyielding surface, up and down, faster and faster. The sensation of the shell scraping against your needy netherlips only fills you with excitement; this is like no toy you've ever used before. Briefly you think that may be because it's no toy at all, but the thought evaporates as you make your next stroke. Harder and faster you buck and writhe, screaming your excitement and delight until, finally, your [vagina] spasms and a ");
if(player.wetness() <= 3) outputText("few drops");
else if(player.wetness() < 5) outputText("squirt");
else outputText("torrent");
outputText(" of girlcum jumps from your pussy onto the egg.");
outputText("\n\nReleasing its surface and panting with the exertion, you step back, your legs wobbly for a few moments. You stare at what you have unleashed. Before your eyes, the pulsations come with incredible rapidity as your sexual fluid literally seeps into the egg's shell. And then, when every drop has been drunk, the light resumes its normal rhythm.");
//(If the egg has no sex)
if(flags[EMBER_GENDER] == 0) {
flags[EMBER_GENDER] = 1;
outputText("\n\nYou stare in curiosity as the egg's shell change color, from white to pale blue.");
}
outputText("\n\nYou look at the egg's surface in amazement and examine it for any trace of cum; when you touch the shell, you feel a strange feeling emanate from the egg; a feeling of satisfaction and fulfillment. Whatever life-force exists inside that egg may have been strengthened by your... contribution. You can't help but wonder what the creature inside is.");
}
else {
//Herm Version (Z)
outputText("The light of the egg pulses rapidly, throwing strange illumination and shadow over your form as you hastily peel off your [armor], too far gone to recognize the absurdity. Your heart is racing so fast with excitement, lust, anticipation... it actually matches the tempo of the pulses from the egg, when you care to notice.");
outputText("\n\nTormented by the need in both your " + multiCockDescriptLight() + " and your [vagina], you awkwardly straddle the egg's upper surface, allowing you to grind your netherlips against its shell and stroke [eachCock] at the same time. It is an awkward, herky-jerky act, struggling to avoid falling off... but the sensation so makes up for it. Your [vagina] slides and grinds against the egg's hard, unyielding shell as your hand tugs and pulls ");
if(player.cockTotal() == 1) outputText("your [cock]");
else outputText("as many of your cocks as you can manage to grab without falling off");
outputText(". Finally, relentlessly, inexorably, you cum, spraying your semen into the air to spatter back onto the egg, mixing with the girlish juices from your netherlips to soak into the egg's surface, leaving it slick with your mixed sexual fluids.");
outputText("\n\nIt's no wonder that you finally lose your battle and slip off, landing hard on your back. You lay there, gasping for air, and are only just starting to breathe normally again when you see what is happening to the egg. Before your eyes, the pulsations come with incredible rapidity as your sexual fluid literally seeps into the egg's shell. And then, when every drop has been drunk, the light resumes its normal rhythm.");
//(If the egg has no sex)
if(flags[EMBER_GENDER] == 0) {
flags[EMBER_GENDER] = 3;
outputText("\n\nYou stare as the egg's shell changes color, from white to lavender.");
}
outputText("\n\nYou look at the egg's surface in amazement and examine it for any trace of cum; when you touch the shell, you feel a strange feeling emanate from the egg; a feeling of satisfaction and fulfillment. Whatever life-force exists inside that egg may have been strengthened by your... contribution. You can't help but wonder what the creature inside is.");
}
//(If egg has been fed at least once but not enough)
if(flags[EMBER_EGG_FLUID_COUNT] < 5) {
outputText("\n\nYou note the egg emanates a feeling of greater satisfaction than before, but still not enough. Maybe it will hatch if you feed it more?");
}
stats(0,0,0,0,0,-1,-100,0);
//MAKE SURE EMBER HAS BEEN JACKED ON FLAG IS SET TO TRUE
flags[EMBER_JACKED_ON] = 1;
//INCREMENT EMBER FEEDINZ
flags[EMBER_EGG_FLUID_COUNT]++;
doNext(13);
}
//HATCH DAT BITCH
function hatchZeMuzzles():void {
clearOutput();
outputText("Resting bonelessly on the ground and re-examining the motivations that led up to cumming on the strange egg, you are startled when it shines brilliantly. Then just as suddenly, it goes dark. Unnerved, you creep over to your erstwhile sextoy to examine it. As you lean in, a very slight trembling manifests itself in the egg. Cracking, breaking noises fill the air as tiny fractures begin to show across the egg's surface. Warned just in time by them, you turn your face away and cover your head as the shell erupts into a cloud of tiny fragments! As you huddle against the storm of eggshell shards, you hear a loud roar.");
outputText("\n\nLifting your head, you find the egg gone; in its place is an unfamiliar figure wrapped in thin wisps of ");
if(flags[EMBER_GENDER] == 0) outputText("white ");
else if(flags[EMBER_GENDER] == 1) outputText("blue ");
else if(flags[EMBER_GENDER] == 2) outputText("pink ");
else outputText("purple ");
outputText("dust.");
//FURRAH
if(flags[EMBER_ROUNDFACE] == 0) {
//Male Anthro (Z)
if(flags[EMBER_GENDER] == 1) {
outputText("\n\nIt's huge, standing 7 feet tall at the very least. Its build is lean and slender, with powerful arms and legs that end in reptilian claws, complete with splay-toed feet capped by menacing talons.");
outputText("\n\nLeathery reptilian wings grow from its back, and the creature reveals their impressive span as it tests and stretches them. The wings are comprised of taut, thin membranes; scaly flesh stretched between prominent bone struts. A reptilian muzzle replete with sharp teeth fit for a predator graces the world, and a large ebony horn curves around and forward from either temple.");
outputText("\n\nA long tongue, long as a whip, slips out from within its jaws to lick its clawed hands and then vanishes back into its mouth with lightning speed. Prideful, fierce eyes stare at you, with slit pupils and burning orange irises that glitter and shine even in the darkness.");
outputText("\n\nThe creature is covered from head to toe in prominent, shield-shaped scales. Its dorsal scales are silver and reflect light, while its underbelly is a golden color, giving it a regal appearance.");
//(If Ember lactates)
if(flags[EMBER_MILK] > 0) outputText("\n\nYour eyes set upon its chest, where perky, dribbling nipples jut from the breasts resting there. You size the creature as roughly an F-cup.");
//(Otherwise)
else outputText("\n\nYour eyes set upon its chest, where perky nipples jut from between small, aureate ventral scales.");
//[(libido check)
if(player.lib >= 50) outputText("\n\nUnthinkingly, your eyes wander next to");
else outputText("\n\nSurreptitiously, you sneak a peek at");
outputText(" the monster's crotch; there, a deceptively small slit in the flesh suddenly disgorges a 16-inch penis unlike anything you've ever seen before, bearing a rounded, elongated head and a series of ridges that give it an almost segmented look. A pair of apple-sized balls drop into place under it. He is most definitely male");
if(flags[EMBER_MILK] > 0) outputText(", drooling nipples notwithstanding");
outputText(".");
}
//Female Anthro (Z)
else if(flags[EMBER_GENDER] == 2) {
outputText("\n\nIt's huge, standing 7 feet tall at the very least. Its build is lean and slender, with powerful arms and legs that end in reptilian claws, complete with splay-toed feet capped by menacing talons.");
outputText("\n\nLeathery reptilian wings grow from its back, and the creature reveals their impressive span as it tests and stretches them. The wings are comprised of taut, thin membranes; scaly flesh stretched between prominent bone struts. A reptilian muzzle replete with sharp teeth fit for a predator graces the world, and a large ebony horn curves around and forward from either temple.");
outputText("\n\nA long tongue, long as a whip, slips out from within its jaws to lick its clawed hands and then vanishes back into its mouth with lightning speed. Prideful, fierce eyes stare at you, with slit pupils and burning orange irises that glitter and shine even in the darkness.");
outputText("\n\nThe creature is covered from head to toe in prominent, shield-shaped scales. Its dorsal scales are silver and reflect light, while its underbelly is a golden color, giving it a regal appearance.");
outputText("\n\nYour eyes set upon its chest, where perky nipples jut from the breasts resting there. You size the creature as roughly an F-cup.");
//[(libido check)
if(player.lib >= 50) outputText("\n\nUnthinkingly, your eyes wander to");
else outputText("\n\nSurreptitiously, you sneak a peek at");
outputText(" the monster's crotch; there, you see that the fine scales actually separate to reveal a slick-looking pussy. She's clearly a female, with no noteworthy 'additions' that you can see.");
}
//Herm Anthro (Z)
else {
outputText("\n\nIt's huge, standing 7 feet tall at the very least. Its build is lean and slender, with powerful arms and legs that end in reptilian claws, complete with splay-toed feet capped by menacing talons.");
outputText("\n\nLeathery reptilian wings grow from its back, and the creature reveals their impressive span as it tests and stretches them. The wings are comprised of taut, thin membranes; scaly flesh stretched between prominent bone struts. A reptilian muzzle replete with sharp teeth fit for a predator graces the world, and a large ebony horn curves around and forward from either temple.");
outputText("\n\nA long tongue, long as a whip, slips out from within its jaws to lick its clawed hands and then vanishes back into its mouth with lightning speed. Prideful, fierce eyes stare at you, with slit pupils and burning orange irises that glitter and shine even in the darkness.");
outputText("\n\nThe creature is covered from head to toe in prominent, shield-shaped scales. Its dorsal scales are silver and reflect light, while its underbelly is a golden color, giving it a regal appearance.");
outputText("\n\nYour eyes set upon its chest, where perky nipples jut from the breasts resting there. You size the creature as roughly an F-cup.");
if(player.lib >= 50) outputText("\n\nUnthinkingly, your eyes wander to ");
else outputText("\n\nSurreptitiously, you sneak a peek at ");
outputText("the monster's crotch; there, you see the scales part in two places. The lower opening is unmistakably a pussy; but from the slit just above it suddenly distends a 16-inch penis unlike anything you've ever seen before, bearing a rounded, elongated head and a series of ridges that give it an almost segmented look. Beneath it, a pair of apple-sized balls fall into place heavily, leaving you no doubt that she is a hermaphrodite.");
}
}
//Boring version
else {
//Male Monstergirl (Z)
if(flags[EMBER_GENDER] == 1) {
outputText("\n\nYour first impression is of a humanoid figure, but a closer look reveals some very non-human traits. While parts of it are covered in olive-hued skin, the rest glints with silvery, reptilian scales. It stands taller than any human, easily over 7 feet, and even from here you can see huge draconic wings, a pair of long, ebony-black horns, and a lashing, scaled tail. Reptilian eyes literally glow a fiery orange as they stare warily at you.");
outputText("\n\nThe figure is masculine in appearance, with the features of a strong, defined musculature. There is a certain androgyny in his build");
if(flags[EMBER_MILK] > 0 || flags[EMBER_HAIR] > 0) outputText(", complete with ");
if(flags[EMBER_MILK] > 0) {
outputText("huge breasts, easily F-cups");
if(flags[EMBER_HAIR] > 0) outputText(" and ");
}
if(flags[EMBER_HAIR] > 0) outputText("long, feminine locks of hair");
outputText(", but his maleness is undeniable. Especially when you spot ");
if(flags[EMBER_INTERNAL_DICK] > 0) outputText("the slit in his pelvis that disgorges a foot and a half-long inhuman penis");
else outputText("a foot and a half long human penis that sways between his legs");
outputText(", completed by apple-size nuts held inside a fleshy sack.");
}
//Female Monstergirl (Z)
else if(flags[EMBER_GENDER] == 2) {
outputText("\n\nYour first impression is of a humanoid figure, but a closer look reveals some very non-human traits. While parts of it are covered in olive-hued skin, the rest glints with silvery, reptilian scales. It stands taller than any human, easily over 7 feet, and even from here you can see huge draconic wings, a pair of long, ebony-black horns, and a lashing reptilian tail. Reptilian eyes literally glow a fiery orange as they stare warily at you.");
outputText("\n\nThe figure is feminine in appearance, with graceful, well-toned curves. Her form is delightful, giving her a silhouette that any woman back in Ingnam would kill for; huge, soft breasts adorn her chest. Down below you see a taut belly, a handful of rounded butt, and feminine thighs that draw your attention with every move... and in-between those wonderful thighs you see an inviting, human-looking slit; some moisture has gathered, giving it a slick look that just begs for attention.");
}
//Herm Monstergirl (Z)
else {
outputText("\n\nYour first impression is of a humanoid figure, but a closer look reveals some very non-human traits. While parts of it are covered in olive-hued skin, the rest glints with silvery, reptilian scales. It stands taller than any human, easily over 7 feet, and even from here you can see huge draconic wings, a pair of long, ebony-black horns, and a lashing reptilian tail. Reptilian eyes literally glow a fiery orange as they stare warily at you.");
outputText("\n\nThe figure seems feminine at first glance; beautifully feminine features, a delightfully curvaceous build, and huge breasts atop her chest. However, looking between her legs reveals a very unladylike extra feature; dangling over a vaginal slit, she has a ");
if(flags[EMBER_INTERNAL_DICK] == 0) outputText("huge, human prick");
else outputText("huge inhuman cock hanging from some kind of internal sheath");
outputText(" and apple-size nuts held inside a fleshy sack slung under - the ensemble hangs nearly level with her knees. She... or he? is obviously a hermaphrodite.");
}
}
//Aftermath (Z)
doNext(3714);
}
//Aftermath (Z)
function meetEmberAftermath():void {
clearOutput();
outputText("You can only stand there and stare at this strange creature, supposedly a dragon, for what feels like hours.");
outputText("\n\nIt's the first to break the silence, frowning at you. \"<i>Who are you? Where am I?</i>\" it inquires, growling.");
outputText("\n\nCurious, it speaks your language... might as well consider the ice broken. You introduce yourself, telling the creature that you helped it hatch from the egg.");
outputText("\n\nIt relaxes a bit. \"<i>E-Egg? Oh, yes. That. Since you say you helped me, I guess I should introduce myself...</i>\ You wait patiently, but all the creature really does is stare down at the ground, apparently struggling to recall its name. \"<i>The Last Ember of Hope; that's what my mind tells me. I assume your kind, like the others, will have trouble with a name longer than one word, so I shall allow you to address me as \'Ember\'. As you can see, I am...</i>\" it pauses, spreading its arms and wings in a showy flourish. \"<i>... The last of the great dragons!</i>\" It waves you off and starts walking away. \"<i>Now, let's see what sort of place I'll be calling my own... </i>\"");
outputText("\n\nYou watch the newly hatched dragon, poking its nose into everything that catches its eye, and sigh softly as it starts to burrow into a small elevation in the cracked ground. Going to be a difficult one, it seems. Still, it doesn't seem to be some kind of sex-crazed monster like the other weird natives you've met thus far. Maybe the two of you can help each other?");
outputText("\n\n(<b>Ember has been gained as a follower!</b>)");
flags[EMBER_HATCHED] = 1;
player.removeKeyItem("Dragon Egg");
doNext(13);
}
//Appearance (shows Ember's appearance, always available)
function embersAppearance():void {
clearOutput();
//Anthro Ember's Appearance (Z)
if(flags[EMBER_ROUNDFACE] == 0) {
outputText("Ember is a 7' 3\" tall humanoid dragon, with supple, long limbs and a build that is toned and athletic, with powerful underlying muscles. " + emberMF("He","She") + " looks strong and imposing, but ");
if(flags[EMBER_GENDER] == 1) outputText(" not overly muscled.");
else outputText(" feminine.");
//(Male)
if(flags[EMBER_GENDER] == 1) {
outputText("\n\nEmber's body is the perfect picture of a healthy male. Not underweight or overweight, but with just the perfect amount of fat that, excepting the");
if(flags[EMBER_MILK] > 0) outputText(" dribbling breasts,");
outputText(" snout, wings, and horns, gives him the silhouette of a prince from your village's stories: dashing and handsome.");
}
//(Female/Herm)
else {
outputText("\n\nEmber's body is a curvy thing, not rough like you'd expect from a reptilian creature, but rounded and almost soft-looking, with a taut belly and a perfect hourglass figure, giving " + emberMF("him","her") + " the silhouette of an amazon from your village's histories: beautiful but powerful. Excepting the wings and horns, of course.");
}
outputText("\n\nThe dragon scorns clothing and exposes " + emberMF("him","her") + "self to both you and the elements with equal indifference, claiming " + emberMF("his","her") + " scales are all the covering " + emberMF("he","she") + " needs... and yet when you admire " + emberMF("his","her") + " body, " + emberMF("he","she") + " is quick to hide it from your wandering gaze.");
outputText("\n\n" + emberMF("His","Her") + " head is reptilian, with sharp teeth fit for a predator and strong ridges on the underside of the jaw. At the sides of " + emberMF("his","her") + " head are strange, fin-like growths concealing small holes; you presume these to be the dragon equivalent of ears. Atop " + emberMF("his","her") + " head sit a pair of ebony horns that curve backwards elegantly; despite being as tough as steel, their shape is not fit for use in combat, instead it is simply aesthetical, giving Ember a majestic look. A long tongue occasionally slips out, to lick at " + emberMF("his","her") + " jaws and teeth. Prideful, fierce eyes, with slit pupils and burning orange irises, glitter even in the darkness.");
//(if Ember has any hair)
if(flags[EMBER_HAIR] == 1) {
if(flags[EMBER_GENDER] == 1) outputText(" Short ");
else outputText(" Shoulder-length ");
outputText("steel-gray hair sprouts from " + emberMF("his","her") + " head. You'd think that a dragon with hair would look weird, but it actually compliments Ember's looks very well.");
}
//(if Ember has a level 2 mane)
else if(flags[EMBER_HAIR] == 2) {
outputText(" Tracing " + emberMF("his","her") + " spine, a mane of hair grows; starting at the base of " + emberMF("his","her") + " neck and continuing down " + emberMF("his","her") + " tail, ending on the tip of " + emberMF("his","her") + " tail in a small tuft. It is the same color as the hair on " + emberMF("his","her") + " head, but shorter and denser; it grows in a thick vertical strip, maybe two inches wide. It reminds you vaguely of a horse's mane.");
}
outputText("\n\n" + emberMF("His","Her") + " back supports a pair of strong, scaly dragon wings, covered in membranous leathery scales. The muscles are held taut, as though ready to extend and take to the skies at any notice.");
//(Male)
if(flags[EMBER_GENDER] == 1) outputText("\n\nHis hips are normal-looking, not demanding any kind of extra attention. His butt is taut and firm, lending itself well to balance.");
//(Female/Herm)
else outputText("\n\n\Her girly hips are as eye-catching as the shapely handful that graces her posterior, giving Ember a graceful strut. And that same delightful butt of hers just begs to be touched, soft enough to jiggle only slightly and yet firm enough to not trouble the dragon's balance.");
outputText("\n\nA long, scaly, flexible tail lashes behind " + emberMF("him","her") + ", its final third adorned with small bumps that can extend into vicious-looking spikes. " + emberMF("His","Her") + " legs appear humanoid until the feet, where they end in powerful, taloned reptilian claws meant for gripping at the ground.");
outputText("\n\nEmber is covered from head to toe in shield-shaped scales. " + emberMF("His","Her") + " dorsal scales are silver and reflect the light well, while " + emberMF("His","Her") + " underbelly is a rich golden color that stands in stark contrast. These metallic-colored scales are large and prominent on Ember's back and the exterior of " + emberMF("his","her") + " limbs, but, on " + emberMF("his","her") + " face, the interior of " + emberMF("his","her") + " limbs and the front of " + emberMF("his","her") + " body, they are very small and fine, giving them a smooth and silken texture.");
outputText(" The ");
if(flags[EMBER_ROUNDFACE] == 0) outputText("little ");
outputText("exposed flesh of Ember's body is a light shade of pink; but flushes when " + emberMF("he","she") + "'s aroused, drawing your eyes towards " + emberMF("his","her") + " most sexual parts.");
//(Ember breast check)
outputText("\n\nSituated upon " + emberMF("his","her") + " chest are a pair of ");
if(flags[EMBER_MILK] > 0 || flags[EMBER_GENDER] >= 2) outputText("F-cup soft, pillowy breasts");
else outputText("flat manly pecs");
outputText(" covered in fine scales excepting " + emberMF("his","her") + " areolas; 0.5 inch nipples protrude from the center of the ");
if(flags[EMBER_MILK] > 0 || flags[EMBER_GENDER] >= 2) outputText("generous mounds");
else outputText("masculine pectorals");
outputText(".");
//(If Ember has a penis)
if(flags[EMBER_GENDER] == 1 || flags[EMBER_GENDER] == 3) {
outputText("\n\nHanging from " + emberMF("his","her") + " crotch, where it emerges from a slit leading to the interior of " + emberMF("his","her") + "r pelvic cavity, is a 16 inch-long, two-inch wide penis with a shape unlike any other that you've seen so far in this realm.");
outputText("\n\nThe head is rounded and elongated, while the shaft has a series of ridges, evenly spaced and so prominent as to give it an almost segmented appearance. When fully extended; a pair of apple-sized testicles drops out of " + emberMF("his","her") + " genital slit.");
}
//(If Ember has a vagina)
if(flags[EMBER_GENDER] == 2 || flags[EMBER_GENDER] == 3) outputText("\n\nThe scales in-between Ember's legs are particularly smooth and fine, and part just enough to reveal the insides of her slick pussy; soft, inviting and moist.");
outputText("\n\nAt first Ember puffs " + emberMF("his","her") + " chest in pride at your obvious appreciation of " + emberMF("his","her") + " form, letting you examine " + emberMF("him","her") + " as closely as you want, but after a minute " + emberMF("he","she") + " starts blushing in both arousal and embarrassment, eventually covering " + emberMF("him","her") + "self and blurting out, \"<i>That's enough looking!</i>\"");
outputText("\n\n" + emberMF("His","Her") + " reaction to your staring is kind of cute, actually. " + emberMF("His","Her") + " swaying tail and small fidgets let you know that " + emberMF("he","she") + " actually might've been enjoying " + emberMF("him","her") + "self a bit too much...");
}
//Dragon-girl Appearance (By Radar) (Z)
else {
//Credit him with additional scenes.
outputText("Ember is a 7' 3</i>\" tall ");
if(flags[EMBER_GENDER] == 1) outputText("male");
else if(flags[EMBER_GENDER] == 2) outputText("female");
else outputText("hermaphrodite");
outputText(" dragon-" + emberMF("boy","girl") + ", with slender limbs and a thin frame; " + emberMF("he","she") + " refuses to wear any kind of clothing and exposes " + emberMF("him","her") + "self naturally to the world. " + emberMF("He","She") + " sports a rather human looking face, but with several key differences. Where a normal set of human eyes would be located, instead a pair of orange, reptilian eyes stares back at you, filled with immeasurable pride and ferocity.");
outputText("\n\nOn the sides of " + emberMF("his","her") + " face, you spot an exotic pattern of dragon scales that are intertwined with " + emberMF("his","her") + " olive, human like skin, which branch down " + emberMF("his","her") + " neck and shoulders before merging with " + emberMF("his","her") + " predominantly scaled body. Like the dragons from your village lore, Ember sports a pair of ebony, draconic horns that emerge from " + emberMF("his","her") + " temples, boldly curved backwards past " + emberMF("his","her") + " scalp. While you aren't certain of their rigidity, they look like they could deflect most overhead attacks. Drawn to " + emberMF("his","her") + " jaw, you zero in on an attractive pair of pink, human lips. The calm appearance of " + emberMF("his","her") + " mouth almost makes you forget the many sharp teeth that Ember sports, which could easily rend flesh from a body if Ember put " + emberMF("his","her") + " mind to it.");
outputText("\n\nThe shiny, silver hair that coiffures the dragon's head compliments " + emberMF("his","her") + " facial features well and ");
//Short:
if(flags[EMBER_HAIR] < 1) outputText("is quite short, giving " + emberMF("him","her") + " that definitive " + emberMF("masculine","tomboy") + " look.");
else outputText("drops down to " + emberMF("his","her") + " shoulders, giving " + emberMF("him","her") + " the look of the " + emberMF("handsome","beautiful") + " warriors from your village legends.");
outputText("\n\n" + emberMF("His","Her") + " chest is also human in appearance and houses a pair of ");
if(flags[EMBER_MILK] > 0 || flags[EMBER_GENDER] >= 2) outputText("F-cup breasts that support 0.5 inch nipples and hang heavily; you idly wonder if " + emberMF("he","she") + "'ll develop lower back problems as she spends more time in Mareth");
else outputText("manly pectorals with 0.5 inch nipples");
outputText(". Just below " + emberMF("his","her") + " collarbone, in the middle of " + emberMF("his","her") + " chest, you see what looks like a small, golden, heart-shaped scale; adorning the chest like a birthmark of some sort.");
outputText("\n\nAs you stare down at Ember's stomach, you note that the human-looking layer of flesh ends and the scaly dragon skin begins. Still humanoid in shape, you can make out the " + emberMF("masculine","feminine") + " features of Ember's belly and lower torso well enough.");
outputText("\n\nThis layer of scaling extends to " + emberMF("his","her") + " back as well, albeit without any patches of human skin. A fine stripe of white mane adorns Ember's spine and catches your eye. The leathery wings that jut out of Ember's back around them only add to the fierce appearance of " + emberMF("his","her") + " body, and look like they could easily propel their owner into the air.");
outputText("\n\nEmber has, in most respects, a rather human-looking pelvis.");
if(flags[EMBER_GENDER] == 1 || flags[EMBER_GENDER] == 3) {
if(flags[EMBER_INTERNAL_DICK] == 0) outputText(" " + emberMF("He","She") + " sports a flaccid penis and a pair of apple-sized balls that sit dangerously exposed to the elements, let alone to naked blades or a heavy blow. Yet " + emberMF("he","she") + " doesn't seem concerned about that in the least, almost daring anyone to focus on them. While " + emberMF("he","she") + " isn't aroused right now, Ember's penis can reach a length of approximately 16 inches, and it looks to be about 2 inches thick.");
else outputText(" " + emberMF("He","She") + " sports what looks like a protective slit of some sort, protecting " + emberMF("his","her") + " dick from the elements as well as stray blows. You can't see it right now; but you remember it to be about 16 inches long and 2 inches thick.");
}
//Ember has a pussy:
if(flags[EMBER_GENDER] >= 2) outputText(" The inviting lips of a human-looking pussy purse between her legs; some moisture seems to have gathered on her labia, giving it a slick look that just begs for attention.");
outputText("\n\nEmber's legs themselves are somewhat human-like in appearance, but they're covered in the thick protective scales that don most of " + emberMF("his","her") + " extremities. Only the feet look like anything but normal human anatomy; the clawed feet of a predator decorate " + emberMF("him","her") + " instead, capped with talons meant for gripping at the ground... or at prey.");
outputText("\n\nHaving drawn the dragon's attention with your examination of " + emberMF("his","her") + " body, Ember darts a reptilian tongue out from " + emberMF("his","her") + " lips, as if to entice you.");
}
doNext(3691);
}
//Talk
function talkToEmber():void {
//Checks for special scenes go here!
//If the PC fulfills one of the requirements for the Special Scenes, they occur the moment the player picks the talk option.
if(flags[EMBER_OVI_BITCHED_YET] == 0 && player.pregnancyType == 5) {
emberBitchesAboutPCBeingFullOfEggs();
doNext(13);
return;
}
if(player.pregnancyIncubation > 0 && player.pregnancyIncubation < 200 && player.pregnancyType != 17 && flags[EMBER_BITCHES_ABOUT_PREGNANT_PC] == 0) {
manEmberBitchesAboutPCPregnancy();
doNext(13);
return;
}
if(player.pregnancyIncubation > 0 && player.pregnancyType == 17 && player.pregnancyType < 300 && flags[EMBER_TALKS_TO_PC_ABOUT_PC_MOTHERING_DRAGONS] == 0) {
emberTalksToPCAboutPCDragoNPregnancy();
doNext(13);
return;
}
if(flags[EMBER_INCUBATION] < 330 && flags[EMBER_INCUBATION] > 0 && flags[EMBER_PREGNANT_TALK] == 0) {
emberIsPregnantFirstTimeTalkScene();
doNext(13);
}
clearOutput();
outputText("What will you talk about?");
//Else you can pick one of three topics:
//Talk about Dragons
//Talk about Exploring
//Talk about Yourself
simpleChoices("Dragons",3717,"Exploring",3718,"Yourself",3719,"",0,"Back",3691);
}
//Talk about Dragons (Z)
function talkToEmberAboutDragonzzz():void {
clearOutput();
outputText("You ask Ember to tell you more about " + emberMF("his","her") + " species.");
var choice:Number = rand(5);
if(choice == 0) {
outputText("\n\nEmber crosses " + emberMF("his","her") + " arms. \"<i>Dragons are powerful and proud! You would never see a dragon back away from a challenge; instead, we relish in competition.</i>\" Ember continues talking about how dragons like to challenge each other. Although interesting at first, you get bored soon, so you excuse yourself and leave. Ember seems not to notice, and looks pleased to have had the chance to extoll the virtues of " + emberMF("his","her") + " species.");
//(+Affection)
emberAffection(2+rand(3));
}
else if(choice == 1) {
outputText("\n\nEmber thinks for a moment before saying. \"<i>Well, let's talk about dragon anatomy.</i>\" Ember begins explaining about the finer points of how a dragon works... \"<i>And if we're immobilized we can still use a powerful breath attack. Normally dragons can only use one element, but I can use three!</i>\" Ember says, proudly puffing out " + emberMF("his","her") + " chest. You thank Ember for the explanation, then leave.");
//(+Affection)
emberAffection(2+rand(3));
}
else if(choice == 2) {
outputText("\n\nEmber decides to talk about dragon mating rituals. \"<i>Dragons prove themselves to each other by showing off their strength... it isn't necessarily limited to just physical strength. Usually it's done in competition. A good mate has to be proud, brave, wise and strong. So, as you can see, it's pretty certain you wouldn't find a dragon mating a non-dragon.</i>\"");
outputText("\n\nEmber stops talking, " + emberMF("his","her") + " face turns serious for a moment; " + emberMF("he","she") + " looks deep in thought. \"<i>Dragons wouldn't mate a non-dragon... in fact, dragons wouldn't even find non-dragons attractive...</i>\" You think you hear " + emberMF("him","her") + " mumble. \"<i>Dammit, then why do I feel this way...</i>\"");
outputText("\n\nYou ask " + emberMF("him","her") + " to speak up. Ember blurts out, \"<i>Nothing! Lesson's over...</i>\" before withdrawing into " + emberMF("his","her") + " den.");
//(+Affection)
emberAffection(5);
}
else if(choice == 3) {
outputText("\n\nEmber elaborates on dragon courtship. \"<i>There's a rare flower, called Drake's Heart. It's very beautiful, and the perfume, especially for dragons, is exquisite. Usually, dragons give this flower to the ones they intend to court.</i>\"");
outputText("\n\nThe flower an utter mystery to you, you curiously ask Ember what this \"<i>Drake's Heart</i>\" looks like, and where it grows... or used to grow.");
//Low affection:
if(emberAffection() <= 25) outputText("\n\nSnorting, Ember cracks an amused smile as " + emberMF("he","she") + " chuckles. \"<i>What, does the 'Champion' think " + player.mf("him","her") + "self worthy of courting me? That's a good one!</i>\" " + emberMF("He","She") + " giggles openly to make " + emberMF("his","her") + " lack of interest in you known... yet, it seems rather forced.");
else if(emberAffection() <= 75) outputText("\n\nYou swear you can see the dragon daydreaming at your words, but it doesn't last. \"<i>Look, I don't mind some curiosity, but don't try and get fresh with me!</i>\" " + emberMF("His","Her") + " demeanor suggests annoyance, but just maybe it's a tough front, and " + emberMF("he","she") + "'s really waiting for you to show some affection and attention.");
//High affection:
else outputText("\n\nThe dragon makes no effort to hide " + emberMF("his","her") + " embarrassed reaction as " + emberMF("he","she") + " reads a little too much into your inquiry. \"<i>Um.. I-ho... well...</i>\" Ember stammers out. \"<i>Look, I have other things to do.</i>\"");
outputText("\n\nWondering at the dragon's thoughts, you agree to call the conversation done, and politely thank " + emberMF("him","her") + " for " + emberMF("his","her") + " time.");
emberAffection(5);
}
else {
outputText("\n\nEmber begins talking about dragon habits, and the cave mouth framing " + emberMF("him","her") + " makes you wonder why dragons dig such dens. Ember shrugs. \"<i>It's convenient. The stone is tough and can resist all forms of hazard, plus I'll always know I can keep my stuff safe inside.</i>\" " + emberMF("he","she") + " stares at " + emberMF("his","her") + " den in deep thought.");
outputText("\n\n\"<i>It's kinda small though... I might need a bigger one if...</i>\" Ember stops abruptly");
if(flags[EMBER_ROUNDFACE] == 1) outputText(", a blush creeping onto " + emberMF("his","her") + " cheeks");
outputText(".");
outputText("\n\nYou ask if " + emberMF("he","she") + "'s alright. \"<i>Huh? Yes, I'm fine! Anyways, lesson's over.</i>\" Ember hurriedly goes back inside " + emberMF("his","her") + " den.");
emberAffection(5);
}
doNext(13);
}
//Exploration (Z)
function discussExplorationWithEmber():void {
clearOutput();
var choice:int = rand(4);
var subChoice:int = 0;
outputText("You ask Ember for news of anything interesting " + emberMF("he","she") + " has seen during " + emberMF("his","her") + " aerial explorations of Mareth.");
outputText("\n\nEmber nods " + emberMF("his","her") + " head and scratches " + emberMF("his","her") + " chin thoughtfully. \"<i>Let me think...</i>\"");
if(choice == 0) {
subChoice = rand(6);
outputText("\n\n\"<i>In my travels, I found a mountain range. I flew around it for a good while... it felt so... familiar, you know? While I was there, I saw ");
if(subChoice == 0) outputText("imps. Only a few imps, and they seemed very nervous. I'm guessing that whatever naturally lives there is something that they really don't want to get involved with.");
else if(subChoice == 1) outputText("two goblins in the foothills, arguing with each other. One was saying that the other shouldn't go up into the hills, as apparently the minotaurs that live there are too much for an untrained girl like her to take without being split open. The second goblin just laughs at her as a 'wimp' and tells her that she's going to get herself 'some juicy bull-cock and tasty mino-spooge'. Ugh, disgusting little creatures.");
else if(subChoice == 2) outputText("a pair of muscle-bound bull-men beating on each other with their bare fists. They spent over an hour smashing each other into a bloody pulp, and then the winner promptly starts fucking the loser up the ass. I had seen more than enough by that point, so I left.");
else if(subChoice == 3) outputText("this... creature... that looked kind of like a human woman, but with a big dick where her clit should be. Walking around stark naked, 'cept for a bunch of piercings, and leading this bull-man along like a pet by a chain attached to a ring anchored into his cockhead.");
else if(subChoice == 4) outputText("a couple of goblins sharpening scissors on some rocks outside of a cave with a door on it. Weird. Wonder what they could be doing in there?");
else if(player.hasStatusAffect("wormsOff") < 0 && rand(2) == 0) outputText("a horrible swarm of slimy white worms, clumped together into a mockery of a human form and squelching along. It managed to latch onto this two-headed dog-creature and... ugh! The worms started forcing their way into both of its cocks! I've never seen anything so disgusting!");
else if(subChoice == 5) outputText("this two-headed dog-morph loping around; it spotted an imp, dropped to all fours, then gave chase. Managed to catch the ugly little demon, whereupon it ass-raped it, then ate it.");
}
else if(choice == 1) {
subChoice = rand(5);
outputText("\n\n\"<i>In my travels, I found a forest; I must confess I stayed out of the deepest parts, but there was plenty of game to be found. Deer, boar, rabbits, quail, and a host of other things too... not all of it nice. Let's see, there was ");
if(subChoice == 0) outputText("a whole tribe of imps, just lounging around in a glade, jerking themselves off or squabbling over food. Nasty little things, but easily dispatched.");
else if(subChoice == 1) outputText("a goblin with a huge pregnant belly, laughing to herself and swilling down that ale they brew, slopping it all over herself. Little hedonists.");
else if(subChoice == 2) outputText("this strange bee-woman creature... she made this, this music that started messing with my head. I spat a tongue of flames at her and she flew away in fright, luckily.");
//(If player has not yet impregnated Tamani)
else if(subChoice == 3 && player.statusAffectv1("Tamani") <= 0 && player.statusAffectv2("Tamani") <= 0) outputText("one goblin being teased by a bunch of pregnant goblins for not being pregnant yet. She just spat back that she wanted a 'better catch' to be her baby-maker than a mere imp and wandered off.");
//(If player has impregnated Tamani)
else if(subChoice == 3) {
outputText("that green-skinned baby-making whore, Tamani. She was letting some of her daughters suckle from her and grinning ear to ear as she named the 'prize catch' she got to father them, exhorting them to hunt him down.");
if(flags[EMBER_GENDER] >= 2) outputText(" You should have more pride than to let some brainless cunt like that have her way with you!");
}
//(If Jojo isn't in the camp & not corrupt)
else if(rand(2) == 0 && monk <= 1 && player.hasStatusAffect("PureCampJojo") < 0) outputText("this mouse-morph monk, sitting in a glade and meditating. A goblin tried to proposition him; he just gave her a lecture and sent her running away in tears. When an imp tried to attack him, he crushed its skull with a staff he had. Not bad moves for such a weedy little thing...");
else outputText("one glade I touched down in to catch myself a nice brace of plump coneys, when all of a sudden this... this thing made out of flailing vines and fruit attacks me. It went up in a puff of smoke once I torched it, of course.");
}
else if(choice == 2) {
subChoice = rand(2);
outputText("\n\n\"<i>In my travels, I found a lake... big and wide and full of fish, but something about the place made me uncomfortable. The water smelled funny, and the fish had a nasty aftertaste. Not a lot to see there, but I did find ");
if(subChoice == 0) {
outputText("a pair of shark-women - well, one was a woman, the other had breasts but also had a cock");
if(flags[EMBER_GENDER] == 3) outputText(" like me");
outputText(". They were on the beach, fucking each other's brains out.");
}