-
Notifications
You must be signed in to change notification settings - Fork 216
/
Copy pathamily.as
7859 lines (6761 loc) · 691 KB
/
amily.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
/*Amily the Mousegirl Breeder
* Plus human stuff
=============================================
35 -met Amily? (0 = not met, 1 = met)
36 -Amily village encounters disabled (1 = true) (44 for village button)
37 -Amily encounters disabled due to worms (1=she freaked out. Goes to 0 automatically if uninfected)
38 -Amily Affection (< 15 = low. In between = medium. 40+= high affect)
39 -Amily Offer Accepted? (1 = true, 0 = not yet)
40 -Amily Birth Total (no explanation needed)
41 -Amily Pregnancy Incubation - 0 = not pregnant, otherwise hours till birth 168
42 -Fucked Amily Counter
43 -Follower Toggle for amily (1 = follower, 0 = not)
44 -Amily's Village Unlocked (1=village button on, 0=off)
45 Amily's Wang Length
46 Amily's Wang Thickness
47 Amily's Cup Size (1 to 5)
48 Nipple Length from .3 to 4"
49 Amily Hip Rating - girly to womanly
50 Can increase ass from "unremarkable ass" to "delightfully jiggly"
51 Amily Lactation Rating
52 Amily Clothing
158 -What did the PC meet amily as
159 -Has Amily Confessed Lesbian Love? (1 = yes, 2= yes and you accepted)
160 Times PC and Amily have done girlygirl sex
161 Times PC and Herm-Amily have done girlygirl sex
162 Times PC has birthed Amily's brood
163 Is PC pending preggo completion? (1 = yes, 2 = finished)
164 Amily remembers PC gender
165 Amily Herm Quest (1 = amily has flipped out, 2 = accepted to be amily's dad
166 Amily Allowing Fertility In Camp? (1 = yes)
*/
// Sorry for this, but it makes it a helluva lot easier for me to read it - Harb
const AMILY_VISITING_URTA:int = 346;
const AMILY_NEED_TO_FREAK_ABOUT_URTA:int = 347;
const AMILY_MET:int=35; // (0 = not met, 1 = met)
const AMILY_VILLAGE_ENCOUNTERS_DISABLED:int=36; // 1=true,44=village button
const AMILY_GROSSED_OUT_BY_WORMS:int=37; // 1=freaked out
const AMILY_AFFECTION:int=38; // (< 15 = low. In between = medium. 40+= high affect)
const AMILY_OFFER_ACCEPTED:int=39; // (1 = true, 0 = not yet)
const AMILY_BIRTH_TOTAL:int=40; //
const AMILY_INCUBATION:int=41; // 0 = not pregnant, otherwise hours till birth 168
const AMILY_FUCK_COUNTER:int=42; //
const AMILY_FOLLOWER:int=43; //
const AMILY_VILLAGE_ACCESSIBLE:int=44; //
const AMILY_WANG_LENGTH:int=45; //
const AMILY_WANG_GIRTH:int=46; //
const AMILY_CUP_SIZE:int=47; // 5-Jan
const AMILY_NIPPLE_LENGTH:int=48; // 0.3-4
const AMILY_HIP_RATING:int=49; // girly-womanly
const AMILY_ASS_SIZE:int=50; //
const AMILY_LACTATION_RATE:int=51; //
const AMILY_CLOTHING:int=52; //
const AMILY_MET_AS:int=158; //
const AMILY_CONFESSED_LESBIAN:int=159; // 1=yes,2=and accepted
const AMILY_TIMES_FUCKED_FEMPC:int=160; //
const AMILY_HERM_TIMES_FUCKED_BY_FEMPC:int=161; //
const PC_TIMES_BIRTHED_AMILYKIDS:int=162; //
const PC_PENDING_PREGGERS:int=163; // 1=yes,2=finished
const AMILY_PC_GENDER:int=164; //
const AMILY_HERM_QUEST:int=165; // 1=amily flipped out, 2=accepted as amily's dad
const AMILY_ALLOWS_FERTILITY:int = 166; //
const AMILY_CORRUPT_FLIPOUT:int = 168;
const AMILY_TIMES_BUTTFUCKED_PC:int = 419;
const TIMES_FUCKED_AMILYBUTT:int = 420;
// NEEDS NEW NUMBERS AND SHIT
const AMILY_OFFERED_DEFURRY:int = 336; // 1 = Offered to defurry Amily
const AMILY_NOT_FURRY:int = 337; // 1 = Amily is no longer a flea-ridden furry who stinks up your carpet.
const AMILY_IS_BATMAN:int = 338; // 1 = You turned Amily into a human and then pissed all over her happy thoughts. She now stalks you from rooftops while buying graphite helmets, utility belts, and a sweet, jetpowered car in the theme of a rat.
//1 = timer started, 30 = RIPE FOR INCEST
const AMILY_INCEST_COUNTDOWN_TIMER:int = 436;
const AMILY_OVIPOSITED_COUNT:int = 629;
const AMILY_OVIPOSITED_COUNTDOWN:int = 630;
const AMILY_OVIPOSITION_UNLOCKED:int = 631;
const AMILY_TIMES_SWIMFUCKED:int = 635;
const AMILY_OWNS_BIKINI:int = 636;
const AMILY_X_IZMA_POTION_3SOME:int = 771;
const GIVEN_AMILY_NURSE_OUTFIT:int = 775;
// NEW EVENTS:
// 3172 = Ask to defur Amily
// 3174 = Defur Amily at camp (both corrupt/noncorrupt)
function amilyFollower():Boolean {
if(flags[AMILY_FOLLOWER] > 0) {
//Amily not a follower while visiting Urta
if(flags[AMILY_VISITING_URTA] == 1 || flags[AMILY_VISITING_URTA] == 2) return false;
else return true;
}
else return false;
}
function amilyCorrupt():Boolean {
if(flags[AMILY_FOLLOWER] == 2) return true;
else return false;
}
function amilySprite():void {
if(flags[AMILY_NOT_FURRY] == 0) spriteSelect(3);
else spriteSelect(65);
}
//Encounters
//[Ruined Village]
//[Exploring the Lake]
function discoverAmilyVillage():void {
outputText("", true);
outputText("As you roam the shores of the lake, you find your footsteps echoing as though you were stepping on wood rather than squishing in the sandy mud of the shore. Curious, you squat down and brush the soil away, revealing the rotting form of a wooden plank. Looking carefully at the ground underfoot, you realize that it is part of a pathway – the kind that villages make to provide easier access to and from muddy rivers, lakes and beaches. You believe you can make out the rest of the path clearly enough to follow it to its end.\n\n", false);
outputText("Do you follow the pathway?", false);
//Yes / No
doYesNo(2370,2369);
}
//[No]
function dontExploreAmilyVillage():void {
outputText("", true);
outputText("Standing up, you turn and walk away. You presume from the state of the pathway that the village at the other end must either be in dire straits, abandoned, or overwhelmed by demons. In other words, it's no safe place for a traveler like you.\n\n", false);
doNext(13);
}
//[Yes]
function exploreAmilyVillage():void {
outputText("", true);
outputText("You follow the overgrown path inland, away from the shore of the lake. You pass through thick trees, struggling not to lose the path, before finally reaching what is clearly the end. In front of you lie crumbling walls, broken and scattered by the wind and rain... and by other forces entirely. Beyond them are houses that have been torn apart, burned or collapsed. This was clearly once a village, but it was devastated at some point in the past. Demon attack is the first possibility that leaps into your mind. You examine the ruins for a time, and then decide to head back to camp. You don't think it would be wise to investigate here without preparing first.\n\n", false);
outputText("(<b>\"TownRuins\" added to Places menu.</b>)", false);
//set village unlock flag
flags[AMILY_VILLAGE_ACCESSIBLE] = 1;
doNext(13);
}
//[Exploring the Ruined Village]
function exploreVillageRuin():void {
outputText("", true);
//50% chance of ghost-girl
if((flags[365] == 0 && flags[254] > 0 && flags[255] > 0 && rand(10) <= 3) && !followerShouldra() && flags[SHOULDRA_FOLLOWER_STATE] != .5) {
shouldraGreeting();
return;
}
//20% chance of playing with a rack
if(rand(5) == 0 && (flags[254] == 0 || flags[255] == 0)) {
var rack:Number = 0;
//Already got weapon
if(flags[254] > 0) rack = 0;
//Already got armor
else if(flags[255] > 0) rack = 1;
//Got neither - 50% of each
else if(rand(2) == 0) rack = 1;
outputText("While picking through the ruined houses and abandoned structures of this dilapidated village, you manage to find something useful! There's an intact but empty ", false);
if(rack == 0) outputText("armor", false);
else outputText("weapon", false);
outputText(" rack here. It looks like it could hold nine different ", false);
if(rack == 0) outputText("armors", false);
else outputText("weapons", false);
outputText(". You check it over and spot an easy way to fold it up for transport. This would be a fine addition to your camp, so you pack it up and haul it back.", false);
if(rack == 1) {
player.createKeyItem("Equipment Rack - Weapons",0,0,0,0);
flags[254] = 1;
}
else {
player.createKeyItem("Equipment Rack - Armor",0,0,0,0);
flags[255] = 1;
}
doNext(13);
return;
}
//Initialize saved gender:
if(flags[AMILY_MET] == 0) flags[AMILY_PC_GENDER] = player.gender;
//Amily gone/hiding super hard
if(flags[flags[AMILY_IS_BATMAN] > 0 || AMILY_VILLAGE_ENCOUNTERS_DISABLED] == 1 || flags[AMILY_TREE_FLIPOUT] > 0) {
outputText("You enter the ruined village cautiously. There are burnt-down houses, smashed-in doorways, ripped-off roofs… everything is covered with dust and grime. You explore for an hour, but you cannot find any sign of another living being, or anything of value. The occasional footprint from an imp or a goblin turns up in the dirt, but you don't see any of the creatures themselves. It looks like time and passing demons have stripped the place bare since it was originally abandoned. Finally, you give up and leave. You feel much easier when you're outside of the village.", false);
doNext(13);
return;
}
//Remove worm block if player got rid of worms.
if(flags[AMILY_GROSSED_OUT_BY_WORMS] == 1) {
if(player.hasStatusAffect("infested") < 0) flags[AMILY_GROSSED_OUT_BY_WORMS] = 0;
}
//Corrupt blow up! - requires you've met Amily
if(flags[AMILY_CORRUPT_FLIPOUT] == 0 && flags[AMILY_MET] > 0 && player.cor > 25) {
meetAmilyAsACorruptAsshat();
return;
}
//CORRUPTIONZ
if(flags[AMILY_CORRUPT_FLIPOUT] > 0 && player.cor > 25) {
//Cook amily a snack if player doesnt have key item for it.
if(player.hasKeyItem("Potent Mixture") < 0 && flags[170] < 3) {
cookAmilyASnack();
return;
}
//Has snacks!
else {
if(flags[170] == 0) stalkingZeAmiliez();
else if(flags[170] == 1) stalkingZeAmiliez2();
else if(flags[170] == 2) stalkingZeAmiliez3();
else rapeCorruptAmily4Meeting();
return;
}
}
//Amily Un-encounterable (worms):
if(flags[AMILY_GROSSED_OUT_BY_WORMS] == 1 || player.cor > 25 || flags[AMILY_CORRUPT_FLIPOUT] > 0) {
outputText("You enter the ruined village cautiously. There are burnt-down houses, smashed-in doorways, ripped-off roofs… everything is covered with dust and grime. For hours you explore, but you cannot find any sign of another living being, or anything of value. The occasional footprint from an imp or a goblin turns up in the dirt, but you don't see any of the creatures themselves. It looks like time and passing demons have stripped the place bare since it was originally abandoned. Finally, you give up and leave. You feel much easier when you're outside of the village – you had the strangest sensation of being watched while you were in there.", false);
doNext(13);
return;
}
amilySprite();
//Preggo birthing!
if(flags[AMILY_INCUBATION] == 1) {
fuckingMouseBitchPopsShitOut();
flags[AMILY_INCUBATION] = 0;
return;
}
if(amilyCanHaveTFNow())
{
amilyDefurrify();
return;
}
//Man Meetinz!
if(player.gender == 1 && flags[AMILY_PC_GENDER] == player.gender) {
//"bad" or "good" ends.
if(flags[AMILY_BIRTH_TOTAL] >= 5 && flags[AMILY_VILLAGE_ENCOUNTERS_DISABLED] == 0)
{
if(flags[AMILY_AFFECTION] < 40) thisIsAReallyShittyBadEnd();
else thisFunctionProbablySucksTooOhYeahAmilyFunction();
return;
}
//Desperate Plea
//(Amily reach Affection 50 without having had sex with the PC once.)
//Requires the PC have been male last time.
if(flags[AMILY_AFFECTION] >= 50 && flags[AMILY_FUCK_COUNTER] == 0 && flags[AMILY_PC_GENDER] == 1) {
outputText("Wandering into the ruined village, you set off in search of Amily.\n\n", false);
/*NOPE!
[Player meets the requirements to stalk Amily]
if(player.spe > 50 && player.inte > 40) {
outputText("Using all of your knowledge, skill and cunning, you sneak and squirm through the ruins until you finally find yourself coming up right behind the dusty mouse girl. She's picking berries off of a small bush and hasn't noticed you yet.\n\n", false);
outputText("How do you approach her?", false);
//Announce yourself / Scare her
simpleChoices("Announce",2387,"Scare Her",2388,"",0,"",0,"",0);
}*/
outputText("After wondering for a while how on earth you are going to track down Amily, you hear a whistle. Looking around, you see her waving cheekily at you from around a corner; it's pretty obvious that you have a long way to go before you'll be able to beat her at this kind of game.\n\n", false);
outputText("\"<i>Ah... do you have the time to talk? There's something I want to get off my chest,</i>\" Amily nervously asks.\n\n", false);
outputText("Curious what she has to say, you agree.\n\n", false);
outputText("Amily scuffs the ground with one of her finger-like toe claws, looking down at it as if it was the most interesting thing in the world – or as if she doesn't dare to look you in the eyes. \"<i>I... You know what I've been asking of you; from you, and you keep turning me down… but you kept talking to me, asking me about myself. You wanted to get to know me, but... why don't you want to know ALL of me? I... I want to give myself to you. You're the nicest, kindest man I've met – even before the demons destroyed my village. I want to be with you... but you don't seem to want to be with me.</i>\" She looks up to you at last, her eyes wet with tears. \"<i>Is there something wrong with me? Can't you like me in that way?</i>\" she pleads.\n\n", false);
//Accept her / Turn her down gently / Turn her down bluntly
var fur:Number = 0;
if(flags[AMILY_NOT_FURRY] == 0) fur = 3174;
simpleChoices("Accept Her",2390,"RejectFurry",fur,"RejectGently",2391,"BluntReject",2392,"",0);
return;
}
//[First Meeting]
if(flags[AMILY_MET] == 0) {
//Set flag for what she met the player as.
flags[AMILY_MET_AS] = player.gender;
//set 'met' to true
flags[AMILY_MET]++;
outputText("You wind your way deep into the maze of dusty crumbling buildings and twisted saplings, looking for any sign of life – or, failing that, something that can help you in your quest. Bending down to rummage through an old heap of rubbish, you complain aloud that this is hardly the sort of thing you expected to be doing as a champion. Suddenly, you hear a 'thwip' and something shoots past your face, embedding into the stone beside your head and trembling with the impact.\n\n", false);
outputText("\"<i>Don't make any sudden moves!</i>\" A voice calls out, high pitched and a little squeaky, but firm and commanding. You freeze to avoid giving your assailant a reason to shoot at you again. \"<i>Stand up and turn around, slowly,</i>\" it commands again. You do as you are told.\n\n", false);
//[Jojo previously encountered]
if(monk > 0) {
outputText("The creature that has cornered you is clearly of the same race as Jojo, though notably a female member of his species. Her fur is thick with dust, but you can still easily make out its auburn color. Her limbs and midriff are wiry, hardened as much by meals that are less than frequent as by constant exercise and physical exertion. Her buttocks are non-existent, and her breasts can't be any larger than an A-cup. She wears a tattered pair of pants and an equally ragged-looking shirt. A very large and wicked-looking dagger – more of a short sword really – is strapped to her hip, and she is menacing you with a blowpipe.\n\n", false);
}
//[Jojo not previously encountered]
else {
outputText("You have been cornered by a very strange being: a bipedal female humanoid with the unmistakable features of a giant mouse; paw-like feet, a muzzled head with long whiskers, large mouse ears, and a body covered in dust-caked auburn fur. It doesn't look like she has had a very easy life; her clothing consists of a dirty, tattered set of pants and shirt, while her limbs and midriff are wiry, hardened as much by meals that are less than frequent as by constant exercise and physical exertion. Her buttocks are non-existent, and her breasts can't be any larger than an A-cup. Still, she looks quite capable of defending herself; not only is she brandishing a blowpipe, clearly ready to spit another doubtlessly-poisoned dart at you, but she has a formidable-looking knife strapped to her hip.\n\n", false);
}
outputText("She looks at you for a few long moments, and then lowers her blowpipe, \"<i>I'm sorry about that, but I thought you were another demon. They destroyed this place years ago, but some of the damn scavengers still occasionally drift through. Not so much lately, of course. I've made something of an impression on them.</i>\" She grins malevolently, one hand caressing the blade of her knife in an almost sensual fashion. \"<i>My name is Amily, the last survivor of this village. All of my people are gone now; they're scattered, dead, enslaved, or worse. What about you? ", false);
if(player.humanScore() > 4) outputText("Are you ", false);
else outputText("Were you ", false);
outputText("one of those... humans, I've heard sometimes wander into this world?</i>\"\n\n", false);
outputText("You admit that, yes, you are a human, and then ask her why she remains here in this empty wasteland of a settlement.\n\n", false);
outputText("\"<i>I was born here, I grew up here, and I would have gotten married and settled down here if it hadn't been for those demons.</i>\" She spits the word 'demons' with contempt. \"<i>After it was all over, I had nowhere else to go. So I stayed here. I've still got nowhere else to go, to be honest. I haven't found any other settlements of my own people, and I'd sooner die than give myself over to the demons. But it seems that if I'm ever going to see more of my people living free, I'm going to have to take the leading role...</i>\"\n\n", false);
outputText("She stares at you intently, and you ask her what the matter is.\n\n", false);
outputText("\"<i>You see, that role I was talking about? I've had a long time to think about it, and there's no one else for it. If there are ever going to be more of my kind born into freedom, they're going to have to be born. Literally; I need to find a mate that is pure, one that can give me strong and pure children of my own kind,</i>\" she explains, one hand absently touching her flat belly. \"<i>The few males of my kind that I've managed to find are demon slaves – far too corrupt to make suitable mates, even if I could free them. I've heard, though, that humans are strangely weak breeders; your seed would be free of taint, and you would father more of my own kind. Unlike, say, an imp or a minotaur.</i>\"\n\n", false);
outputText("She tucks her blowpipe into her belt and takes several uncertain steps towards you, trying to appear winning – flirtatious even – despite her grimy appearance and clear inexperience with the matter. \"<i>Please, will you help me? You said something about being a champion – If you lay with me and help me bring more of my people into this world, free of the demons and untouched by their perverse taint, you will be striking another kind of blow against their corrupt stranglehold on Mareth.</i>\"\n\n", false);
outputText("What do you do?", false);
//Accept Eagerly / Accept Hesitantly / Refuse
simpleChoices("AcceptEagerly",2372,"Hesitantly",2373,"NoFurries",3174,"Refuse",2374,"",0);
//Set flag for 'last gender met as'
flags[AMILY_PC_GENDER] = player.gender;
return;
}
//[Remeeting if previously refused]
else if(player.gender == 1 && flags[AMILY_OFFER_ACCEPTED] == 0) {
outputText("Wandering into the ruined village, you set off in search of Amily.\n\n", false);
/*NOPE!
//[Player meets the requirements to stalk Amily]
if(player.spe > 50 && player.inte > 40) {
outputText("Using all of your knowledge, skill and cunning, you sneak and squirm through the ruins until you finally find yourself coming up right behind the dusty mouse girl. She's picking berries off of a small bush and hasn't noticed you yet.\n\n", false);
outputText("How do you approach her?", false);
//Announce yourself / Scare her
simpleChoices("Announce",2375,"Scare",2376,"",0,"",0,"",0);
}
//[Player does not meets the requirements to stalk Amily]*/
//else {
outputText("After wondering for a while how on earth you are going to track down Amily, you hear a whistle. Looking around, you see her waving cheekily at you from around a corner; it's pretty obvious that you have a long way to go before you'll be able to beat her at this kind of game.\n\n", false);
amilyRemeetingContinued();
//Set flag for 'last gender met as'
flags[AMILY_PC_GENDER] = player.gender;
return;
}
}
//GIRL MEETINZ
else if(player.gender == 2 && flags[AMILY_PC_GENDER] == player.gender) {
//First time
if(flags[AMILY_MET] == 0) {
//Set flag for what she met the player as.
flags[AMILY_MET_AS] = player.gender;
//set 'met' to true
flags[AMILY_MET]++;
outputText("You wind your way deep into the maze of dusty crumbling buildings and twisted saplings, looking for any sign of life – or, failing that, something that can help you in your quest. Bending down to rummage through an old heap of rubbish, you complain aloud that this is hardly the sort of thing you expected to be doing as a champion. Suddenly, you hear a 'thwip' and something shoots past your face, embedding into the stone beside your head and trembling with the impact.\n\n", false);
outputText("\"<i>Don't make any sudden moves!</i>\" A voice calls out, high pitched and a little squeaky, but firm and commanding. You freeze to avoid giving your assailant a reason to shoot at you again. \"<i>Stand up and turn around, slowly,</i>\" it commands again. You do as you are told.\n\n", false);
//[Jojo previously encountered]
if(monk > 0) {
outputText("The creature that has cornered you is clearly of the same race as Jojo, though notably a female member of his species. Her fur is thick with dust, but you can still easily make out its auburn color. Her limbs and midriff are wiry, hardened as much by meals that are less than frequent as by constant exercise and physical exertion. Her buttocks are non-existent, and her breasts can't be any larger than an A-cup. She wears a tattered pair of pants and an equally ragged-looking shirt. A very large and wicked-looking dagger – more of a short sword really – is strapped to her hip, and she is menacing you with a blowpipe.\n\n", false);
}
//[Jojo not previously encountered]
else {
outputText("You have been cornered by a very strange being: a bipedal female humanoid with the unmistakable features of a giant mouse; paw-like feet, a muzzled head with long whiskers, large mouse ears, and a body covered in dust-caked auburn fur. It doesn't look like she has had a very easy life; her clothing consists of a dirty, tattered set of pants and shirt, while her limbs and midriff are wiry, hardened as much by meals that are less than frequent as by constant exercise and physical exertion. Her buttocks are non-existent, and her breasts can't be any larger than an A-cup. Still, she looks quite capable of defending herself; not only is she brandishing a blowpipe, clearly ready to spit another doubtlessly-poisoned dart at you, but she has a formidable-looking knife strapped to her hip.\n\n", false);
}
outputText("She looks at you for a few long moments, and then lowers her blowpipe, \"<i>I'm sorry about that, but I thought you were another demon. They destroyed this place years ago, but some of the damn scavengers still occasionally drift through. Not so much lately, of course. I've made something of an impression on them.</i>\" She grins malevolently, one hand caressing the blade of her knife in an almost sensual fashion. \"<i>My name is Amily, the last survivor of this village. All of my people are gone now; they're scattered, dead, enslaved, or worse. What about you? ", false);
if(player.humanScore() > 4) outputText("Are you ", false);
else outputText("Were you ", false);
outputText("one of those... humans, I've heard sometimes wander into this world?</i>\"\n\n", false);
outputText("You admit that, yes, you are a human, and then ask her why she remains here in this empty wasteland of a settlement.\n\n", false);
outputText("\"<i>I was born here, I grew up here, and I would have gotten married and settled down here if it hadn't been for those demons.</i>\" She spits the word 'demons' with contempt. \"<i>After it was all over, I had nowhere else to go. So I stayed here. I've still got nowhere else to go, to be honest. I haven't found any other settlements of my own people, and I'd sooner die than give myself over to the demons. But it seems that if I'm ever going to see more of my people living free, I'm going to have to take the leading role...</i>\"\n\n", false);
outputText("She shakes her head and smiles at you wistfully. \"<i>Listen to me, rambling. I'm sorry again for attacking you. But, take care out there; there's a lot of freaky monsters that will do the most unspeakable things to a woman if they can catch her.</i>\"\n\n", false);
outputText("You thank her, and she brushes it off.\n\n", false);
outputText("\"<i>Hey, us girls gotta stick together, right?</i>\" She winks at you then wanders off behind a partially collapsed wall, disappearing into the rubble.", false);
//Set flag for 'last gender met as'
flags[AMILY_PC_GENDER] = player.gender;
doNext(13);
return;
}
//Lesbo lovin confession!
if(flags[AMILY_CONFESSED_LESBIAN] == 0 && flags[AMILY_AFFECTION] >= 25) {
amilyIsTotallyALesbo();
return;
}
//Amily totally grows a wang for you once she loves you
if(flags[AMILY_CONFESSED_LESBIAN] == 2 && flags[AMILY_WANG_LENGTH] == 0) {
amilyPostConfessionGirlRemeeting();
return;
}
//If PC shot down love confession, cap affection at 35 and re-offer?
if(flags[AMILY_AFFECTION] > 35 && flags[AMILY_CONFESSED_LESBIAN] == 1) {
flags[AMILY_AFFECTION] = 35;
amilyIsTotallyALesbo();
return;
}
}
//Herm Meetinz
else if(player.gender == 3 && flags[AMILY_PC_GENDER] == player.gender) {
//"bad" or "good" ends.
if(flags[AMILY_BIRTH_TOTAL] + flags[PC_TIMES_BIRTHED_AMILYKIDS] >= 5 && flags[AMILY_VILLAGE_ENCOUNTERS_DISABLED] == 0)
{
if(flags[AMILY_AFFECTION] < 40) thisIsAReallyShittyBadEnd();
else thisFunctionProbablySucksTooOhYeahAmilyFunction();
return;
}
//First time
if(flags[AMILY_MET] == 0) {
//Set flag for what she met the player as.
flags[AMILY_MET_AS] = player.gender;
//set 'met' to true
flags[AMILY_MET]++;
outputText("You wind your way deep into the maze of dusty crumbling buildings and twisted saplings, looking for any sign of life – or, failing that, something that can help you in your quest. Bending down to rummage through an old heap of rubbish, you complain aloud that this is hardly the sort of thing you expected to be doing as a champion. Suddenly, you hear a 'thwip' and something shoots past your face, embedding into the stone beside your head and trembling with the impact.\n\n", false);
outputText("\"<i>Don't make any sudden moves!</i>\" A voice calls out, high pitched and a little squeaky, but firm and commanding. You freeze to avoid giving your assailant a reason to shoot at you again. \"<i>Stand up and turn around, slowly,</i>\" it commands again. You do as you are told.\n\n", false);
//[Jojo previously encountered]
if(monk > 0) {
outputText("The creature that has cornered you is clearly of the same race as Jojo, though notably a female member of his species. Her fur is thick with dust, but you can still easily make out its auburn color. Her limbs and midriff are wiry, hardened as much by meals that are less than frequent as by constant exercise and physical exertion. Her buttocks are non-existent, and her breasts can't be any larger than an A-cup. She wears a tattered pair of pants and an equally ragged-looking shirt. A very large and wicked-looking dagger – more of a short sword really – is strapped to her hip, and she is menacing you with a blowpipe.\n\n", false);
}
//[Jojo not previously encountered]
else {
outputText("You have been cornered by a very strange being: a bipedal female humanoid with the unmistakable features of a giant mouse; paw-like feet, a muzzled head with long whiskers, large mouse ears, and a body covered in dust-caked auburn fur. It doesn't look like she has had a very easy life; her clothing consists of a dirty, tattered set of pants and shirt, while her limbs and midriff are wiry, hardened as much by meals that are less than frequent as by constant exercise and physical exertion. Her buttocks are non-existent, and her breasts can't be any larger than an A-cup. Still, she looks quite capable of defending herself; not only is she brandishing a blowpipe, clearly ready to spit another doubtlessly-poisoned dart at you, but she has a formidable-looking knife strapped to her hip.\n\n", false);
}
outputText("She looks at you for a few long moments, and then lowers her blowpipe, \"<i>I'm sorry about that, but I thought you were another demon. They destroyed this place years ago, but some of the damn scavengers still occasionally drift through. Not so much lately, of course. I've made something of an impression on them.</i>\" She grins malevolently, one hand caressing the blade of her knife in an almost sensual fashion. \"<i>My name is Amily, the last survivor of this village. All of my people are gone now; they're scattered, dead, enslaved, or worse. What about you? ", false);
if(player.humanScore() > 4) outputText("Are you ", false);
else outputText("Were you ", false);
outputText("one of those... humans, I've heard sometimes wander into this world?</i>\"\n\n", false);
outputText("You admit that, yes, you are a human, and then ask her why she remains here in this empty wasteland of a settlement.\n\n", false);
outputText("\"<i>I was born here, I grew up here, and I would have gotten married and settled down here if it hadn't been for those demons.</i>\" She spits the word 'demons' with contempt. \"<i>After it was all over, I had nowhere else to go. So I stayed here. I've still got nowhere else to go, to be honest. I haven't found any other settlements of my own people, and I'd sooner die than give myself over to the demons. But it seems that if I'm ever going to see more of my people living free, I'm going to have to take the leading role...</i>\"\n\n", false);
outputText("She looks thoughtful. \"<i>You know...</i>\" She begins, but stops and ", false);
//[If breasts are flat, manly breasts]
if(player.biggestTitSize() < 1) outputText("sniffs the air intensely, her whiskers quivering. ", false);
//[If breasts are A-cup or bigger]
else outputText("stares at the bulge in your top, as well as the bulge in your bottom. ", false);
outputText("\"<i>Nevermind,</i>\" she says after a moment. \"<i>You're a hermaphrodite, aren't you? Forget I mentioned it.</i>\"\n\n", false);
outputText("She turns and walks away, vanishing into the dust and the rubble like magic.", false);
//Set flag for 'last gender met as'
flags[AMILY_PC_GENDER] = player.gender;
doNext(13);
return;
}
//Medium affection 33% chance, guaranteed by 20.
//Requires she hasn't yet given this scene!
if(((flags[AMILY_AFFECTION] >= 15 && rand(3) == 0) || flags[AMILY_AFFECTION] >= 20) && flags[AMILY_HERM_QUEST] == 0) {
whyNotHerms();
return;
}
if(flags[AMILY_HERM_QUEST] == 1) {
maybeHermsAintAllBadBITCH();
return;
}
}
//Genderless
else if(player.gender == 0 && flags[AMILY_PC_GENDER] == player.gender) {
//[First Meeting]
if(flags[AMILY_MET] == 0) {
flags[AMILY_MET_AS] = player.gender;
//set 'met' to true
flags[AMILY_MET]++;
outputText("You wind your way deep into the maze of dusty crumbling buildings and twisted saplings, looking for any sign of life – or, failing that, something that can help you in your quest. Bending down to rummage through an old heap of rubbish, you complain aloud that this is hardly the sort of thing you expected to be doing as a champion. Suddenly, you hear a 'thwip' and something shoots past your face, embedding into the stone beside your head and trembling with the impact.\n\n", false);
outputText("\"<i>Don't make any sudden moves!</i>\" A voice calls out, high pitched and a little squeaky, but firm and commanding. You freeze to avoid giving your assailant a reason to shoot at you again. \"<i>Stand up and turn around, slowly,</i>\" it commands again. You do as you are told.\n\n", false);
//[Jojo previously encountered]
if(monk > 0) {
outputText("The creature that has cornered you is clearly of the same race as Jojo, though notably a female member of his species. Her fur is thick with dust, but you can still easily make out its auburn color. Her limbs and midriff are wiry, hardened as much by meals that are less than frequent as by constant exercise and physical exertion. Her buttocks are non-existent, and her breasts can't be any larger than an A-cup. She wears a tattered pair of pants and an equally ragged-looking shirt. A very large and wicked-looking dagger – more of a short sword really – is strapped to her hip, and she is menacing you with a blowpipe.\n\n", false);
}
//[Jojo not previously encountered]
else {
outputText("You have been cornered by a very strange being: a bipedal female humanoid with the unmistakable features of a giant mouse; paw-like feet, a muzzled head with long whiskers, large mouse ears, and a body covered in dust-caked auburn fur. It doesn't look like she has had a very easy life; her clothing consists of a dirty, tattered set of pants and shirt, while her limbs and midriff are wiry, hardened as much by meals that are less than frequent as by constant exercise and physical exertion. Her buttocks are non-existent, and her breasts can't be any larger than an A-cup. Still, she looks quite capable of defending herself; not only is she brandishing a blowpipe, clearly ready to spit another doubtlessly-poisoned dart at you, but she has a formidable-looking knife strapped to her hip.\n\n", false);
}
outputText("She looks at you for a few long moments, and then lowers her blowpipe, \"<i>I'm sorry about that, but I thought you were another demon. They destroyed this place years ago, but some of the damn scavengers still occasionally drift through. Not so much lately, of course. I've made something of an impression on them.</i>\" She grins malevolently, one hand caressing the blade of her knife in an almost sensual fashion. \"<i>My name is Amily, the last survivor of this village. All of my people are gone now; they're scattered, dead, enslaved, or worse. What about you? ", false);
if(player.humanScore() > 4) outputText("Are you ", false);
else outputText("Were you ", false);
outputText("one of those... humans, I've heard sometimes wander into this world?</i>\"\n\n", false);
outputText("You admit that, yes, you are a human, and then ask her why she remains here in this empty wasteland of a settlement.\n\n", false);
outputText("\"<i>I was born here, I grew up here, and I would have gotten married and settled down here if it hadn't been for those demons.</i>\" She spits the word 'demons' with contempt. \"<i>After it was all over, I had nowhere else to go. So I stayed here. I've still got nowhere else to go, to be honest. I haven't found any other settlements of my own people, and I'd sooner die than give myself over to the demons. But it seems that if I'm ever going to see more of my people living free, I'm going to have to take the leading role...</i>\"\n\n", false);
//(If breasts < A-Cup)
if(player.biggestTitSize() < 1) {
outputText("She stares at you intently, and you ask her what the matter is.\n\n", false);
outputText("\"<i>You see, that role I was talking about? I've had a long time to think about it, and there's no one else for it. If there are ever going to be more of my kind born into freedom, they're going to have to be born. Literally; I need to find a mate that is pure, one that can give me strong and pure children of my own kind,</i>\" she explains, one hand absently touching her flat belly. \"<i>The few males of my kind that I've managed to find are demon slaves – far too corrupt to make suitable mates, even if I could free them. I've heard, though, that humans are strangely weak breeders; your seed would be free of taint, and you would father more of my own kind. Unlike, say, an imp or a minotaur.</i>\"\n\n", false);
outputText("She tucks her blowpipe into her belt and takes several uncertain steps towards you, trying to appear winning – flirtatious even – despite her grimy appearance and clear inexperience with the matter. \"<i>Please, will you help me? You said something about being a champion – if you lay with me and help me bring more of my people into this world, free of the demons and untouched by their perverse taint, you will be striking another kind of blow against their corrupt stranglehold on Mareth.</i>\"\n\n", false);
outputText("Sheepishly, you look down at the ground and confess that as much as you might like to help, that's actually impossible.\n\n", false);
outputText("Amily looks hurt. \"<i>Why?</i>\" she demands desperately.\n\n", false);
outputText("Highly embarrassed but unable to think of a way to articulate it, you drop your pants and let her see the flat and featureless expanse of flesh that is your crotch.\n\n", false);
outputText("Amily's eyes bug out, her jaw falls slack and she stares at you, clearly gobsmacked. Then she spits a stream of incoherent, dumbfounded profanities. Finally, she shakes her head. \"<i>Well... that's a new one. I guess... it makes sense. Damn, just when you thought you'd seen it all. I suppose I should go now,</i>\" she tells you and turns to leave.\n\n", false);
outputText("She stops, however, just before rounding a wall. \"<i>There's this stuff you'll find in bottles called Incubus Draft. If you drink that, it'll make you a boy - but I'd find an alchemist first, so he can remove the corruption from it.</i>\"\n\n", false);
outputText("She continues walking away. After she has vanished, though, another musing drifts back to you. \"<i>There's also this stuff called Succubus Milk you can do the same thing with, if you want to be a girl.</i>\"\n\n", false);
}
//(If breasts > A-Cup)
else {
outputText("She shakes her head and smiles at you wistfully. \"<i>Listen to me, rambling. I'm sorry again for attacking you. But, take care out there; there's a lot of freaky monsters that will do the most unspeakable things to a woman if they can catch her.</i>\"\n\n", false);
outputText("Blushing, you explain to her that you aren't actually a woman. She looks very puzzled at this.\n\n", false);
outputText("\"<i>But you have boobs… and I don't see a crotch-bulge,</i>\" she says, sounding almost petulant. \"<i>I don't smell a vagina, either... Wait, are you telling me you don't have either pair of genitals?</i>\" she asks, clearly dumbfounded.\n\n", false);
outputText("Embarrassed, you admit that is so.\n\n", false);
outputText("Amily stares at you, clearly at a loss for words, and then shakes her head in disbelief. She tries to give you a smile. \"<i>Well... us girls gotta stick together, right? If you look for a bottle of Succubus Milk – Imps seem to carry it on occasion, though I don't know why – then you can drink it to get your vagina back. Also, I'd find an alchemist first, so he can remove the corruption from it.</i>\"\n\n", false);
outputText("Having evidently regained her confidence, she winks and then vanishes behind a tumbled-down wall, leaving you alone.", false);
}
//Set flag for 'last gender met as'
flags[AMILY_PC_GENDER] = player.gender;
doNext(13);
return;
}
}
//[Surprise Remeeting]
/*(random chance of happening instead of [Normal Remeeting] if player meets 'requirements' for stalking Amily)
if(player.spe > 50 && player.inte > 40 && rand(4) == 0) {
outputText("Deciding to find Amily first instead of waiting for her to find you, you set off into the ruins. Using all of your knowledge, skill and cunning to figure out where she is likely to be, you make your way there without giving yourself away.\n\n", false);
//[Amily is not pregnant]
if(flags[AMILY_INCUBATION] == 0) {
outputText("Finally, you find her squatting down in front of a small bush. She's industriously picking it clean of berries, gulping down almost as many as she puts into a small sack at her side.\n\n", false);
}
//[Amily is slightly pregnant]
else if(flags[AMILY_INCUBATION] >= 90) {
outputText("Finally, you find her rummaging through the contents of a home that has been torn open. She appears to be looking for as many old strips of cloth as she can find.\n\n", false);
}
//[Amily is heavily pregnant]
else {
outputText("Finally, you find her emerging from a turn-off, pulling up her pants and muttering to herself about her bladder.\n\n", false);
}
outputText("How do you approach her?", false);
//Announce yourself / Scare her
simpleChoices("Announce",2385,"Scare Her",2386,"",0,"",0,"",0);
return;
}*/
//[Normal Remeeting]
outputText("Curious on how Amily is holding up, you head back into the ruined village. This time you don't bother trying to hide your presence, hoping to attract Amily's attention quicker. After all, she did say that the place is basically empty of anyone except her, and you can otherwise handle a measly Imp or Goblin.\n\n", false);
//[Amily is not pregnant]
if(flags[AMILY_INCUBATION] == 0) {
outputText("It doesn't take long for Amily to materialize out of the ruins. Her blowpipe and dagger are both thrust into her belt, and she's still wearing the same tattered clothes as before.\n\n", false);
//[Low Affection]
if(flags[AMILY_AFFECTION] < 15 || player.gender == 0) {
if(flags[AMILY_MET_AS] == 2 && player.gender == 2) outputText("She crosses her arms and smiles at you. \"<i>So you came back huh? Did you want to chat with little old me?</i>\" she asks.\n\n", false);
else outputText("She crosses her arms and taps her fingers on her shoulder. \"<i>So, why are you here? What do you want?</i>\" she asks.\n\n", false);
}
//[Medium Affection]
else if(flags[AMILY_AFFECTION] < 40) {
outputText("She smiles softly upon seeing you. \"<i>It's always good to see somebody else who hasn't given in to corruption. Did you have something on your mind?</i>\"\n\n", false);
}
//[High Affection]
else {
outputText("She grins at you with open delight. \"<i>Hey there, " + player.short + "! It's great to see you again... ", false);
if(player.hasCock()) {
outputText("Have you come to knock me up?", false);
if(flags[AMILY_WANG_LENGTH] > 0 && player.pregnancyIncubation == 0) outputText(" Or have you come to get knocked up?", false);
}
else if(player.hasVagina()) {
if(flags[AMILY_WANG_LENGTH] > 0 && player.pregnancyIncubation == 0) outputText("Have you come back so I could stuff another bun in your oven?", false);
else outputText("Did you come back for a little 'quality time' with me?", false);
}
outputText("</i>\" she teases, but her body language ", false);
if(flags[AMILY_WANG_LENGTH] > 0) {
outputText("and the erection tenting her pants ", false);
stats(0,0,0,0,0,0,5,0);
}
outputText("suggests that it's no joking matter.\n\n", false);
}
}
//[Amily is slightly pregnant]
else if(flags[AMILY_INCUBATION] >= 90) {
outputText("Amily materializes out of the ruins somewhat slower than usual. You can see that your efforts together have taken; an undeniable bulge pokes out of her midriff, pushing up her tattered shirt slightly and seriously straining her belt. She idly rubs it with one hand, as if confirming its presence to herself.\n\n", false);
//[Low Affection]
if(flags[AMILY_AFFECTION] < 15 || player.gender == 0) outputText("\"<i>Well, I guess despite whatever other faults you may have, you can get the job done.</i>\" She says, not looking directly at you.\n\n", false);
//[Medium Affection]
else if(flags[AMILY_AFFECTION] < 40) outputText("\"<i>Thank you. With your help, my people will soon live again.</i>\" She strokes her belly, grinning happily. \"<i>Is there something you want to talk about?</i>\"\n\n", false);
//[High Affection]
else outputText("\"<i>Thank you, thank you! I couldn't have done this without you!</i>\" She exclaims. \"<i>You've done a wonderful, noble thing, and I'm glad I found you to be their father. So, not that it isn't great to see you again, but why did you come to visit?</i>\"\n\n", false);
}
//[Amily is heavily pregnant]
else {
outputText("It takes several minutes before Amily appears, but when you see her, you marvel at how she got to you as quickly as she did. Her stomach is hugely swollen; one of her hands actually cradles underneath its rounded expanse, as if trying to hold it up. She is pants-less, evidently no longer able to fit into them. Her shirt drapes loosely, barely managing to cover the upper half of her firm orb of a belly. The belt where she hangs her blowpipe and dagger has been tied around her upper chest like a sash – between her breasts and her bulge – so she can still carry her weapons effectively.\n\n", false);
//[Low Affection]
if(flags[AMILY_AFFECTION] < 15 || player.gender == 0) outputText("She seems to be paying more attention to her gravid midriff than to you, and it's several long moments before she finally speaks. \"<i>These children will be born soon. I guess I owe you my thanks for being willing to father them.</i>\"\n\n", false);
//[Medium Affection]
else if(flags[AMILY_AFFECTION] < 40) outputText("She groans softly. \"<i>This isn't an easy task, you know. But I still want to thank you. Maybe, when these ones are born, you'll be willing to help me make some more?</i>\" She asks, her tail gently waving behind her.\n\n", false);
//[High Affection]
else outputText("\"<i>I should have known you were coming; they always start kicking up a storm when you're here – did you know that?</i>\" She smiles beatifically. \"<i>They know their daddy already, they do. With your help, a new generation of my people will have a chance to grow up free from the taint of demons. Was there something on your mind?</i>\"\n\n", false);
}
//Did the PC genderchange? OH SHIT SON!
//Alternatively: get bitched at
if(flags[AMILY_PC_GENDER] != player.gender) {
//Stripped this out since it was making her flip out weirdly at genderless folks
//|| (player.gender == 0 && flags[AMILY_AFFECTION] < 15)) {
doNext(2763);
return;
}
//Sex / Talk / Talk then sex
var efficiency:Number = 0;
//Amily is not a herm but is ok with herm-daddying!
if(hasItem("P.Draft", 1) && flags[AMILY_WANG_LENGTH] == 0 && flags[AMILY_HERM_QUEST] == 2 && flags[AMILY_AFFECTION] >= 40 && player.gender == 3) {
efficiency = 2768;
outputText("You could probably bring up the efficiency of having two hermaphrodite mothers, particularly since you have this purified incubi draft handy.\n\n", false);
}
var sex:Number = determineAmilySexEvent();
if (sex > 0)
simpleChoices("Sex",sex,"Talk",2383,"Both",2384,"Efficiency",efficiency,"Leave",13);
else
simpleChoices("",0,"Talk",2383,"",0,"Efficiency",efficiency,"Leave",13);
//Set flag for 'last gender met as'
flags[AMILY_PC_GENDER] = player.gender;
return;
/*FAILSAFE - ALL GENDERS HAVE HAD THERE GO AN NOTHING HAPPENED!
outputText("You enter the ruined village cautiously. There are burnt-down houses, smashed-in doorways, ripped-off roofs… everything is covered with dust and grime. You explore for an hour, but you cannot find any sign of another living being, or anything of value. The occasional footprint from an imp or a goblin turns up in the dirt, but you don't see any of the creatures themselves. It looks like time and passing demons have stripped the place bare since it was originally abandoned. Finally, you give up and leave. You feel much easier when you're outside of the village – you had the strangest sensation of being watched while you were in there.", false);
doNext(13);
return;*/
}
function determineAmilySexEvent(forced:Boolean = false):Number {
var sex:Number = 0;
if(!forced && player.lust < 35) return 0;
//If Amily is lesbo lover!
if(flags[AMILY_CONFESSED_LESBIAN] > 0 && player.gender == 2) {
//Futa amily!
if(flags[AMILY_WANG_LENGTH] > 0) {
//If not pregnant, always get fucked!
if(flags[AMILY_INCUBATION] == 0) sex = 2757;
//else 50/50
else {
if(rand(2) == 0) sex = 2756;
else sex = 2757;
}
}
//LESBO LUVIN!
else sex = 2756;
}
//If Amily is a herm lover!
if(player.gender == 3 && flags[AMILY_HERM_QUEST] == 2) {
//Amily is herm too!
if(flags[AMILY_WANG_LENGTH] > 0) {
//If Amily is not pregnant
if(flags[AMILY_INCUBATION] == 0) {
//If PC is also not pregnant, 50/50 odds
if(player.pregnancyIncubation == 0) {
//Herm Amily knocks up PC
if(rand(2) == 0) sex = 2757;
//PC uses dick on amily
else {
if(forced) sex = 2405;
else sex = 2382;
}
}
//If PC is preg, knock up amily.
else {
if(forced) sex = 2405;
else sex = 2382;
}
}
//Amily is preg
else {
//Pc is not
if(player.pregnancyIncubation == 0) sex = 2757;
//PC is preg too!
else {
//Herm Amily knocks up PC
if(rand(2) == 0) sex = 2757;
//PC uses dick on amily
else {
if(forced) sex = 2405;
else sex = 2382;
}
}
}
}
//Amily still girl!
else {
//Not pregnant? KNOCK THAT SHIT UP
if(flags[AMILY_INCUBATION] == 0) sex = 2382;
//Pregnant? Random tribbing!
else {
//Lesbogrind
if(rand(2) == 0) sex = 2756;
//Fuck!
else {
if(forced) sex = 2405;
else sex = 2382;
}
}
}
}
//Dudesex!
if(player.gender == 1) {
if(forced) sex = 2405;
else sex = 2382;
}
return sex;
}
//[Accept Eagerly]
function acceptAmilysOfferEagerly():void {
outputText("", true);
amilySprite();
outputText("You grin lecherously, unable to help it. It's rare when someone in this world wants to fuck and actually asks you, rather than just trying to beat you senseless and then rape you. You tell Amily that if she wants you to fuck her, you'll be happy to do so.\n\n", false);
outputText("The mouse-woman looks appalled. \"<i>Must you be so vulgar?</i>\" she complains.\n\n", false);
outputText("You tell her that this is precisely what she's asking you to do, and you'll be happy to do so if that is what she wants.\n\n", false);
outputText("She still looks disgruntled. \"<i>Very well, come on. I suppose it was too much to hope that you would be roaming this world and yet still have some decorum when it comes to sex…</i>\" She begins leading the way and you follow. She doesn't have much of a butt to stare at, but you can already think of some interesting things to do with that tail of hers...\n\n", false);
outputText("Your brash enthusiasm had made Amily uncomfortable, and your quick surrender to baser impulses has made you slightly more lustful.", false);
//Offer accepted
flags[AMILY_OFFER_ACCEPTED] = 1;
//[-5 Affection]
flags[AMILY_AFFECTION] -= 5;
//[+5 Libido]
stats(0,0,0,0,5,0,0,0);
//[/ Go to [First Time Sex]]
doNext(2405);
}
//[Accept Hesitantly]
function acceptAmilyOfferHesitantly():void {
outputText("", true);
amilySprite();
outputText("The offer is shocking... and yet, strangely enticing. You cannot help but think that it's nice to meet somebody who, even if they are more sexually explicit than in your village, actually approaches the matter with some decorum. You are still surprised and even embarrassed by the invitation, but you can't help but think it might be worthwhile to accept. It's for a good cause, and she's clearly not entirely comfortable with it herself. And maybe you've been too long in this world of beast-people and monsters, but she actually is kind of cute.\n\n", false);
outputText("Softly, you ask if she really does want you to mate with her, to father her offspring.\n\n", false);
outputText("\"<i>Yes. You're the best hope I have... the only hope I have.</i>\" She replies, sadly.\n\n", false);
outputText("You bow your head and tell her that if she really does need your help, you will help her – even if it does mean doing things with her that she doesn't want.\n\n", false);
outputText("She blinks at you, clearly surprised. \"<i>I've never met a male who actually cared if a female wanted sex or not...</i>\" She then smiles gently. \"<i>It's nice to meet somebody who can still care about people as something other than fuck toys. Please, come with me.</i>\"\n\n", false);
outputText("She eagerly leads you down a path, her tail swishing back and forth energetically. She seems very happy by your acceptance.\n\n", false);
outputText("It seems you've made Amily happy by asking if this is what she wants.", false);
//Offer accepted
flags[AMILY_OFFER_ACCEPTED] = 1;
//{+5 Affection}
flags[AMILY_AFFECTION] += 5;
//[/ Go to [First Time Sex]]
doNext(2405);
}
//[Refuse]
function refuseAmilysOffer():void {
outputText("", true);
amilySprite();
outputText("You shake your head in refusal.\n\n", false);
outputText("Amily stares at you in disbelief. \"<i>No? What do you mean, no? I'm honestly offering to have sex with you here.</i>\"\n\n", false);
outputText("You tell her that you can't simply have sex with some stranger who you have never met before, especially when that stranger admits it would just be a casual, unfeeling, emotionally hollow act. You dread the idea of simply whoring yourself out, even for an evidently noble cause as this - it's just not right. You came to this world to try and fight the hedonism and lechery that the demons represent, not to support it or, worse, give in to it yourself.\n\n", false);
outputText("Amily is wide-eyed when you finish. \"<i>I have... I haven't heard anybody say things like that, think like that, in a long time.</i>\" She smiles, faintly, then fiercely shakes her head. \"<i>I really do need your help... but I can only respect your conviction. I do hope that we can come to terms later, though.</i>\"\n\n", false);
outputText("She gives you a bow and then leaves, giving you the chance to turn around leave this ruined village yourself.\n\n", false);
outputText("You have impressed Amily considerably, and reigning in your sexual impulses has helped to calm your libido.\n\n", false);
//{+10 Affection}
flags[AMILY_AFFECTION] += 10;
//{-5 Libido}
stats(0,0,0,0,-2,0,0,0);
doNext(13);
return;
}
//[Announce yourself]
function remeetingAmilyAnnounceSelf():void {
outputText("", true);
amilySprite();
outputText("Reasoning that it's best not to scare someone like Amily, you clear your throat nosily. Amily whirls around to face you and immediately draws her knife into a defensive position. When she sees that it's you, she blinks a few times before grinning in surprise. \"<i>Why hello, " + player.short + "; good to see you again! It's nice to be reminded that there's another person out here who hasn't become a brainless fuck-puppet.</i>\" Her mood then sobers.\n\n", false);
doNext(2377);
}
//[Scare her]
function remeetingAmilyScare():void {
outputText("", true);
amilySprite();
outputText("Grinning with mischief, you carefully sneak up behind her. Suddenly grabbing her shoulders, you shout, \"<i>Gotcha!</i>\" She jolts with a panicked squeal and whirls around, bringing along a scything slash from her dagger!\n\n", false);
//[Player Speed less than 50]
if(player.spe < 50 || player.hasPerk("Evade") < 0) {
//{Player takes minor HP damage}
takeDamage(5);
outputText("You scramble backwards, but it still cuts a nasty gash into your flesh. Amily looks poised to strike again, but stops when she sees that it's you. She looks apologetic – well, somewhat. \"<i>Are you all right? I'm sorry, but that was honestly the stupidest thing I've ever seen someone do!</i>\" She approaches you and makes sure that you aren't seriously hurt. \"<i>You'll live,</i>\" she says rather quickly.\n\n", false);
}
//[Player Speed is 50 or higher]
else {
outputText("You manage to leap backwards just in time to avoid a strike that could have seriously hurt you. Amily recovers quickly and readies her knife again, only to realize that it's you. An irritated expression crosses her face. \"<i>Are you insane!? Do you have any idea how stupid that was? I could have killed you!</i>\" she bellows, before slowly calming down. \"<i>Ah, well… no harm, no foul, I guess…</i>\"\n\n", false);
}
doNext(2377);
}
function amilyRemeetingContinued():void {
outputText("", true);
amilySprite();
outputText("\"<i>So, have you changed your mind? Have you come to help me out?</i>\" Amily asks curiously.\n\n", false);
//Accept / Politely refuse / Here to talk / Get lost
simpleChoices("Accept",2378,"RefusePolite",2379,"Just Talk",2380,"Get Lost",2381,"Leave",13);
}
//[Accept]
function secondTimeAmilyOfferedAccepted():void {
outputText("", true);
amilySprite();
outputText("You tell her that, yes – you'll give her the children she wants. She smiles pleasantly and tells you to follow her.\n\n", false);
//Offer accepted
flags[AMILY_OFFER_ACCEPTED] = 1;
//[/ Go to [First Time Sex]]
doNext(2405);
}
//[Politely refuse]
function secondTimeAmilyRefuseAgain():void {
outputText("", true);
amilySprite();
outputText("You shake your head gently and explain that your position has not changed. Amily looks annoyed, but respects your decision.\n\n", false);
outputText("\"<i>Alright; it is your choice. But my offer still stands, you know,</i>\" she tells you.\n\n", false);
outputText("You let her know you'll remember that, and then turn and leave.", false);
doNext(13);
}
//[Here to talk]
function repeatAmilyTalk():void {
outputText("", true);
amilySprite();
outputText("You tell her that you only wanted to talk.\n\n", false);
outputText("\"<i>Just to talk?</i>\" Amily asks, and then adds quietly, \"<i>Well... it has been a long time since I actually had somebody to talk to...</i>\" She looks distracted for a moment, but then she smiles. Clearly, Amily is pleased with the prospect. \"<i>So, is there anything in particular you want to talk about?</i>\"\n\n", false);
//[/ Go to random [Conversation]]
doNext(2399);
}
//[Get Lost]
function tellAmilyToGetLost():void {
amilySprite();
outputText("You jeer at Amily that you have no interest in a hypocrite who claims to be pure but is really just like everything else in this tainted world; no higher purpose other than her next fuck.\n\n", false);
outputText("Amily goes red with rage. \"<i>Why you arrogant, puffed-up, pigheaded...!</i>\" She's livid! \"<i>The demons'll have you – see if they don't! I don't need you – you're probably infertile anyway, you—</i>\" She trails off into a stream of the most perverse profanity you have ever heard, and then runs off into the ruins.\n\n", false);
outputText("You spin on your heel and stalk off. You figure that she will go out of her way to avoid you in the future; there's no point coming back here.", false);
//{Amily can no longer be encountered}
flags[AMILY_VILLAGE_ENCOUNTERS_DISABLED] = 1;
//{Ruined Village removed from Places list}
//I think one variable can handle both these...
doNext(13);
}
//[Sex]
function sexWithAmily():void {
outputText("", true);
amilySprite();
outputText("You tell Amily that you came here because you wanted to have sex with her.\n\n", false);
//[Amily is not pregnant]
if(flags[AMILY_INCUBATION] == 0) {
//[Low Affection]
if(flags[AMILY_AFFECTION] < 15) {
outputText("\"<i>Of course you did. Well, come on, I guess I can oblige you. It's the only way I'm going to get pregnant.</i>\"\n\n", false);
outputText("She sets off, clearly leading the way as you follow her.\n\n", false);
//[/ Go to [Low Affection Sex]]
doNext(2405);
return;
}
//[Medium Affection]
else if(flags[AMILY_AFFECTION] < 40) {
outputText("\"<i>Well, I guess you'll do. I mean, I still need to get pregnant,</i>\" she teases you, tail waving merrily. \"<i>Follow me.</i>\"\n\n", false);
outputText("You have to push yourself to keep up with her, but she's clearly just playing with you by moving so quickly rather than seriously trying to escape you.\n\n", false);
//[/ Go to [Low Affection Sex]]
doNext(2405);
return;
}
//[High Affection]
else {
outputText("Amily doesn't bother to say anything; she just grins like the cat that ate the canary (well, the mouse that ate the cheesecake, anyway). She grabs hold of your hand and does her best to pull you as fast as she can towards her closest bolt-hole.\n\n", false);
//[/ Go to [Low Affection Sex]]
doNext(2405);
return;
}
}
//[Amily is slightly pregnant]
else if(flags[AMILY_INCUBATION] >= 90) {
//[Low Affection]
if(flags[AMILY_AFFECTION] < 15) {
outputText("She stares at you, puzzled. \"<i>Why? I'm already pregnant,</i>\" she tells you. \"<i>...Forget it. You can have sex when I need to get pregnant again. Go find a goblin if you want to fuck some brainless baby-stuffed whore!</i>\"\n\n", false);
outputText("Amily can still move quickly despite her pregnancy, and you are very promptly left all alone. Perhaps it would be better not to broach the subject that bluntly with her while she's in this state.\n\n", false);
//Reduce affection. DERP
flags[AMILY_AFFECTION] -= 3;
doNext(13);
return;
}
//[Medium Affection]
else if(flags[AMILY_AFFECTION] < 40) {
outputText("She is clearly surprised, putting a hand to her swelling midriff. But then she shrugs and says, \"<i>Well, I guess I do owe you that much for helping me.</i>\"\n\n", false);
outputText("Though she does set off and indicate for you to follow, you realize that she's not too happy about your reason for being here.\n\n", false);
//[/ Go to [Medium Affection Sex]]
doNext(2405);
return;
}
//[High Affection]
else {
outputText("\"<i>You still want me, even though I'm already pregnant?</i>\" she asks – not angry or disappointed, but sounding rather pleased. \"<i>Well, how can I say no to you?</i>\" She smiles broadly and begins to walk away, doing her best to give you a sexy wiggle of her hips as an invitation for you to follow her.\n\n", false);
//[/ Go to [High Affection Sex]]
doNext(2405);
return;
}
}
//[Amily is heavily pregnant]
else {
//[Low Affection]
if(flags[AMILY_AFFECTION] < 15) {
outputText("Her disbelief is quite obvious. She stares at her belly, then at you, then at your crotch, then back at her belly again. She shakes her head, clearly looking disgusted. \"<i>What kind of sicko are you? Look at the state of me – I'm in no shape to have sex! Come back after I've given birth, if that's all I mean to you!</i>\"\n\n", false);
outputText("Annoyed, she turns and waddles off. You do not give chase; you can tell that you've offended her.\n\n", false);
//Reduce affection
flags[AMILY_AFFECTION] -= 3;
doNext(13);
return;
}
//[Medium Affection]
else if(flags[AMILY_AFFECTION] < 40) {
outputText("She boggles as if she can't believe you. \"<i>You can't be that desperate you'd want somebody as fat and knocked up as I am!</i>\" she protests.\n\n", false);
outputText("You insist to her that you're not joking – you really do think she's sexy enough to make love to.\n\n", false);
outputText("\"<i>...Well, I guess I'm flattered, but... do you have the faintest idea how to make love to a woman who is pregnant? Especially one as far along as I am?</i>\"\n\n", false);
outputText("You are forced to concede that, actually, you don't.\n\n", false);
outputText("\"<i>It's not that I don't like you, " + player.short + ", it's just... well, I don't feel comfortable doing that,</i>\" she explains apologetically.\n\n", false);
outputText("You apologize back for confronting her with something she's uncomfortable with, and leave for your own camp, lest you insult her seriously.", false);
flags[AMILY_AFFECTION] -= 3;
doNext(13);
return;
}
//[High Affection]
else {
outputText("She looks a little puzzled by the request, but then smiles with sincere pleasure. \"<i>I'm game if you are, dear.</i>\" She winks and offers her hand to you. You take it, and let her lead you to her chosen nesting site.\n\n", false);
//[/ Go to [High Affection - Heavily Pregnant Sex]]
doNext(2405);
return;
}
}
}
//[Talk]
function talkToAmily():void {
outputText("", true);
amilySprite();
if(flags[AMILY_MET_AS] == 2 && player.gender == 2) outputText("You tell Amily that you came here because you wanted to talk with her.\n\n", false);
else outputText("You tell Amily that you came here because you wanted to talk with her, and you have no desire to approach her sexually on this encounter.\n\n", false);
//[Low Affection]
if(flags[AMILY_AFFECTION] < 15) {
//[Amily is not pregnant]
if(flags[AMILY_INCUBATION] == 0) {
if(flags[AMILY_MET_AS] == 2 && player.gender == 2) outputText("\"<i>A chat would be lovely,</i>\" she says, clearly enjoying herself. \"<i>I... I hardly ever get a chance to find someone to chat with. Sometimes it seems like everyone in Mareth just wants to breed non-stop...</i>\" she murmers to herself. \"<i>Well, what shall we talk about?</i>\" she asks, seemingly quite happy with your presence.\n\n", false);
else outputText("\"<i>You want to talk? No sex?</i>\" she asks, clearly having a hard time believing it. \"<i>I... I haven't had the chance to talk to anyone in years. It's been so long...</i>\" she murmurs to herself, and you think you see the start of a tear glinting in her eye. \"<i>Well, what do you want to talk about?</i>\" she asks, seemingly quite happy that's what you're here for.\n\n", false);
}
//[Amily is slightly pregnant]
else if(flags[AMILY_INCUBATION] >= 90) {
outputText("\"<i>I could use someone to talk to, I suppose,</i>\" she says plainly, but you can clearly see that she's very happy that's what you want to do.\n\n", false);
}
//[Amily is heavily pregnant]
else {
outputText("\"<i>Oh, NOW you want to get to know me,</i>\" she complains, but her tone is gentle – amused even, and she clearly isn't as unhappy as her words may imply. Heavily, she sits herself down unceremoniously. \"<i>But... there are things weighing on my mind. I really could use somebody to talk to.</i>\"\n\n", false);
}
}
//[Medium Affection]
else if(flags[AMILY_AFFECTION] < 40) {
outputText("\"<i>Of course, " + player.short + ", I always enjoy our talks. What shall we discuss this time?</i>\" she asks happily.\n\n", false);
}
//[High Affection]
else {
outputText("She smiles playfully at you. \"<i>And here I was thinking we knew each other already. But if you want, I'm always happy to talk.</i>\"\n\n", false);
}
//[/ Go to random [Conversation]]
doNext(2399);
}
//[Talk then sex]
function talkThenSexWithAmily():void {
outputText("", true);
amilySprite();
outputText("You tell Amily that you came here because you wanted to talk with her. If she feels like having sex when you are done, though, you would be happy to oblige.\n\n", false);
//outputText("You tell Amily that you came here because you wanted to have sex with her.
//[Amily is not pregnant]
if(flags[AMILY_INCUBATION] == 0) {
//[Low Affection]
if(flags[AMILY_AFFECTION] < 15) {
outputText("\"<i>...Well, maybe you're not like everyone else in this world after all,</i>\" she finally answers. Though she walks away without a second word, she seems rather pleased by your answer.\n\n", false);
outputText("\"<i>Hey, hurry up!</i>\" she calls back over her shoulder. You snap out of your musings and follow her.\n\n", false);
//[/ Go to random [Conversation], then to [Low Affection Sex]]
doNext(2400);
}
//[Medium Affection]
else if(flags[AMILY_AFFECTION] < 40) {
outputText("She smiles at you. \"<i>Well… I was feeling a little tired, a little lonely, and… maybe a little horny. Why not?</i>\"\n\n", false);
outputText("She crooks a finger at you as a gesture to follow her.\n\n", false);
//[/ Go to random [Conversation], then to [Medium Affection Sex]]
doNext(2400);
}