-
Notifications
You must be signed in to change notification settings - Fork 216
/
Copy pathexploration.as
2114 lines (1989 loc) · 143 KB
/
exploration.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
const MET_OTTERGIRL:int = 777;
const HAS_SEEN_MINO_AND_COWGIRL:int = 892;
const EXPLORATION_PAGE:int = 1015;
const BOG_EXPLORED:int = 1016;
function doExplore():void {
//vars for menu building
var forest:Number = 0;
var lake:Number = 0;
var swamp:Number = 0;
var mountain:Number = 0;
var desert:Number = 0;
var deepwoods:Number = 0;
var plains:Number = 0;
if(flags[272] > 0) swamp = 111;
if(player.hasStatusAffect("exploredDeepwoods") >= 0) deepwoods = 80
if(player.exploredMountain > 0) mountain = 6;
if(player.exploredForest > 0) forest = 4;
if(player.exploredLake > 0) lake = 5;
if(player.exploredDesert > 0) desert = 3;
if(flags[131] > 0) plains = 97;
if(player.explored == 0) {
outputText("You tentatively step away from your campsite, alert and scanning the ground and sky for danger. You walk for the better part of an hour, marking the rocks you pass for a return trip to your camp. It worries you that the portal has an opening on this side, and it was totally unguarded...\n\n...Wait a second, why is your campsite in front of you? The portal's glow is clearly visible from inside the tall rock formation. Looking carefully you see your footprints leaving the opposite side of your camp, then disappearing. You look back the way you came and see your markings vanish before your eyes. The implications boggle your mind as you do your best to mull over them. Distance, direction, and geography seem to have little meaning here, yet your campsite remains exactly as you left it. A few things click into place as you realize you found your way back just as you were mentally picturing the portal! Perhaps memory influences travel here, just like time, distance, and speed would in the real world!\n\nThis won't help at all with finding new places, but at least you can get back to camp quickly. You are determined to stay focused the next time you explore and learn how to traverse this gods-forsaken realm.", true);
tryDiscover();
return;
}
if(player.explored == 1) {
outputText("You walk for quite some time, roaming the hard-packed and pink-tinged earth of the demon-realm. Rust-red rocks speckle the wasteland, as barren and lifeless as anywhere else you've been. A cool breeze suddenly brushes against your face, as if gracing you with its presence. You turn towards it and are confronted by the lush foliage of a very old looking forest. You smile as the plants look fairly familiar and non-threatening. Unbidden, you remember your decision to test the properties of this place, and think of your campsite as you walk forward. Reality seems to shift and blur, making you dizzy, but after a few minutes you're back, and sure you'll be able to return to the forest with similar speed.\n\n<b>You have discovered the Forest!</b>", true);
tryDiscover();
player.exploredForest++;
return;
}
if(player.explored > 1) outputText("You can continue to search for new locations, or explore your previously discovered locations.", true);
if(flags[EXPLORATION_PAGE] == 2) {
explorePageII();
return;
}
menu();
addButton(0,"Explore",eventParser,12);
if(desert > 0) addButton(1,"Desert",eventParser,desert);
if(forest > 0) addButton(2,"Forest",eventParser,forest);
if(lake > 0) addButton(3,"Lake",eventParser,lake);
addButton(4,"Next",explorePageII);
if(plains > 0) addButton(5,"Plains",eventParser,plains);
if(swamp > 0) addButton(6,"Swamp",eventParser,swamp);
if(deepwoods > 0) addButton(7,"Deepwoods",eventParser,deepwoods);
if(mountain > 0) addButton(8,"Mountain",eventParser,mountain);
addButton(9,"Back",eventParser,1);
//choices("Explore", 12, "Desert", desert, "Forest", forest, "Lake", lake, "Mountain", mountain, "Plains", plains, "Swamp", swamp, "Deepwoods", deepwoods, "H. Mountain", highMountain, "Back", 1);
}
function explorePageII():void {
flags[EXPLORATION_PAGE] = 2;
var highMountain:Number = 0;
if(flags[88] > 0) highMountain = 95;
menu();
if(highMountain > 0) addButton(0,"High Mountain",eventParser,highMountain);
if(flags[BOG_EXPLORED] > 0) addButton(1,"Bog",exploreBog);
addButton(4,"Previous",goBackToPageI);
addButton(9,"Back",eventParser,1);
}
function goBackToPageI():void {
flags[EXPLORATION_PAGE] = 1;
doExplore();
}
//Try to find a new location - called from doExplore once the first location is found
function tryDiscover():void {
if(flags[PC_PROMISED_HEL_MONOGAMY_FUCKS] == 1 && flags[HEL_RAPED_TODAY] == 0 && rand(10) == 0 && player.gender > 0 && !followerHel()) {
helSexualAmbush();
return;
}
if(player.explored > 1) {
if(player.exploredLake == 0) {
outputText("Your wanderings take you far and wide across the barren wasteland that surrounds the portal, until the smell of humidity and fresh water alerts you to the nearby lake. With a few quick strides you find a lake so massive the distant shore cannot be seen. Grass and a few sparse trees grow all around it.\n\n<b>You have discovered the Lake!</b>", true);
player.exploredLake = 1;
player.explored++;
doNext(13);
return;
}
if(player.exploredLake >= 1 && rand(3) == 0 && player.exploredDesert == 0) {
outputText("You stumble as the ground shifts a bit underneath you. Groaning in frustration, you straighten up and discover the rough feeling of sand ", true);
if(player.lowerBody == 0) outputText("inside your footwear, between your toes", false);
if(player.lowerBody == 1) outputText("in your hooves", false);
if(player.lowerBody == 2) outputText("in your paws", false);
if(player.lowerBody == 3) outputText("in your scales", false);
outputText(".\n\n<b>You've discovered the Desert!</b>", false);
player.exploredDesert = 1;
player.explored++;
doNext(13);
return;
}
if(player.exploredDesert >= 1 && rand(3) == 0 && player.exploredMountain == 0) {
outputText("Thunder booms overhead, shaking you out of your thoughts. High above, dark clouds encircle a distant mountain peak. You get an ominous feeling in your gut as you gaze up at it.\n\n<b>You have discovered the mountain!</b>", true);
player.explored++;
player.exploredMountain = 1;
doNext(13);
return;
}
if(player.exploredMountain >= 1 && rand(3) == 0 && flags[131] == 0) {
flags[131] = 1;
player.explored++;
outputText("You find yourself standing in knee-high grass, surrounded by flat plains on all sides. Though the mountain, forest, and lake are all visible from here, they seem quite distant.\n\n<b>You've discovered the plains!</b>", true);
doNext(13);
return;
}
//EXPLOOOOOOORE
if(flags[272] == 0 && flags[131] > 0 && rand(3) == 0) {
flags[272] = 1;
player.explored++;
outputText("", true);
outputText("All things considered, you decide you wouldn't mind a change of scenery. Gathering up your belongings, you begin a journey into the wasteland. The journey begins in high spirits, and you whistle a little traveling tune to pass the time. After an hour of wandering, however, your wanderlust begins to whittle away. Another half-hour ticks by. Fed up with the fruitless exploration, you're nearly about to head back to camp when a faint light flits across your vision. Startled, you whirl about to take in three luminous will-o'-the-wisps, swirling around each other whimsically. As you watch, the three ghostly lights begin to move off, and though the thought of a trap crosses your mind, you decide to follow.\n\n", false);
outputText("Before long, you start to detect traces of change in the environment. The most immediate difference is the increasingly sweltering heat. A few minutes pass, then the will-o'-the-wisps plunge into the boundaries of a dark, murky, stagnant swamp; after a steadying breath you follow them into the bog. Once within, however, the gaseous balls float off in different directions, causing you to lose track of them. You sigh resignedly and retrace your steps, satisfied with your discovery. Further exploration can wait. For now, your camp is waiting.\n\n", false);
outputText("<b>You've discovered the swamp!</b>", false);
doNext(14);
return;
}
//Used for chosing 'repeat' encounters.
var choosey:Number = rand(6);
//Chance of encountering Giacomo!
if(choosey == 0) {
player.explored++;
eventParser(2015);
return;
}
else if(choosey == 1) {
player.explored++;
lumiEncounter();
return;
}
else if(choosey == 2 || debug) {
player.explored++;
if(flags[GAR_NAME] == 0) gargoylesTheShowNowOnWBNetwork();
else returnToCathedral();
return;
}
//Monster - 50/50 imp/gob split.
else {
player.explored++;
var impGob:Number = 5;
//Imptacular Encounter
if(rand(10) < impGob) {
if(player.level >= 8 && rand(2) == 0) {
impLordEncounter();
spriteSelect(29);
return;
}
else {
outputText("An imp wings out of the sky and attacks!", true);
startCombat(1);
spriteSelect(29);
}
return;
}
//Encounter Gobbalin!
else {
if(player.gender > 0) {
outputText("A goblin saunters out of the bushes with a dangerous glint in her eyes.\n\nShe says, \"<i>Time to get fucked, " + player.mf("stud","slut"), true);
outputText(".</i>\"", false);
startCombat(15);
spriteSelect(24);
return;
}
else {
outputText("A goblin saunters out of the bushes with a dangerous glint in her eyes.\n\nShe says, \"<i>Time to get fuc-oh shit, you don't even have anything to play with! This is for wasting my time!", true);
outputText("</i>\"", false);
startCombat(15);
spriteSelect(24);
return;
}
}
}
outputText("You wander around, fruitlessly searching for new places.", true);
}
player.explored++;
doNext(13);
}
function exploreDeepwoods():void {
player.addStatusValue("exploredDeepwoods",1,1);
var chooser:Number = rand(5);
var temp2:Number = 0;
//Every tenth exploration finds a pumpkin if eligible!
if(player.statusAffectv1("exploredDeepwoods")% 10 == 0 && date.fullYear > flags[PUMPKIN_FUCK_YEAR_DONE] && isHalloween()) {
pumpkinFuckEncounter();
return;
}
//Hel jumps you for sex.
if(flags[PC_PROMISED_HEL_MONOGAMY_FUCKS] == 1 && flags[HEL_RAPED_TODAY] == 0 && rand(10) == 0 && player.gender > 0 && !followerHel()) {
helSexualAmbush();
return;
}
//Every 5th exploration encounters d2 if hasnt been met yet and factory done
if(flags[113] == 0 && player.statusAffectv1("exploredDeepwoods") % 5 == 0 && player.hasStatusAffect("DungeonShutDown") >= 0) {
outputText("While you explore the deepwoods, you do your best to forge into new, unexplored locations. While you're pushing away vegetation and slapping at plant-life, you spot a half-overgrown orifice buried in the side of a ravine. There's a large number of imp-tracks around the cavern's darkened entryway. Perhaps this is where the imp, Zetaz, makes his lair? In any event, it's past time you checked back on the portal. You make a mental note of the cave's location so that you can return when you're ready.", true);
outputText("\n\n<b>You've discovered the location of Zetaz's lair!</b>", false);
simpleChoices("Enter",11076,"",0,"",0,"",0,"Leave",13);
flags[113]++;
return;
}
//Tamani 20% encounter rate
if(flags[TAMANI_TIME_OUT] == 0 && rand(5) == 0 && player.gender > 0 && (player.totalCocks() > 0 || player.hasKeyItem("Deluxe Dildo") < 0)) {
if(player.totalCocks() > 0 && flags[57] == 0 && int(player.statusAffectv2("Tamani")/2) >= 12) {
encounterTamanisDaughters();
}
else
encounterTamani();
return;
}
//Faerie
if(chooser == 0) {
encounterFaerie();
return;
}
//Tentacle monster
if(chooser == 1) {
//Reset hilarious shit
if(player.gender > 0) flags[247] = 0;
//Tentacle avoidance chance due to dangerous plants
if(player.hasKeyItem("Dangerous Plants") >= 0 && player.inte/2 > rand(50)) {
temp == rand(3) + 1;
trace("TENTACLE'S AVOIDED DUE TO BOOK!");
outputText("Using the knowledge contained in your 'Dangerous Plants' book, you determine a tentacle beast's lair is nearby, do you continue? If not you could return to camp.\n\n", true);
simpleChoices("Continue",2009,"",0,"",0,"",0,"Leave", 13);
return;
}
else {
eventParser(2009);
return;
}
}
//Corrupted Glade
if(chooser == 2) {
if(rand(4) == 0) {
trappedSatyr();
return;
}
outputText("Walking through the woods, you find a damp patch overgrown with corrupted plant-life. Every flower seems warped into a colorful imitation of female genitals, each vine appears throbbing and veiny, and every knot on the nearby trees is capped with a nipple-like protrusion, leaking dark sap.", true);
//disgusted reaction
if(player.cor <= 33) {
//Get plant-cum dripped on you if not fast and unlucky!
if(player.spe < 60 && rand(player.spe + 50) < 50) {
outputText(" Disgusted by this perversion of nature, you turn to leave, catching a faceful of the white goop that's spurting down from the vines above! It's slimy, gross, and difficult to clear from your eyes, nose, and mouth. The musky smell and delicious salty flavor are undoubtedly a result of the plant's corruption. You escape the tainted glade, but feel warmer and warmer as time passes...", false);
stats(0,0,0,0,0,0,20 + player.lib/5,0);
}
else {
outputText(" Disgusted by this perversion of nature, you turn away to leave, narrowly avoiding a sudden dripping of thick white fluid from the vines overhead.", false);
stats(0,0,0,0,0,0,2,0);
}
doNext(13);
return;
}
//intrigued reaction
if(player.cor > 33 && player.cor <= 66) {
outputText(" You explore the glade with equal parts caution and curiosity. ", false);
temp2 = rand(3);
//flowers...
if(temp2 == 0) {
outputText("A group of perverted looking flowers catch your eye, and leading you to bend closer for a better look at the intricately folded petals, noting the beads of slick moisture that seems to perspire from inside the plant. Awed by the corrupt yet beautiful flower, you take a deep breath, inhaling a lungful of it's pungent yet sweet scents. It matches the flower somehow, lingering in your nose even after you pull away. The smell makes you wonder just how functional the pussy flowers are, as they do have fairly large stalks.\n\nYou sigh and take one last sniff from the flower's honeypot before moving on. Your body flushes happily with desire as your blood pools in your groin. You giggle, wishing you could feel like this more often.", false);
stats(0,0,0,0,0,0,20 + player.lib/5,.5);
}
//vines...
if(temp2 == 1) {
outputText("A few vines dangling from the trees catch your eye due to their rather 'unique' tips. Every single one of them ends in a flared mushroom-like head, each twice as wide as the already thick vine. You touch a vine gently, musing at its slippery texture and how similar it would be to a penis if the 'head' were smaller. You encircle the vine with your hand, stroking it and giggling at the absurdity of this place. The vine suddenly flexes in your grasp, pulsating and contracting as its head grows bigger, turning shiny and red. Pulling away in shock, you gasp as the vine begins spurting out huge ropes of thick viscous fluid, splattering everywhere. The plant-gasm ends as suddenly as it started, the 'head' retaining the size it gained and dripping the last of its strange load. Overcome with curiosity, you sniff at the dripping spunk and swoon at the overpoweringly musky scent. Gathering your wits, you decide to leave before you end up with one of those inside you. You escape the corrupted glade, but stay flush with arousal.", false);
stats(0,0,0,0,0,0,20 + player.lib/5,.5);
}
//trees...
if(temp2 == 2) {
outputText("A cluster of huge breast-like knots on a nearby tree draws your attention. Unable to resist, you poke one, and burst into giggles as it jiggles like a real breast! You cautiously begin groping the tree-tit, and smile as it begins leaking sweet-smelling sap. The scent conjures memories of helping to make maple syrup back home, and before you realize it, you've gathered a drop of the sap on your finger and tasted it. It's powerfully sweet, making your tongue tingle and heart beat faster. Unbidden, the thought of suckling the teat dry of its sweet treat comes to mind, but you manage to reject it and stumble away from the corrupted glade. You have trouble with your tongue for the next hour: it won't stay in your mouth, and keeps licking your lips, seeking any leftover sweetness. It almost distracts you from the palpable heat gathering between your thighs.", false);
stats(0,0,0,0,0,0,20 + player.lib/5,.5);
}
doNext(13);
return;
}
//drink sap/lick flower reaction
if(player.cor > 66 && player.cor <= 100) {
outputText(" You smile as you enter the glade, wondering which of the forbidden fruits you should try...\n\nThere are flowers that bear more than a passing resemblance to pussies,\nvines with absurdly large penis-like tips,\nand trees covered in breast-like knots, leaking sap.", false);
simpleChoices("Flowers", 2012, "Vines", 2013, "Trees", 2084, "", 0, "Leave", 13);
return;
}
//Wallow in decadence reaction - UNFINISHED
}
if(chooser == 3) {
supahAkabalEdition();
return;
}
else if(chooser == 4) {
if(rand(3) == 0) kitsuneShrine();
else enterTheTrickster();
return;
}
}
//Explore forest
function exploreForest():void {
player.exploredForest++;
trace("FOREST EVENT CALLED");
var chooser:Number = rand(4);
var temp2:Number = 0;
//Cut bee encounter rate 50%
if(chooser == 3 && rand(2)) chooser = rand(3);
//Quick changes:
//If monk is fully corrupted, encounter him less (unless haz ferriiite).
if(chooser == 1 && monk >= 2) {
temp = rand(4);
if(temp == 0) chooser = 0;
if(temp == 1) chooser = 2;
if(temp == 2) chooser = 3;
}
//Helia monogamy fucks
if(flags[PC_PROMISED_HEL_MONOGAMY_FUCKS] == 1 && flags[HEL_RAPED_TODAY] == 0 && rand(10) == 0 && player.gender > 0 && !followerHel()) {
helSexualAmbush();
return;
}
//Raise Jojo chances for furrite
if(player.hasPerk("Pierced: Furrite") >= 0 && rand(5) == 0 && (player.cor > 25 || monk > 0)) {
chooser = 1;
}
//If Jojo lives in camp, never encounter him
if(player.hasStatusAffect("PureCampJojo") >= 0 || flags[80] == 1) {
chooser = rand(3);
if(chooser >= 1) chooser++;
}
//Chance to discover deepwoods
if((player.exploredForest >= 20) && player.hasStatusAffect("exploredDeepwoods") < 0) {
player.createStatusAffect("exploredDeepwoods",0,0,0,0);
outputText("After exploring the forest so many times, you decide to really push it, and plunge deeper and deeper into the woods. The further you go the darker it gets, but you courageously press on. The plant-life changes too, and you spot more and more lichens and fungi, many of which are luminescent. Finally, a wall of tree-trunks as wide as houses blocks your progress. There is a knot-hole like opening in the center, and a small sign marking it as the entrance to the 'Deepwoods'. You don't press on for now, but you could easily find your way back to explore the Deepwoods.\n\n<b>Deepwoods exploration unlocked!</b>", true);
doNext(13);
return;
}
//Essy every 20 explores or so
if((rand(100) <= 3) && player.gender > 0 && (flags[ESSY_MET_IN_DUNGEON] == 0 || flags[TOLD_MOTHER_TO_RELEASE_ESSY] == 1)) {
essrayleMeetingI();
return;
}
//Chance of dick-dragging! 10% + 10% per two foot up to 30%
temp = 10 + (player.longestCockLength() - player.tallness)/24*10;
if(temp > 30) temp = 30;
if(temp > rand(100) && player.longestCockLength() >= player.tallness && player.totalCockThickness() >= 12) {
bigJunkForestScene();
return;
}
//Marble randomness
if(player.exploredForest % 50 == 0 && player.exploredForest > 0 && player.hasStatusAffect("Marble Rape Attempted") < 0 && player.hasStatusAffect("No More Marble") < 0 && player.hasStatusAffect("Marble") >= 0 && flags[MARBLE_WARNING] == 0) {
//can be triggered one time after Marble has been met, but before the addiction quest starts.
clearOutput();
outputText("While you're moving through the trees, you suddenly hear yelling ahead, followed by a crash and a scream as an imp comes flying at high speed through the foliage and impacts a nearby tree. The small demon slowly slides down the tree before landing at the base, still. A moment later, a familiar-looking cow-girl steps through the bushes brandishing a huge two-handed hammer with an angry look on her face.");
outputText("\n\nShe goes up to the imp, and kicks it once. Satisfied that the creature isn't moving, she turns around to face you and gives you a smile. \"<i>Sorry about that, but I prefer to take care of these buggers quickly. If they get the chance to call on their friends, they can actually become a nuisance.</i>\" She disappears back into the foliage briefly before reappearing holding two large pile of logs under her arms, with a fire axe and her hammer strapped to her back. \"<i>I'm gathering firewood for the farm, as you can see; what brings you to the forest, sweetie?</i>\" You inform her that you're just exploring.");
outputText("\n\nShe gives a wistful sigh. \"<i>I haven't really explored much since getting to the farm. Between the jobs Whitney gives me, keeping in practice with my hammer, milking to make sure I don't get too full, cooking, and beauty sleep, I don't get a lot of free time to do much else.</i>\" She sighs again. \"<i>Well, I need to get this back, so I'll see you later!</i>\"");
//end event
doNext(13);
return;
}
if(chooser == 0) {
//Determines likelyhood of imp/goblins
//Below - goblin, Equal and up - imp
var impGob:Number = 5;
trace("IMP/Gobb");
//Dicks + lots of cum boosts goblin probability
//Vags + Fertility boosts imp probability
if(player.totalCocks() > 0) impGob--;
if(player.hasVagina()) impGob++;
if(player.fertility + player.bonusFertility() >= 30) impGob++;
if(player.cumQ() >= 200) impGob--;
if(player.hasPerk("Pierced: Lethite") >= 0) {
if(impGob <= 3) impGob += 2;
else if(impGob < 7) impGob = 7;
}
//Imptacular Encounter
if(rand(10) < impGob) {
if(player.level >= 8 && rand(2) == 0) {
impLordEncounter();
}
else {
outputText("An imp leaps out of the bushes and attacks!", true);
startCombat(1);
}
spriteSelect(29);
return;
}
//Encounter Gobbalin!
else {
//Tamani 25% of all goblin encounters encounter rate
if(rand(4) <= 0 && flags[TAMANI_TIME_OUT] == 0 && player.gender > 0 && (player.totalCocks() > 0 || player.hasKeyItem("Deluxe Dildo") < 0)) {
if(player.totalCocks() > 0 && flags[57] == 0 && int(player.statusAffectv2("Tamani")/2) >= 12) {
encounterTamanisDaughters();
}
else
encounterTamani();
return;
}
if(player.gender > 0) {
outputText("A goblin saunters out of the bushes with a dangerous glint in her eyes.\n\nShe says, \"<i>Time to get fucked, " + player.mf("stud","slut"), true);
outputText(".</i>\"", false);
startCombat(15);
spriteSelect(24);
return;
}
else {
outputText("A goblin saunters out of the bushes with a dangerous glint in her eyes.\n\nShe says, \"<i>Time to get fuc-oh shit, you don't even have anything to play with! This is for wasting my time!", true);
outputText("</i>\"", false);
startCombat(15);
spriteSelect(24);
return;
}
}
}
if(chooser == 1) {
trace("MOJO JOJO!");
doNext(13);
outputText("", true);
if(monk == 0) {
if(player.cor < 25) {
outputText("You enjoy a peaceful walk in the woods. It gives you time to think over the recent, disturbing events.", true);
stats(0,.5,0,1,0,0,0,0);
doNext(13);
return;
}
monk = 1;
spriteSelect(34);
outputText("While marvelling at the strange trees and vegetation of the forest, the bushes ruffle ominously. A bush seems to explode into a flurry of swirling leaves and movement. Before you can react you feel your " + player.feet() + " swept out from under you, and land hard on your back.\n\n", false);
outputText("The angry visage of a lithe white mouse gazes down on your prone form with a look of confusion.", false);
outputText("\n\n\"<i>I'm sorry, I sensed a great deal of corruption, and thought a demon or monster had come to my woods,</i>\" says the mouse, \"<i>Oh, where are my manners!</i>\"\n\nHe helps you to your feet and introduces himself as Jojo. Now that you have a good look at him, it is obvious this mouse is some kind of monk, dressed in robes, holy symbols, and draped with prayer beads.\n\nHe smiles knowingly, \"<i>Yes I am a monk, and yes this is a strange place for one such as I... this world was not always this way. Long ago this world was home to many villages, including my own. But then the demons came. I'm not sure if they were summoned, created, or simply a perversion of magic or breeding, but they came swarming out of the mountains to destroy everything in their path.</i>\"", false);
outputText("\n\nJojo sighs sadly, \"<i>Enough of my woes. You are very corrupted. If you cannot be sufficiently purified you WILL become one of them in time. Will you let me help you?", false);
if(player.gender > 0) simpleChoices("Accept", 2003, "Rape Him", 2004, "BWUH?", 0, "Decline", 13, "", 0);
else simpleChoices("Accept", 2003, "Rape Him", 0, "BWUH?", 0, "Decline", 13, "", 0);
return;
}
if(monk == 1) {
if(player.cor < 10) {
outputText("You enjoy a peaceful walk in the woods, it gives you time to think.", true);
stats(0,.5,0,1,0,0,0,0);
doNext(13);
return;
}
if(player.hasStatusAffect("infested") >= 0) {
spriteSelect(34);
outputText("As you approach the serene monk, you see his nose twitch, disturbing his meditation.\n\n", true);
outputText("\"<i>It seems that the agents of corruption have taken residence within the temple that is your body.</i>\", Jojo says flatly. \"<i>This is a most unfortunate development. There is no reason to despair as there are always ways to fight the corruption. However, great effort will be needed to combat this form of corruption and may leave lasting impressions upon you. If you are ready, we can purge your being of the rogue creatures of lust.</i>\"\n\n", false);
if(player.gender > 0) simpleChoices("Purge",2083,"Meditate",2003,"Rape",2004,"",0,"Leave",13);
else simpleChoices("Purge",2083,"Meditate",2003,"Rape",0,"",0,"Leave",13);
return;
}
spriteSelect(34);
outputText("Jojo the monk appears before you, robes and soft white fur fluttering in the breeze. He asks, \"<i>Are you ready for a meditation session?</i>\"", false);
if(player.gender > 0) simpleChoices("Yes", 2003, "No", 13, "BWUH", 0, "Rape Him", 2004, "", 0);
else simpleChoices("Yes", 2003, "No", 13, "BWUH", 0, "Rape Him", 0, "", 0);
}
if(monk >= 2) {
spriteSelect(34);
outputText("You are enjoying a peaceful walk through the woods when Jojo drops out of the trees ahead, ", true);
if(monk == 2) outputText("his mousey visage twisted into a ferocious snarl. \"YOU!\" he screams, launching himself towards you, claws extended.", false);
if(monk == 3) outputText("unsteady on his feet, but looking for a fight!", false);
if(monk == 4) outputText("visibly tenting his robes, but intent on fighting you.", false);
if(monk == 5) outputText("panting and nude, his fur rustling in the breeze, a twitching behemoth of a cock pulsing between his legs.", false);
startCombat(3);
}
}
//Tentacles 25% of the time...
if(chooser == 2) {
trace("TRACE TENTACRUELS");
outputText("", true);
temp = rand(5);
//Oh noes, tentacles!
if(temp == 0) {
//Tentacle avoidance chance due to dangerous plants
if(player.hasKeyItem("Dangerous Plants") >= 0 && player.inte/2 > rand(50)) {
temp == rand(3) + 1;
trace("TENTACLE'S AVOIDED DUE TO BOOK!");
outputText("Using the knowledge contained in your 'Dangerous Plants' book, you determine a tentacle beast's lair is nearby, do you continue? If not you could return to camp.\n\n", false);
simpleChoices("Continue",2009,"",0,"",0,"",0,"Leave", 13);
return;
}
else {
eventParser(2009);
return;
}
}
if(temp == 1) {
if(player.cor < 80) {
outputText("You enjoy a peaceful walk in the woods, it gives you time to think.", false);
stats(0,.5,0,1,0,0,0,0);
}
else {
outputText("As you wander in the forest, you keep ", false);
if(player.gender == 1) outputText("stroking your half-erect " + multiCockDescriptLight() + " as you daydream about fucking all kinds of women, from weeping tight virgins to lustful succubi with gaping, drooling fuck-holes.", false);
if(player.gender == 2) outputText("idly toying with your " + vaginaDescript(0) + " as you daydream about getting fucked by all kinds of monstrous cocks, from minotaurs' thick, smelly dongs to demons' towering, bumpy pleasure-rods.", false);
if(player.gender == 3) outputText("stroking alternatively your " + multiCockDescriptLight() + " and your " + vaginaDescript(0) + " as you daydream about fucking all kinds of women, from weeping tight virgins to lustful succubi with gaping, drooling fuck-holes, before, or while, getting fucked by various monstrous cocks, from minotaurs' thick, smelly dongs to demons' towering, bumpy pleasure-rods.", false);
if(player.gender == 0) outputText("daydreaming about sex-demons with huge sexual attributes, and how you could please them.", false);
outputText("", false);
stats(0,.5,0,0,.25,0,player.lib/5,0);
}
doNext(13);
return;
}
//CORRUPTED GLADE
if(temp == 2 || temp >= 4) {
if(rand(4) == 0) {
trappedSatyr();
return;
}
outputText("Walking through the woods, you find a damp patch overgrown with corrupted plant-life. Every flower seems warped into a colorful imitation of a female's genitals, each vine appears throbbing and veiny, and every knot on the nearby trees is capped with a nipple-like protrusion, leaking dark sap.", false);
//disgusted reaction
if(player.cor <= 33) {
//Get plant-cum dripped on you if not fast and unlucky!
if(player.spe < 60 && rand(player.spe + 50) < 50) {
outputText(" Disgusted by this perversion of nature, you turn to leave, catching a faceful of the white goop that's spurting down from the vines above! It's slimy, gross, and difficult to clear from your eyes, nose, and mouth. The musky smell and delicious salty flavor are undoubtedly a result of the plant's corruption. You escape the tainted glade, but feel warmer and warmer as time passes...", false);
stats(0,0,0,0,0,0,20 + player.lib/5,0);
}
else {
outputText(" Disgusted by this perversion of nature, you turn away to leave, narrowly avoiding a sudden dripping of thick white fluid from the vines overhead.", false);
stats(0,0,0,0,0,0,2,0);
}
doNext(13);
return;
}
//intrigued reaction
if(player.cor > 33 && player.cor <= 66) {
outputText(" You explore the glade with equal parts caution and curiosity. ", false);
temp2 = rand(3);
//flowers...
if(temp2 == 0) {
outputText("A group of perverted looking flowers catch your eye, leading you to bend closer for a better look at the intricately folded petals, noting the beads of slick moisture that seems to perspire from inside the plant. Awed by the corrupt yet beautiful flower, you take a deep breath, inhaling a lungful of its pungent yet sweet scents. It matches the flower somehow, lingering in your nose even after you pull away. The smell makes you wonder just how functional the pussy flowers are, they do have fairly large stalks.\n\nYou sigh and take one last sniff from the flower's honeypot before moving on. Your body flushes happily with desire as your blood pools in your groin. You giggle, wishing you could feel like this more often.", false);
stats(0,0,0,0,0,0,20 + player.lib/5,.5);
}
//vines...
if(temp2 == 1) {
outputText("A few vines dangling from the trees catch your eye due to their rather 'unique' tips. Every single one of them ends in a flared mushroom-like head, each twice as wide as the already thick vine. You touch a vine gently, musing at its slippery texture and how similar it would be to a penis if the 'head' were smaller. You encircle the vine with your hand, stroking it and giggling at the absurdity of this place. The vine suddenly flexes in your grasp, pulsating and contracting as the it's head grows bigger, turning shiny and red. Pulling away in shock, you gasp as the vine begins spurting out huge ropes of thick viscous fluid, splattering everywhere. The plant-gasm ends as suddenly as it started, the 'head' retaining the size it gained and dripping the last of its strange load. Overcome with curiosity, you sniff at the dripping spunk and swoon at the overpoweringly musky scent. Gathering your wits, you decide to leave before you end up with one of those inside you. You escape the corrupted glade, but stay flush with arousal.", false);
stats(0,0,0,0,0,0,20 + player.lib/5,.5);
}
//trees...
if(temp2 == 2) {
outputText("A cluster of huge breast-like knots on a nearby tree draws your attention. Unable to resist, you poke one, and burst into giggles as it jiggles like a real breast! You cautiously begin groping the tree-tit, and smile as it begins leaking sweet-smelling sap. The scent conjures memories of helping to make maple syrup back home, and before you realize it, you've gathered a drop of the sap on your finger and tasted it. It's powerfully sweet, making your tongue tingle and heart beat faster. Unbidden, the thought of suckling the teat dry of its sweet treat comes to mind, but you manage to reject it and stumble away from the corrupted glade. You have trouble with your tongue for the next hour: it won't stay in your mouth, and keeps licking your lips, seeking any leftover sweetness. It almost distracts you from the palpable heat gathering between your thighs.", false);
stats(0,0,0,0,0,0,20 + player.lib/5,.5);
}
doNext(13);
return;
}
//drink sap/lick flower reaction
if(player.cor > 66 && player.cor <= 100) {
outputText(" You smile as you enter the glade, wondering which of the forbidden fruits you should try...\n\nThere are flowers that bear more than a passing resemblance to pussies,\nvines with absurdly large penis-like tips,\nand trees covered in breast-like knots, leaking sap.", false);
simpleChoices("Flowers", 2012, "Vines", 2013, "Trees", 2084, "", 0, "Leave", 13);
return;
}
//Wallow in decadence reaction - UNFINISHED
}
//Trip on a root!
if(temp == 3) {
outputText("You trip on an exposed root, scraping yourself somewhat, but otherwise the hour is uneventful.", false);
takeDamage(10);
doNext(13);
return;
}
}
//Bee-girl encounter
if(chooser == 3) {
if(rand(10) == 0) {
menuLoc = 2;
carapaceFind();
return;
}
eventParser(2051);
return;
}
}
//Explore desert
function exploreDesert():void {
player.exploredDesert++;
if(player.level >= 4 && player.exploredDesert % 15 == 0 && flags[DISCOVERED_WITCH_DUNGEON] == 0) {
inDungeon = true;
dungeonLoc = 23;
eventParser(1);
return;
}
if(rand(40) == 0) {
fountainEncounter();
return;
}
//Helia monogamy fucks
if(flags[PC_PROMISED_HEL_MONOGAMY_FUCKS] == 1 && flags[HEL_RAPED_TODAY] == 0 && rand(10) == 0 && player.gender > 0 && !followerHel()) {
helSexualAmbush();
return;
}
if((player.exploredDesert == 20 && player.hasStatusAffect("Tel'Adre") < 0) || (rand(20) == 0 && player.statusAffectv1("Tel'Adre") == 0)) {
discoverTelAdre();
return;
}
if(flags[EGG_WITCH_COUNTER] >= 4 && flags[EGG_WITCH_TYPE] > 0 && rand(4) == 0) {
if(flags[EGG_WITCH_TYPE] == 2) sammitchBirthsDriders();
else witchBirfsSomeBees();
return;
}
//Ant colony debug chances
if(player.level >= 5 && flags[ANT_WAIFU] == 0 && (player.exploredDesert % 8 == 0) && flags[ANTS_PC_FAILED_PHYLLA] == 0 && flags[ANT_COLONY_KEPT_HIDDEN] == 0) {
antColonyEncounter();
return;
}
//int over 50? Chance of alice encounter!
if(rand(4)==0 && player.inte > 50 && flags[101] == 0) {
outputText("", true);
outputText("While exploring the desert, you see a plume of smoke rising in the distance. You change direction and approach the soot-cloud carefully. It takes a few moments, but after cresting your fourth dune, you locate the source. You lie low, so as not to be seen, and crawl closer for a better look.\n\n", false);
outputText("A library is burning up, sending flames dozens of feet into the air. It doesn't look like any of the books will survive, and most of the structure has already been consumed by the hungry flames. The source of the inferno is curled up next to it. It's a naga! She's tall for a naga, at least seven feet if she stands at her full height. Her purplish-blue skin looks quite exotic, and she wears a flower in her hair. The naga is holding a stick with a potato on the end, trying to roast the spud on the library-fire. It doesn't seem to be going well, and the potato quickly lights up from the intense heat.\n\n", false);
outputText("The snake-woman tosses the burnt potato away and cries, \"<i>Hora hora.</i>\" She suddenly turns and looks directly at you. Her gaze is piercing and intent, but she vanishes before you can react. The only reminder she was ever there is a burning potato in the sand. Your curiosity overcomes your caution, and you approach the fiery inferno. There isn't even a trail in the sand, and the library is going to be an unsalvageable wreck in short order. Perhaps the only item worth considering is the stick with the burning potato. It's quite oddly shaped, and when you reach down to touch it you can feel a resonant tingle. Perhaps it was some kind of wizard's staff?\n\n", false);
shortName = "W.Staff";
flags[101]++;
menuLoc = 2;
takeItem();
return;
}
//Possible chance of boosting camp space!
if(player.hasKeyItem("Camp - Chest") < 0 && (rand(100) < 10)) {
outputText("While wandering the trackless sands of the desert, you break the silent monotony with a loud 'thunk'. You look down and realize you're standing on the lid of an old chest, somehow intact and buried in the sand. Overcome with curiosity, you dig it out, only to discover that it's empty. It would make a nice addition to your campsite.\n\nYou decide to bring it back to your campsite. <b>You now have six storage item slots at camp.</b>", true);
createStorage();
createStorage();
createStorage();
createStorage();
createStorage();
createStorage();
player.createKeyItem("Camp - Chest",0,0,0,0);
doNext(13);
return;
}
//Chance of dick-dragging! 10% + 10% per two foot up to 30%
temp = 10 + (player.longestCockLength() - player.tallness)/24*10;
if(temp > 30) temp = 30;
if(temp > rand(100) && player.longestCockLength() >= player.tallness && player.totalCockThickness() >= 12) {
bigJunkDesertScene();
return;
}
var choices:Array = new Array();
//-8008 is cheating for "no arg"
var args:Array = new Array();
//Encounter Sandwitch
if(flags[SAND_WITCH_LEAVE_ME_ALONE] == 0) {
choices[choices.length] = eventParser;
args[args.length] = 2005;
}
if(flags[CUM_WITCHES_FIGHTABLE] > 0 ) {
choices[choices.length] = fightCumWitch;
args[args.length] = -8008;
}
//Encounter Marcus
choices[choices.length] = wandererRouter;
args[args.length] = -8008;
choices[choices.length] = walkingDesertStatBoost;
args[args.length] = -8008;
if(rand(2) == 0 && player.level >= 2) {
if(rand(2) == 0) {
choices[choices.length] = mirageDesert;
args[args.length] = -8008;
}
else {
choices[choices.length] = oasisEncounter;
args[args.length] = -8008;
}
}
choices[choices.length] = nagaEncounter;
args[args.length] = -8008;
if(rand(2) == 0) {
choices[choices.length] = encounterASandTarp;
args[args.length] = -8008;
}
var select:int = rand(choices.length);
if(args[select] == -8008) {
choices[select]();
}
else choices[select](args[select]);
}
function mirageDesert():void {
clearOutput();
outputText("While exploring the desert, you see a shimmering tower in the distance. As you rush towards it, it vanishes completely. It was a mirage! You sigh, depressed at wasting your time.", true);
stats(0,0,0,0,0,0,-15,0);
doNext(13);
return;
}
function walkingDesertStatBoost():void {
clearOutput();
outputText("You walk through the shifting sands for an hour, finding nothing.\n\n", true);
//Chance of boost == 50%
if(rand(2) == 0) {
//50/50 strength/toughness
if(rand(2) == 0 && player.str < 50) {
outputText("The effort of struggling with the uncertain footing has made you stronger.", false);
stats(.5,0,0,0,0,0,0,0);
}
//Toughness
else if(player.tou < 50) {
outputText("The effort of struggling with the uncertain footing has made you tougher.", false);
stats(0,.5,0,0,0,0,0,0);
}
}
doNext(13);
}
//Explore High Mountain
function exploreHighMountain():void {
flags[88]++;
doNext(1);
var chooser:Number = rand(3);
//Boosts mino and hellhound rates!
if(player.hasPerk("Pierced: Furrite") >= 0 && rand(3) == 0) {
chooser = 1;
}
//Helia monogamy fucks
if(flags[PC_PROMISED_HEL_MONOGAMY_FUCKS] == 1 && flags[HEL_RAPED_TODAY] == 0 && rand(10) == 0 && player.gender > 0 && !followerHel()) {
helSexualAmbush();
return;
}
//Gats xmas adventure!
if(rand(5) == 0 && player.gender > 0 && isHolidays() && flags[GATS_ANGEL_DISABLED] == 0 && flags[GATS_ANGEL_GOOD_ENDED] == 0 && (flags[GATS_ANGEL_QUEST_BEGAN] == 0 || player.hasKeyItem("North Star Key") >= 0)) {
gatsSpectacularRouter();
return;
}
//Minerva
if(flags[88] % 8 == 0) {
encounterMinerva();
return;
}
//25% minotaur sons!
if(flags[326] >= 3 && rand(4) == 0 && player.hasVagina()) {
spriteSelect(44);
meetMinotaurSons();
return;
}
//Harpy odds!
if(hasItem("OviElix",1)) {
if(hasItem("OviElix",2)) {
if(rand(4) == 0) {
chickenHarpy();
return;
}
}
else {
if(rand(10) == 0) {
chickenHarpy();
return;
}
}
}
//10% chance to mino encounter rate if addicted
if(flags[20] > 0 && rand(10) == 0) {
spriteSelect(44);
//Cum addictus interruptus! LOL HARRY POTTERFAG
//Withdrawl auto-fuck!
if(flags[20] == 3) {
minoAddictionFuck();
return;
}
eventParser(2008);
spriteSelect(44);
return;
}
//Generic harpy
if(chooser == 0) {
outputText("A harpy wings out of the sky and attacks!", true);
startCombat(25);
spriteSelect(26);
return;
}
//Basilisk!
if(chooser == 1) {
basiliskGreeting();
return;
}
//Sophie
if(chooser == 2) {
if(flags[282] > 0 || flags[283] > 0 || sophieFollower()) {
outputText("A harpy wings out of the sky and attacks!", true);
startCombat(25);
spriteSelect(26);
return;
}
else {
if(flags[90] == 0) meetSophie();
else meetSophieRepeat();
}
}
}
//Explore Mountain
function exploreMountain():void {
player.exploredMountain++;
var chooser:Number = rand(4);
//Helia monogamy fucks
if(flags[PC_PROMISED_HEL_MONOGAMY_FUCKS] == 1 && flags[HEL_RAPED_TODAY] == 0 && rand(10) == 0 && player.gender > 0 && !followerHel()) {
helSexualAmbush();
return;
}
//Discover 'high mountain' at level 5 or 40 explores of mountain
if((player.level >= 5 || player.exploredMountain >= 40) && flags[88] == 0) {
outputText("While exploring the mountain, you come across a relatively safe way to get at its higher reaches. You judge that with this route you'll be able to get about two thirds of the way up the mountain. With your newfound discovery fresh in your mind, you return to camp.\n\n(<b>High Mountain exploration location unlocked!</b>)", true);
flags[88]++;
doNext(13);
return;
}
if(isHolidays()) {
//Gats xmas adventure!
if(rand(5) == 0 && player.gender > 0 && isHolidays() && flags[GATS_ANGEL_DISABLED] == 0 && flags[GATS_ANGEL_GOOD_ENDED] == 0 && (flags[GATS_ANGEL_QUEST_BEGAN] > 0 && player.hasKeyItem("North Star Key") < 0)) {
gatsSpectacularRouter();
return;
}
if(rand(6) == 0 && flags[JACK_FROST_YEAR] < date.fullYear) {
meetJackFrostInTheMountains();
return;
}
}
//8% chance of hellhoundsplosions if appropriate
if(rand(100) <= 77) {
if(flags[141] < 3) {
trace("CHANCE AT HELLHOUND GAO");
//Requires canine face, [either two dog dicks, or a vag and pregnant with a hellhound], at least two other hellhound features (black fur, dog legs, dog tail), and corruption >=60.
if(player.faceType == 2 && (player.dogCocks() >= 2 || (player.hasVagina() && player.pregnancyType == 6 && player.pregnancyIncubation > 0)) && player.cor >= 60 && player.tailType == 2 && (player.lowerBody == 2 || player.hairColor == "midnight black")) {
trace("PASS BODYCHECK");
if(flags[141] == 0) {
HellHoundMasterEncounter();
return;
}
//Level 2 requires lethecite
else if(flags[141] == 1 && player.hasKeyItem("Marae's Lethicite") >= 0 && player.keyItemv2("Marae's Lethicite") < 3) {
HellHoundMasterEncounter();
return;
}
}
}
}
//Rarer 'nice' Ceraph encounter
//Overlaps half the old encounters once pierced.
if(!ceraphIsFollower() && player.level > 2 && (player.exploredMountain % 30 == 0) && flags[23] > 0) {
friendlyNeighborhoodSpiderManCeraph();
return;
}
//15% chance of Ceraph
if(!ceraphIsFollower() && player.level > 2 && (player.exploredMountain % 15 == 0) && flags[23] != 1) {
encounterCeraph();
return;
}
//10% chance of hairdresser encounter if not found yet
if(rand(10) == 0 && player.hasStatusAffect("hairdresser meeting") < 0) chooser = 4;
if((rand(8) == 0 && player.hasStatusAffect("Met Marae") >= 0)
&& player.hasStatusAffect("Found Factory") < 0) {
eventParser(11057);
return;
}
//Boosts mino and hellhound rates!
if(player.hasPerk("Pierced: Furrite") >= 0 && rand(3) == 0) {
if(rand(2) == 0) chooser = 1;
else chooser = 3;
}
//10% chance to mino encounter rate if addicted
if(flags[20] > 0 && rand(10) == 0) {
chooser = 1;
}
//10% MORE chance for minos if uber-addicted
if(player.hasPerk("Minotaur Cum Addict") >= 0 && rand(10) == 0) {
chooser = 1;
}
//Every 15 explorations chance at mino bad-end!
if(player.exploredMountain % 16 == 0 && player.hasPerk("Minotaur Cum Addict") >= 0) {
spriteSelect(44);
minoAddictionBadEndEncounter();
return;
}
if(chooser == 0) {
//Determines likelyhood of imp/goblins
//Below - goblin, Equal and up - imp
var impGob:Number = 5;
if(player.hasPerk("Pierced: Lethite") >= 0) {
if(impGob <= 3) impGob += 2;
else if(impGob < 7) impGob = 7;
}
trace("IMP/Gobb");
//Dicks + lots of cum boosts goblin probability
//Vags + Fertility boosts imp probability
if(player.totalCocks() > 0) impGob--;
if(player.hasVagina()) impGob++;
if(player.fertility + player.bonusFertility() >= 30) impGob++;
if(player.cumQ() >= 200) impGob--;
//Imptacular Encounter
if(rand(10) < impGob) {
if(player.level >= 8 && rand(2) == 0) {
impLordEncounter();
}
else {
outputText("An imp leaps out from behind a rock and attacks!", true);
startCombat(1);
}
spriteSelect(29);
return;
}
//Encounter Gobbalin!
else {
if(player.gender > 0) {
outputText("A goblin saunters out of the bushes with a dangerous glint in her eyes.\n\nShe says, \"<i>Time to get fucked, " + player.mf("stud","slut"), true);
outputText(".</i>\"", false);
startCombat(15);
spriteSelect(24);
return;
}
else {
outputText("A goblin saunters out of the bushes with a dangerous glint in her eyes.\n\nShe says, \"<i>Time to get fuc-oh shit, you don't even have anything to play with! This is for wasting my time!", true);
outputText("</i>\"", false);
startCombat(15);
spriteSelect(24);
return;
}
}
}
//Minotauuuuur
if(chooser == 1) {
spriteSelect(44);
if(player.hasStatusAffect("TF2") < 0 && player.level <= 1 && player.str <= 40) {
if(silly()) {
//(Ideally, this should occur the first time the player would normally get an auto-rape encounter with the minotaur. The idea is to give a breather encounter to serve as a warning of how dangerous the mountain is)
outputText("Crossing over the treacherous mountain paths, you walk past an ominous cave. The bones and the smell of death convince you to hasten your pace. However, as you walk by, you hear a deep bellow and a snort as a monstrous man with a bull's head steps out. With hell in his eyes and a giant ax in his hand, he begins to approach you in clear rage. As he comes out into the light, you see that he is completely naked and sports a monstrous erection as angry as the minotaur himself, freely leaking a steady stream of pre-cum as he stalks you.\n\n", true);
outputText("You stumble in your attempt to escape and realize that you are completely helpless. The minotaur towers over you and heaves his ax for a <i>coup de grace</i>. As he readies the blow, a monstrous explosion rocks the entire mountainside, causing the bull-man to stumble before he can finish you off. You look around, bewildered, trying to understand this strange new turn of events, and notice a group of maybe half a dozen people approaching from further up the path. They appear to be a motley crew clad in blue and carrying monstrous weapons. The tallest man holds a weapon made of multiple rotating tubes, and begins spinning the barrels. A second later, while screaming in a language you do not understand, a rain of lead begins shredding the minotaur into a cloud of blood and flesh.\n\n", false);
outputText("An equally imposing black man with a patch over one eye begins firing canisters at the beast, which explode violently. \"<i>Ya ragged-arsed beast man!</i>\" he taunts. \"<i>Ye should pick on someone yer own size, BOY-O! HEHEHE!</i>\"\n\n", false);
outputText("Coming up the path next is a freak of a person clad in a contained shiny suit with weapon that burns with flame. He freely walks into the explosions and gunfire and begins igniting the beast.\n\n", false);
outputText("\"<i>MRPHHUMFHRUFH!!!!! HUMFHUFMMRUF!</i>\" the freak mumbles through his mask.\n\n", false);
outputText("\"<i>I like me steak well done, ye crazy bugger!</i>\" yells the black man.\n\n", false);
outputText("The beast collapses in a charred and bloody heap. As you stand back up, you hear a strange noise behind you. You turn around to find a well-dressed man wearing a ski mask and smoking a cigarette. \"<i>Don't you know ze mountains are dangereuse,</i>\" the man says with a thick accent. \"<i>You will get FUCKED up here if you are not careful.</i>\"\n\n", false);
outputText("You thank the man and his team, but they brush off your gratitude. \"<i>Non, non!</i>\" the man with the accent says. \"<i>As zey say, everyone gets ONE.</i>\" With that, he touches the watch on his wrist and disappears. The rest of the group continues on their way.\n\n", false);
outputText("As they leave, the giant with the chain gun yells in a horribly accented manner, \"<i>YOU LEAVE SANDVICH ALONE! SANDVICH IS MINE!</i>\"\n\n", false);
outputText("With that, another hail of bullets break the scene as they walk away, leaving you safe from the minotaur, but utterly baffled as to what in hell just happened.", false);
}
else {
outputText("Crossing over the treacherous mountain paths, you walk past an ominous cave. The bones and the smell of death convince you to hasten your pace. However, as you walk by, you hear a deep bellow and a snort as a monstrous man with a bull's head steps out. With hell in his eyes and a giant ax in his hand, he begins to approach you in clear rage. As he comes out into the light, you see that he is completely naked and sports a monstrous erection as angry as the minotaur himself, freely leaking a steady stream of pre-cum as he stalks you.\n\n", true);
outputText("You stumble in your attempt to escape and realize that you are completely helpless. The minotaur towers over you and heaves his ax for a <i>coup de grace</i>. As he readies the blow, another beast-man slams into him from the side. The two of them begin to fight for the honor of raping you, giving you the opening you need to escape. You quietly sneak away while they fight – perhaps you should avoid the mountains for now?\n\n", false);
}
player.createStatusAffect("TF2",0,0,0,0);
doNext(13);
return;
}
//Mino gangbang
if(player.hasStatusAffect("Mino + Cowgirl") < 0 || rand(10) == 0) {
if(flags[HAS_SEEN_MINO_AND_COWGIRL] == 1 && player.horns > 0 && player.hornType == 2 && player.earType == 3 && player.tailType == 4 && player.lactationQ() >= 200 && player.biggestTitSize() >= 3 && minotaurAddicted()) {
//PC must be a cowmorph (horns, legs, ears, tail, lactating, breasts at least C-cup)
//Must be addicted to minocum
outputText("As you pass a shadowy cleft in the mountainside, you hear the now-familiar call of a cowgirl echoing from within. Knowing what's in store, you carefully inch closer and peek around the corner.");
outputText("\n\nTwo humanoid shapes come into view, both with pronounced bovine features - tails, horns and hooves instead of feet. Their genders are immediately apparent due to their stark nudity. The first is the epitome of primal femininity, with a pair of massive, udder-like breasts and wide child-bearing hips. The other is the pinnacle of masculinity, with a broad, muscular chest, a huge horse-like penis and a heavy set of balls more appropriate on a breeding stud than a person. You have once again stumbled upon a cow-girl engaging in a not-so-secret rendezvous with her minotaur lover.");
outputText("\n\nYou settle in behind an outcropping, predicting what comes next. You see the stark silhouettes of imps and goblins take up similar positions around this makeshift theatre, this circular clearing surrounded on the edge by boulders and nooks where all manner of creatures might hide. You wonder if they're as eager for the upcoming show as you are. The heady scent of impending sex rises in the air... and with it comes something masculine, something that makes your stomach rumble in anticipation. The mouth-watering aroma of fresh minotaur cum wafts up to your nose, making your whole body quiver in need. Your [vagOrAss] immediately ");
if(player.hasVagina()) outputText("dampens");
else outputText("twinges");
outputText(", aching to be filled");
if(player.hasCock()) outputText(", while [eachCock] rises to attention, straining at your [armor]");
outputText(".");
outputText("\n\nYou can barely see it from your vantage point, but you can imagine it: the semi-transparent pre-cum dribbling from the minotaur's cumslit, oozing down onto your tongue. Your entire body shivers at the thought, whether from disgust or desire you aren't sure. You imagine your lips wrapping around that large equine cock, milking it for all of its delicious cum. Your body burns hot like the noonday sun at the thought, hot with need, with envy at the cow-girl, but most of all with arousal.");
outputText("\n\nSnapping out of your imaginative reverie, you turn your attention back to the show you wonder if you could make your way over there and join them, or if you should simply remain here and watch, as you have in the past.");
menu();
//[Join] [Watch]
addButton(0,"Join",joinBeingAMinoCumSlut);
addButton(1,"Watch",watchAMinoCumSlut);
return;
}
flags[HAS_SEEN_MINO_AND_COWGIRL] = 1;
if(player.hasStatusAffect("Mino + Cowgirl") < 0) player.createStatusAffect("Mino + Cowgirl",0,0,0,0);
else player.addStatusValue("Mino + Cowgirl",1,1);
outputText("As you pass a shadowy cleft in the mountainside, you hear the sounds of a cow coming out from it. Wondering how a cow got up here, but mindful of this land's dangers, you cautiously sneak closer and peek around the corner.\n\n", true);
outputText("What you see is not a cow, but two large human-shaped creatures with pronounced bovine features -- tails, horns, muzzles, and hooves instead of feet. They're still biped, however, and their genders are obvious due to their stark nudity. One has massive, udder-like breasts and wide hips, the other a gigantic, horse-like dong and a heavy set of balls more appropriate to a breeding stud than a person. You've stumbled upon a cow-girl and a minotaur.\n\n", false);
outputText("A part of your mind registers bits of clothing tossed aside and the heady scent of impending sex in the air, but your attention is riveted on the actions of the pair. The cow-girl turns and places her hands on a low ledge, causing her to bend over, her ample ass facing the minotaur. The minotaur closes the distance between them in a single step.\n\n", false);
outputText("She bellows, almost moaning, as the minotaur grabs her cushiony ass-cheeks with both massive hands. Her tail raises to expose a glistening wet snatch, its lips already parted with desire. She moos again as his rapidly hardening bull-cock brushes her crotch. You can't tear your eyes away as he positions himself, his flaring, mushroom-like cock-head eliciting another moan as it pushes against her nether lips.\n\n", false);
outputText("With a hearty thrust, the minotaur plunges into the cow-girl's eager fuck-hole, burying himself past one -- two of his oversized cock's three ridge rings. She screams in half pain, half ecstasy and pushes back, hungry for his full length. After pulling back only slightly, he pushes deeper, driving every inch of his gigantic dick into his willing partner who writhes in pleasure, impaled exactly as she wanted.\n\n", false);
outputText("The pair quickly settles into a rhythm, punctuated with numerous grunts, groans, and moans of sexual excess. To you it's almost a violent assault sure to leave both of them bruised and sore, but the cow-girl's lolling tongue and expression of overwhelming desire tells you otherwise. She's enjoying every thrust as well as the strokes, gropes, and seemingly painful squeezes the minotaur's powerful hands deliver to her jiggling ass and ponderous tits. He's little better, his eyes glazed over with lust as he continues banging the fuck-hole he found and all but mauling its owner.", false);
doNext(2190);
return;
}
//Cum addictus interruptus! LOL HARRY POTTERFAG
//Withdrawl auto-fuck!
if(flags[20] == 3) {
minoAddictionFuck();
return;
}
eventParser(2008);
spriteSelect(44);
}
//Worms
if(chooser == 2) {
//If worms are on and not infested.
if(player.hasStatusAffect("wormsOn") >= 0 && player.hasStatusAffect("infested") < 0) {
if(player.hasStatusAffect("wormsHalf") >= 0 && rand(2) == 0) {
if(player.cor < 90) {
outputText("Your hike in the mountains, while fruitless, reveals pleasant vistas and provides you with good exercise and relaxation.", true);
stats(0,.25,.5,0,0,0,player.lib/10-15,0);
}
else {
outputText("During your hike into the mountains, your depraved mind keeps replaying your most obcenely warped sexual encounters, always imagining new perverse ways of causing pleasure.\n\nIt is a miracle no predator picked up on the strong sexual scent you are emitting.", true);
stats(0,.25,.5,0,.25,0,player.lib/10,0);
}
doNext(13);
return;
}
eventParser(5052);
}
else {
//If worms are off or the PC is infested, no worms.
if(player.hasStatusAffect("wormsOff") >= 0 || player.hasStatusAffect("infested") >= 0 || (rand(2) == 0 && player.hasStatusAffect("wormsHalf") >= 0)) {