-
Notifications
You must be signed in to change notification settings - Fork 217
/
camp.as
1472 lines (1419 loc) · 77.4 KB
/
camp.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 SLEEP_WITH:int = 701;
import classes.creature;
import classes.cockClass;
function camp():void {
trace("Current fertility: " + player.totalFertility());
newGameText.visible = true;
newGameBG.visible = true;
if(player.hasStatusAffect("Post Akbal Submission") >= 0) {
player.removeStatusAffect("Post Akbal Submission");
akbalSubmissionFollowup();
return;
}
if(player.hasStatusAffect("Post Anemone Beatdown") >= 0) {
HPChange(Math.round(maxHP()/2),false);
player.removeStatusAffect("Post Anemone Beatdown");
}
//make sure gameState is cleared if coming from combat or giacomo
gameState = 0;
if(inDungeon) {
dataBG.visible = true;
dataText.visible = true;
appearanceText.visible = true;
appearanceBG.visible = true;
dungeonRoom(dungeonLoc);
return;
}
//Clear out Izma's saved loot status
flags[234] = "";
//History perk backup
if(flags[418] == 0) {
hideMenus();
fixHistory();
return;
}
if(arianFollower() && flags[ARIAN_MORNING] == 1) {
hideMenus();
wakeUpAfterArianSleep();
return;
}
if(arianFollower() && flags[ARIAN_EGG_EVENT] >= 30) {
hideMenus();
arianEggingEvent();
return;
}
if(arianFollower() && flags[ARIAN_EGG_COUNTER] >= 24 && flags[ARIAN_VAGINA] > 0) {
hideMenus();
arianLaysEggs();
return;
}
if(flags[JACK_FROST_PROGRESS] > 0) {
hideMenus();
processJackFrostEvent();
return;
}
if(player.hasKeyItem("Super Reducto") < 0 && milkSlave() && player.hasStatusAffect("Camp Rathazul") >= 0 && player.statusAffectv2("metRathazul") >= 4) {
hideMenus();
ratducto();
return;
}
if(nieveHoliday() && hours == 6) {
if(flags[NIEVE_STAGE] == 0) {
hideMenus();
snowLadyActive();
return;
}
else if(flags[NIEVE_STAGE] == 4) {
hideMenus();
nieveComesToLife();
return;
}
}
if(isHeliaBirthday() && followerHel() && flags[HEL_FOLLOWER_LEVEL] >= 2 && flags[HELIA_BIRTHDAY_OFFERED] == 0) {
hideMenus();
heliasBirthday();
return;
}
if(flags[HEL_PREGNANCY_INCUBATION] >= 1 && followerHel()) {
if(flags[HEL_PREGNANCY_INCUBATION] <= 300 && flags[HEL_PREGNANCY_NOTICES] == 0) {
hideMenus();
bulgyCampNotice();
return;
}
if(flags[HEL_PREGNANCY_INCUBATION] <= 200 && flags[HEL_PREGNANCY_NOTICES] == 1) {
hideMenus();
heliaSwollenNotice();
return;
}
if(flags[HEL_PREGNANCY_INCUBATION] <= 100 && flags[HEL_PREGNANCY_NOTICES] == 2) {
hideMenus();
heliaGravidity();
return;
}
if(flags[HEL_PREGNANCY_INCUBATION] == 1 && (hours == 6 || hours == 7)) {
hideMenus();
heliaBirthtime();
return;
}
}
if(flags[HELSPAWN_AGE] == 1 && flags[HELSPAWN_GROWUP_COUNTER] == 7) {
hideMenus();
helSpawnGraduation();
return;
}
if(hours >= 10 && hours <= 18 && (days % 20 == 0 || hours == 12) && flags[HELSPAWN_DADDY] == 2 && helspawnFollower()) {
hideMenus();
maiVisitsHerKids();
return;
}
if(hours == 6 && flags[HELSPAWN_DADDY] == 1 && days % 30 == 0 && flags[SPIDER_BRO_GIFT] == 0 && helspawnFollower())
{
hideMenus();
spiderBrosGift();
return;
}
if(hours >= 10 && hours <= 18 && (days % 15 == 0 || hours == 12) && helspawnFollower() && flags[HAKON_AND_KIRI_VISIT] == 0) {
hideMenus();
hakonAndKiriComeVisit();
return;
}
if(flags[HELSPAWN_AGE] == 2 && flags[HELSPAWN_DISCOVER_BOOZE] == 0 && (rand(10) == 0 || flags[HELSPAWN_GROWUP_COUNTER] == 6)) {
hideMenus();
helspawnDiscoversBooze();
return;
}
if(flags[HELSPAWN_AGE] == 2 && flags[HELSPAWN_WEAPON] == 0 && flags[HELSPAWN_GROWUP_COUNTER] == 3 && hours >= 10 && hours <= 18) {
hideMenus();
helSpawnChoosesAFightingStyle();
return;
}
if(flags[HELSPAWN_AGE] == 2 && (hours == 6 || hours == 7) && flags[HELSPAWN_GROWUP_COUNTER] == 7 && flags[HELSPAWN_FUCK_INTERRUPTUS] == 1) {
helspawnAllGrownUp();
return;
}
if((sophieFollower() || bimboSophie()) && flags[SOPHIE_DAUGHTER_MATURITY_COUNTER] == 1) {
flags[SOPHIE_DAUGHTER_MATURITY_COUNTER] = 0;
sophieKidMaturation();
hideMenus();
return;
}
//Bimbo Sophie Move In Request!
if(bimboSophie() && flags[SOPHIE_BROACHED_SLEEP_WITH] == 0 && flags[SOPHIE_INCUBATION] > 0 && flags[SOPHIE_INCUBATION] < 140)
{
hideMenus();
sophieMoveInAttempt();
return;
}
if(!nieveHoliday() && hours == 6 && flags[NIEVE_STAGE] > 0) {
nieveIsOver();
return;
}
//Amily followup!
if(flags[163] == 1) {
postBirthingEndChoices();
flags[163] = 2;
return;
}
if(timeQ > 0) {
if(!campQ) {
outputText("More time passes...\n", true);
goNext(timeQ, false);
return;
}
else {
if(hours < 6 || hours > 20) {
eventParser(41);
return;
}
else {
eventParser(11);
return;
}
}
}
if(flags[FUCK_FLOWER_KILLED] == 0 && flags[100] > 0) {
if(flags[FUCK_FLOWER_LEVEL] == 0 && flags[FUCK_FLOWER_GROWTH_COUNTER] >= 8) {
getASprout();
hideMenus();
return;
}
if(flags[FUCK_FLOWER_LEVEL] == 1 && flags[FUCK_FLOWER_GROWTH_COUNTER] >= 7) {
fuckPlantGrowsToLevel2();
hideMenus();
return;
}
if(flags[FUCK_FLOWER_LEVEL] == 2 && flags[FUCK_FLOWER_GROWTH_COUNTER] >= 25) {
flowerGrowsToP3();
hideMenus();
return;
}
//Level 4 growth
if(flags[FUCK_FLOWER_LEVEL] == 3 && flags[FUCK_FLOWER_GROWTH_COUNTER] >= 40) {
treePhaseFourGo();
hideMenus();
return;
}
}
//Jojo treeflips!
if(flags[FUCK_FLOWER_LEVEL] >= 4 && flags[FUCK_FLOWER_KILLED] == 0 && player.hasStatusAffect("PureCampJojo") >= 0) {
JojoTransformAndRollOut();
hideMenus();
return;
}
//Amily flips out
if(amilyFollower() && !amilyCorrupt() && flags[FUCK_FLOWER_LEVEL] >= 4 && flags[FUCK_FLOWER_KILLED] == 0) {
amilyHatesTreeFucking();
hideMenus();
return;
}
trace("FUCK FLOWER KILLED: " + flags[FUCK_FLOWER_KILLED] + " TREE FLIPOUT: " + flags[AMILY_TREE_FLIPOUT] + " FOLLOWER: " + flags[43]);
if(flags[FUCK_FLOWER_KILLED] == 1 && flags[AMILY_TREE_FLIPOUT] == 1 && !amilyFollower() && flags[AMILY_VISITING_URTA] == 0) {
amilyComesBack();
flags[AMILY_TREE_FLIPOUT] = 2;
hideMenus();
return;
}
//Anemone birth followup!
if(player.hasStatusAffect("Camp Anemone Trigger") >= 0) {
player.removeStatusAffect("Camp Anemone Trigger");
anemoneKidBirthPtII();
hideMenus();
return;
}
//Exgartuan clearing
if(player.statusAffectv1("Exgartuan") == 1 && (player.cockArea(0) < 100 || player.cocks.length == 0)) {
exgartuanCampUpdate();
return;
}
else if(player.statusAffectv1("Exgartuan") == 2 && player.biggestTitSize() < 12) {
exgartuanCampUpdate();
return;
}
//Izzys tits asplode
if(isabellaFollower() && flags[ISABELLA_MILKED_YET] >= 10 && player.hasKeyItem("Breast Milker - Installed At Whitney's Farm") >= 0) {
milktasticLacticLactation();
hideMenus();
return;
}
//Marble meets follower izzy when moving in
if(flags[381] == 1 && isabellaFollower() && player.hasStatusAffect("Camp Marble") >= 0) {
angryMurble();
hideMenus();
return;
}
//Cotton preg freakout
if(player.pregnancyIncubation <= 280 && player.pregnancyIncubation >= 0 && player.pregnancyType == 20 &&
flags[COTTON_KNOCKED_UP_PC_AND_TALK_HAPPENED] == 0 && (hours == 6 || hours == 7)) {
goTellCottonShesAMomDad();
hideMenus();
return;
}
//Bimbo Sophie finds ovi elixer in chest!
if(bimboSophie() && hasItemInStorage("OviElix") && rand(5) == 0 && flags[284] == 0 && player.gender > 0) {
sophieEggApocalypse();
hideMenus();
return;
}
//Amily + Urta freakout!
if(!urtaBusy() && flags[AMILY_VISITING_URTA] == 0 && rand(10) == 0 && flags[146] >= 0 && flags[147] == 0 && flags[AMILY_NEED_TO_FREAK_ABOUT_URTA] == 1 && amilyFollower() && flags[43] == 1 && flags[AMILY_INCUBATION] == 0) {
amilyUrtaReaction();
hideMenus();
return;
}
//Find jojo's note!
if(flags[79] == 1 && flags[78] == 0) {
findJojosNote();
hideMenus();
return;
}
//Rathazul freaks out about jojo
if(flags[83] == 0 && rand(5) == 0 && player.hasStatusAffect("Camp Rathazul") >= 0 && campCorruptJojo()) {
rathazulFreaksOverJojo();
hideMenus();
return;
}
//Izma/Marble freakout - marble moves in
if(flags[237] == 1) {
newMarbleMeetsIzma();
hideMenus();
return;
}
//Izma/Amily freakout - Amily moves in
if(flags[236] == 1) {
newAmilyMeetsIzma();
hideMenus();
return;
}
//Amily/Marble Freakout
if(flags[86] == 0 && player.hasStatusAffect("Camp Marble") >= 0 && flags[43] == 1 && amilyFollower()) {
marbleVsAmilyFreakout();
hideMenus();
return;
}
//Amily and/or Jojo freakout about Vapula!!
if(vapulaSlave() && (player.hasStatusAffect("PureCampJojo") >= 0 || (amilyFollower() && !amilyCorrupt()))) {
//Jojo but not Amily
if(player.hasStatusAffect("PureCampJojo") >= 0 && !(amilyFollower() && !amilyCorrupt()))
mouseWaifuFreakout(false,true);
//Amily but not Jojo
else if((amilyFollower() && !amilyCorrupt())) mouseWaifuFreakout(true,false);
//Both
else mouseWaifuFreakout(true,true);
hideMenus();
return;
}
//Go through Helia's first time move in interactions if you haven't yet.
if(flags[HEL_FOLLOWER_LEVEL] == 2 && followerHel() && flags[HEL_INTROS_LEVEL] == 0) {
helFollowersIntro();
hideMenus();
return;
}
//If you've gone through Hel's first time actions and Issy moves in without being okay with threesomes.
if(flags[HEL_INTROS_LEVEL] > 9000 && followerHel() && isabellaFollower() && flags[HEL_ISABELLA_THREESOME_ENABLED] == 0) {
angryHelAndIzzyCampHelHereFirst();
hideMenus();
return;
}
//Reset.
flags[CAME_WORMS_AFTER_COMBAT] = 0;
campQ = false;
//Build explore menus
var desert:Number = 0;
var lake:Number = 0;
var forest:Number = 0;
var mountain:Number = 0;
var farm:Number = 0;
var jojo:Number = 0;
var placesNum:Number = 0;
var followers:Number = 0;
var lovers:Number = 0;
var slaves:Number = 0;
var storage:Number = 0;
if(stash()) storage = 2951;
if(places(false)) placesNum = 71;
if(foundDesert) desert = 3;
if(foundMountain) mountain = 6;
if(foundForest) forest = 4;
if(foundLake) lake = 5;
if(whitney > 0) farm = 7;
//Clear stuff
if(player.hasStatusAffect("Slime Craving Output") >= 0) player.removeStatusAffect("Slime Craving Output");
//Reset luststick display status (see event parser)
flags[95] = 0;
//Display Proper Buttons
appearanceText.visible = true;
appearanceBG.visible = true;
perksText.visible = true;
perksBG.visible = true;
statsBG.visible = true;
statsText.visible = true;
dataBG.visible = true;
dataText.visible = true;
showStats();
//Change settings of new game buttons to go to main menu
newGameText.removeEventListener(MouseEvent.CLICK, newGameGo);
newGameBG.removeEventListener(MouseEvent.CLICK, newGameGo);
newGameText.addEventListener(MouseEvent.CLICK, mainMenu);
newGameBG.addEventListener(MouseEvent.CLICK, mainMenu);
newGameText.text = "Main Menu";
//clear up/down arrows
hideUpDown();
//Level junk
if(player.XP >= (player.level) * 100 || player.perkPoints > 0) {
if(player.XP < player.level * 100) levelText2.text = "Perk Up";
else levelText2.text = "Level Up";
levelText2.visible = true;
levelBG.visible = true;
levelUp.visible = true;
}
else {
levelText2.visible = false;
levelBG.visible = false;
levelUp.visible = false;
}
//Build main menu
var masturbate:Number = 0;
var rest:Number = 0;
var explore:Number = 2;
if(player.fatigue > 50) rest = 11;
if(player.lust > 30) masturbate = 42;
outputText("", true);
//Isabella upgrades camp level!
if(isabellaFollower()) {
outputText("Your campsite got a lot more comfortable once Isabella moved in. Carpets cover up much of the barren ground, simple awnings tied to the rocks provide shade, and hand-made wooden furniture provides comfortable places to sit and sleep.", false);
if(days >= 20) outputText(" You've even managed to carve some artwork into the rocks around the camp's perimeter.", false);
}
//Live in-ness
else {
if(days < 10) outputText("Your campsite is fairly simple at the moment. Your tent and bedroll are set in front of the rocks that lead to the portal. You have a small fire pit as well.", false);
else if(days < 20) outputText("Your campsite is starting to get a very 'lived-in' look. The fire-pit is well defined with some rocks you've arranged around it, and your bedroll and tent have been set up in the area most sheltered by rocks.", false);
else outputText("Your new home is as comfy as a camp site can be. The fire-pit and tent are both set up perfectly, and in good repair, and you've even managed to carve some artwork into the rocks around the camp's perimeter.", false);
}
//Nursery
if(flags[9] == 100 && player.hasStatusAffect("Camp Marble") >= 0) {
outputText(" Marble has built a fairly secure nursery amongst the rocks to house your ",false);
if(flags[8] == 0) outputText("future children", false);
else {
outputText(num2Text(flags[8]) + " child", false);
if(flags[8] > 1) outputText("ren", false);
}
outputText(".", false);
}
//HARPY ROOKERY
if(flags[SOPHIE_ADULT_KID_COUNT] > 0) {
//Rookery Descriptions (Short)
//Small (1 mature daughter)
if(flags[SOPHIE_ADULT_KID_COUNT] == 1) {
outputText(" There's a smallish harpy nest that your daughter has built up with rocks piled high near the fringes of your camp. It's kind of pathetic, but she seems proud of her accomplishment.");
}
//Medium (2-3 mature daughters)
else if(flags[SOPHIE_ADULT_KID_COUNT] <= 3) {
outputText(" There's a growing pile of stones built up at the fringes of your camp. It's big enough to be considered a small hill by this point, dotted with a couple small harpy nests just barely big enough for two.");
}
//Big (4 mature daughters)
else if(flags[SOPHIE_ADULT_KID_COUNT] <= 4) {
outputText(" The harpy rookery at the edge of camp has gotten pretty big. It's taller than most of the standing stones that surround the portal, and there's more nests than harpies at this point. Every now and then you see the four of them managing a boulder they dragged in from somewhere to add to it.");
}
//Large (5-10 mature daughters)
else if(flags[SOPHIE_ADULT_KID_COUNT] <= 10) {
outputText(" The rookery has gotten quite large. It stands nearly two stories tall at this point, dotted with nests and hollowed out places in the center. It's surrounded by the many feathers the assembled harpies leave behind.");
}
//Giant (11-20 mature daughters)
else if(flags[SOPHIE_ADULT_KID_COUNT] <= 20) {
outputText(" A towering harpy rookery has risen up at the fringes of your camp, filled with all of your harpy brood. It's at least three stories tall at this point, and it has actually begun to resemble a secure structure. These harpies are always rebuilding and adding onto it.");
}
//Massive (31-50 mature daughters)
else if(flags[SOPHIE_ADULT_KID_COUNT] <= 50) {
outputText(" A massive harpy rookery towers over the edges of your camp. It's almost entirely built out of stones that are fit seamlessly into each other, with many ledges and overhangs for nests. There's a constant hum of activity over there day or night.");
}
//Immense (51+ Mature daughters)
else {
outputText(" An immense harpy rookery dominates the edge of your camp, towering over the rest of it. Innumerable harpies flit around it, always working on it, assisted from below by the few sisters unlucky enough to be flightless.");
}
}
//Traps
if(player.hasStatusAffect("Defense: Canopy") >= 0) {
outputText(" A thorny tree has sprouted near the center of the camp, growing a protective canopy of spiky vines around the portal and your camp.", false);
}
else outputText(" You have a number of traps surrounding your makeshift home, but they are fairly simple and may not do much to deter a demon.", false);
outputText(" The portal shimmers in the background as it always does, looking menacing and reminding you of why you came.\n\n", false);
//Ember's anti-minotaur crusade!
if(flags[EMBER_CURRENTLY_FREAKING_ABOUT_MINOCUM] == 1) {
//Modified Camp Description
outputText("Since Ember began " + emberMF("his","her") + " 'crusade' against the minotaur population, skulls have begun to pile up on either side of the entrance to " + emberMF("his","her") + " den. There're quite a lot of them.\n\n");
}
//Dat tree!
if(flags[FUCK_FLOWER_LEVEL] >= 4 && flags[FUCK_FLOWER_KILLED] == 0) {
outputText("On the outer edges, half-hidden behind a rock, is a large, very healthy tree. It grew fairly fast, but seems to be fully developed now. Holli, Marae's corrupt spawn, lives within.\n\n");
}
//BIMBO SOPHAH
if(bimboSophie()) sophieCampLines();
if(player.hasStatusAffect("Camp Marble") >= 0) {
temp = rand(5);
outputText("A second bedroll rests next to yours; a large two-handed hammer sometimes rests against it, depending on whether or not its owner needs it at the time. ", false);
//requires at least 1 kid, time is just before sunset, this scene always happens at this time if the PC has at least one kid.
if(flags[MARBLE_KIDS] >= 1 && (hours == 19 || hours == 20)) {
outputText("Marble herself is currently in the nursery, putting your ");
if(flags[MARBLE_KIDS] == 1) outputText("child");
else outputText("children");
outputText(" to bed.");
}
//at 6-7 in the morning, scene always displays at this time
else if(hours == 6 || hours == 7) outputText("Marble is off in an open area to the side of your camp right now. She is practicing with her large hammer, going through her daily training.");
//after nightfall, scene always displays at this time unless PC is wormed
else if(hours == 21 && player.hasStatusAffect("infested") < 0) {
outputText("Marble is hanging around her bedroll waiting for you to come to bed. However, sometimes she lies down for a bit, and sometimes she paces next to it.");
if(flags[MARBLE_LUST] > 30) outputText(" She seems to be feeling antsy.");
}
else if(flags[MARBLE_KIDS] > 0) {
//requires at least 6 kids, and no other parental characters in camp
if(rand(2) == 0 && flags[MARBLE_KIDS] > 5) outputText("Marble is currently tending to your kids, but she looks a bit stressed out right now. It looks like " + num2Text(flags[MARBLE_KIDS]) + " might just be too many for her to handle on her own...");
//requires at least 4 kids
else if(rand(3) == 0 && flags[MARBLE_KIDS] > 3) outputText("Marble herself is in the camp right now, telling a story about her travels around the world to her kids as they gather around her. The girls are completely enthralled by her words. You can't help but smile.");
//requires at least 2 kids
else if(rand(3) == 0 && flags[MARBLE_KIDS] > 1) outputText("Marble herself is involved in a play fight with two of your kids brandishing small sticks. It seems that the <i>mommy monster</i> is terrorising the camp and needs to be stopped by the <i>Mighty Moo and her sidekick Bovine Lass</i>.");
else if(rand(3) == 0 && flags[MARBLE_KIDS] > 1) outputText("Marble herself is out right now; she's taken her kids to go visit Whitney. You're sure though that she'll be back within the hour, so you could just wait if you needed her.");
else {
//requires at least 1 kid
outputText("Marble herself is nursing ");
if(flags[MARBLE_KIDS] > 1) outputText("one of your cow-girl children");
else outputText("your cow-girl child");
outputText(" with a content look on her face.");
}
}
//(Choose one of these at random to display each hour)
else if(temp == 0) outputText("Marble herself has gone off to Whitney's farm to get milked right now. You're sure she'd be back in moments if you needed her.", false);
else if(temp == 1) outputText("Marble herself has gone off to Whitney's farm to do some chores right now. You're sure she'd be back in moments if you needed her.", false);
else if(temp == 2) outputText("Marble herself isn't at the camp right now; she is probably off getting supplies, though she'll be back soon enough. You're sure she'd be back in moments if you needed her.", false);
else if(temp == 3) {
outputText("Marble herself is resting on her bedroll right now.", false);
}
else if(temp == 4) {
outputText("Marble herself is wandering around the camp right now.", false);
}
outputText("\n\n", false);
}
//RATHAZUL
//if rathazul has joined the camp
if(player.hasStatusAffect("Camp Rathazul") >= 0) {
if(flags[274] <= 1) {
outputText("Tucked into a shaded corner of the rocks is a bevy of alchemical devices and equipment. The alchemist Rathazul looks to be hard at work with his chemicals, working on who knows what.", false);
if(flags[274] == 1) outputText(" Some kind of spider-silk-based equipment is hanging from a nearby rack. <b>He's finished with the task you gave him!</b>", false);
outputText("\n\n", false);
}
else outputText("Tucked into a shaded corner of the rocks is a bevy of alchemical devices and equipment. The alchemist Rathazul looks to be hard at work on the silken equipment you've commissioned him to craft.\n\n", false);
}
//MOUSEBITCH
if(amilyFollower() && flags[43] == 1) {
if(flags[FUCK_FLOWER_LEVEL] >= 4) outputText("Amily has relocated her grass bedding to the opposite side of the camp from the strange tree; every now and then, she gives it a suspicious glance, as if deciding whether to move even further.");
else outputText("A surprisingly tidy nest of soft grasses and sweet-smelling herbs has been built close to your bedroll. A much-patched blanket draped neatly over the top is further proof that Amily sleeps here. She changes the bedding every few days, to ensure it stays as nice as possible.\n\n", false);
}
//Corrupt mousebitch!
else if(amilyFollower() && flags[43] == 2) {
outputText("Sometimes you hear a faint moan from not too far away. No doubt the result of your slutty toy mouse playing with herself.\n\n", false);
}
//Amily out freaking Urta?
else if(flags[AMILY_VISITING_URTA] == 1 || flags[AMILY_VISITING_URTA] == 2) {
outputText("Amily's bed of grass and herbs lies empty, the mouse-woman still absent from her sojourn to meet your other lover.\n\n", false);
}
//JOJO
//If Jojo is corrupted, add him to the masturbate menu.
if(campCorruptJojo()) outputText("From time to time you can hear movement from around your camp, and you routinely find thick puddles of mouse semen. You are sure Jojo is here if you ever need to sate yourself.\n\n", false);
//Pure Jojo
if(player.hasStatusAffect("PureCampJojo") >= 0) outputText("There is a small bedroll for Jojo near your own, though the mouse is probably hanging around the camp's perimeter.\n\n", false);
//Izma
if(izmaFollower()) {
outputText("Neatly laid near the base of your own is a worn bedroll belonging to Izma, your tigershark lover. It's a snug fit for her toned body, though it has some noticeable cuts and tears in the fabric. Close to her bed is her old trunk, almost as if she wants to have it at arms length if anyone tries to rob her in her sleep. ", false);
temp = rand(3);
//Text 1} I
if(temp == 0) outputText("Izma's lazily sitting on the trunk beside her bedroll, reading one of the many books from inside it. She smiles happily when your eyes linger on her, and you know full well she's only half-interested in it.", false);
//Text 2
else if(temp == 1) outputText("You notice Izma isn't around right now. She's probably gone off to the nearby stream to get some water. Never mind, she comes around from behind a rock, still dripping wet.", false);
//Text 3
else outputText("Izma is lying on her back near her bedroll. You wonder at first just why she isn't using her bed, but as you look closer you notice all the water pooled beneath her and the few droplets running down her arm, evidence that she's just returned from the stream.", false);
outputText("\n\n", false);
}
//►[Added Campsite Description]
if(phyllaWaifu()) {
outputText("You see Phylla's anthill in the distance. Every now and then you see");
//If PC has children w/ Phylla:
if(flags[ANT_KIDS] > 0) outputText(" one of your many children exit the anthill to unload some dirt before continuing back down into the colony. It makes you feel good knowing your offspring are so productive.");
else outputText(" Phylla appear out of the anthill to unload some dirt. She looks over to your campsite and gives you an excited wave before heading back into the colony. It makes you feel good to know she's so close.");
outputText("\n\n");
}
//Clear bee-status
if(player.hasStatusAffect("paralyze venom") >= 0) {
temp = player.hasStatusAffect("paralyze venom");
stats(player.statusAffects[temp].value1, 0, player.statusAffects[temp].value2, 0,0,0,0,0);
player.removeStatusAffect("paralyze venom");
outputText("<b>You feel quicker and stronger as the paralyzation venom in your veins wears off.</b>\n\n", false);
}
//The uber horny
if(player.lust >= 100) {
if(player.hasStatusAffect("dysfunction") >= 0) {
outputText("<b>You are debilitatingly aroused, but your sexual organs are so numbed the only way to get off would be to find something tight to fuck or get fucked...</b>\n\n", false);
}
else if(flags[60] > 0 && player.isTaur()) {
outputText("<b>You are delibitatingly aroused, but your sex organs are so difficult to reach that masturbation isn't at the forefront of your mind.</b>\n\n", false);
}
else {
outputText("<b>You are debilitatingly aroused, and can think of doing nothing other than masturbating.</b>\n\n", false);
explore = 0;
rest = 0;
placesNum = 0;
}
}
var baitText:String = "Masturbate";
if(player.hasPerk("History: Religious") >= 0 && player.cor <= 66 && !(player.hasStatusAffect("Exgartuan") >= 0 && player.statusAffectv2("Exgartuan") == 0)) baitText = "Meditate";
//Initialize companions/followers
if(hours > 4 && hours < 23) {
if(followersCount() > 0) followers = 74;
if(slavesCount() > 0) slaves = 120;
if(loversCount() > 0) lovers = 121;
}
var restEvent:Number = 40;
var restName:String = "Wait";
//Set up rest stuff
//Night
if(hours < 6 || hours > 20) {
outputText("It is dark out, made worse by the lack of stars in the sky. A blood-red moon hangs in the sky, seeming to watch you, but providing little light. It's far too dark to leave camp.\n", false);
restName = "Sleep";
restEvent = 41;
explore = 0;
placesNum = 0;
}
//Day Time!
else {
outputText("It's light outside, a good time to explore and forage for supplies with which to fortify your camp.\n", false);
if(player.fatigue > 40 || player.HP/maxHP() <= .9) {
restName = "Rest";
restEvent = 11;
}
}
//Menu
choices("Explore", explore, "Places", placesNum, "Inventory", 1000, "Stash", storage, "Followers", followers, "Lovers", lovers, "Slaves",slaves, "", 0, baitText, masturbate, restName, restEvent);
//Lovers
//Followers
//Slaves
}
function stash(exists:Boolean = true):Boolean {
//Use to know if to show/hide stash.
if(exists) {
if(flags[254] > 0 || flags[255] > 0 || itemStorage.length > 0 || flags[ANEMONE_KID] > 0)
return true;
else
return false;
}
/*Hacked in cheat to enable shit
flags[254] = 1;
flags[255] = 1;*/
//REMOVE THE ABOVE BEFORE RELASE ()
var retrieveStuff:Number = 0;
var storeStuff:Number = 0;
if(hasItemsInStorage()) retrieveStuff = 1029;
if(itemStorage.length > 0) storeStuff = 1028;
var weaponRack:Number = 0;
var weaponRetrieve:Number = 0;
var armorRack:Number = 0;
var armorRetrieve:Number = 0;
var barrel:Number = 0;
outputText("", true);
if(flags[ANEMONE_KID] > 0) {
//(morning)
if(hours < 6) outputText("Kid A is sleeping in her barrel right now.");
else if(hours <= 10) outputText("Kid A stands next to her barrel, refilling it from one of your waterskins. A second full skin is slung over her shoulder. She gives you a grin.\n\n");
else if(flags[KID_SITTER] > 1) outputText("Kid A is absent from her barrel right now, dragooned into babysitting again.\n\n");
//(midday)
else if(hours < 16) outputText("Kid A is deep in her barrel with the lid on top, hiding from the midday sun.\n\n");
//(night hours)
else if(hours < 22) outputText("Kid A is peeking out of her barrel. Whenever you make eye contact she breaks into a smile; otherwise she just stares off into the distance, relaxing.\n\n");
else outputText("Kid A is here, seated demurely on the rim of her barrel and looking somewhat more purple under the red moon. She glances slyly at you from time to time.\n\n");
barrel = 3546;
if(hours < 6) barrel = 0;
}
if(player.hasKeyItem("Camp - Chest") >= 0) outputText("You have a large wood and iron chest to help store excess items located near the portal entrance.\n\n", false);
var weaponNames:Array = new Array();
//Weapon rack
if(flags[254] > 0) {
outputText("There's a weapon rack set up here, set up to hold up to nine various weapons.", false);
weaponRack = 1090;
if(hasItemsInRacks(false)) {
weaponRetrieve = 1091;
temp = 0;
outputText(" It currently holds ", false);
while(temp < 9) {
if(gearStorage[temp].quantity > 0) {
weaponNames[weaponNames.length] = itemLongName(gearStorage[temp].shortName);
}
temp++;
}
if(weaponNames.length == 1) outputText(weaponNames[0], false);
else if(weaponNames.length == 2) outputText(weaponNames[0] + " and " + weaponNames[1], false);
else {
temp = 0;
while(temp < weaponNames.length) {
outputText(weaponNames[temp], false);
if(temp + 2 >= weaponNames.length && temp + 1 < weaponNames.length) outputText(", and ", false);
else if(temp + 1 < weaponNames.length) outputText(", ", false);
temp++;
}
}
}
outputText(".\n\n", false);
}
var armorNames:Array = new Array();
//Armor Rack
if(flags[255] > 0) {
outputText("Your camp has an armor rack set up to hold your various sets of gear. It appears to be able to hold nine different types of armor.", false);
armorRack = 1106;
if(hasItemsInRacks(true)) {
armorRetrieve = 1107;
temp = 9;
outputText(" It currently holds ", false);
while(temp < 18) {
if(gearStorage[temp].quantity > 0) {
armorNames[armorNames.length] = itemLongName(gearStorage[temp].shortName);
}
temp++;
}
if(armorNames.length == 1) outputText(armorNames[0], false);
else if(armorNames.length == 2) outputText(armorNames[0] + " and " + armorNames[1], false);
else {
temp = 0;
while(temp < armorNames.length) {
outputText(armorNames[temp], false);
if(temp + 2 >= armorNames.length && temp + 1 < armorNames.length) outputText(", and ", false);
else if(temp + 1 < armorNames.length) outputText(", ", false);
temp++;
}
}
}
outputText(".\n\n", false);
}
choices("Chest Store",storeStuff,"Chest Take",retrieveStuff,"W.Rack Put",weaponRack,"W.Rack Take",weaponRetrieve,"Anemone",barrel,"A.Rack Put",armorRack,"A.Rack Take",armorRetrieve,"",0,"",0,"Back",1);
return true;
}
function hasCompanions():Boolean {
if(companionsCount() > 0) return true;
return false;
}
function companionsCount():Number {
return followersCount() + slavesCount() + loversCount();
}
function followersCount():Number {
var counter:Number = 0;
if(followerEmber()) counter++;
if(flags[VALARIA_AT_CAMP] == 1) counter++;
if(player.hasStatusAffect("PureCampJojo") >= 0) counter++;
if(player.hasStatusAffect("Camp Rathazul") >= 0) counter++;
if(followerShouldra()) counter++;
if(sophieFollower()) counter++;
if(helspawnFollower()) counter++;
return counter;
}
function hasFollowers():Boolean {
if(followersCount() > 0) return true;
return false;
}
function slavesCount():Number {
var counter:Number = 0;
if(latexGooFollower()) counter++;
if(vapulaSlave()) counter++;
if(campCorruptJojo()) counter++;
if(amilyFollower() && amilyCorrupt()) counter++;
//Bimbo sophie
if(bimboSophie()) counter++;
if(ceraphIsFollower()) counter++;
if(milkSlave()) counter++;
return counter;
}
function hasSlaves():Boolean {
if(slavesCount() > 0) return true;
return false;
}
function loversCount():Number {
var counter:Number = 0;
if(arianFollower()) counter++;
if(followerHel()) counter++;
//Izma!
if(flags[238] == 1) counter++;
if(isabellaFollower()) counter++;
if(player.hasStatusAffect("Camp Marble") >= 0) counter++;
if(amilyFollower() && !amilyCorrupt()) counter++;
if(followerKiha()) counter++;
if(flags[NIEVE_STAGE] == 5) counter++;
if(flags[ANT_WAIFU] > 0) counter++;
return counter;
}
function hasLovers():Boolean {
if(loversCount() > 0) return true;
return false;
}
function campLoversMenu():void {
var isabellaButt:Number = 0;
var marbleEvent:Number = 0;
var izmaEvent:Number = 0;
var kihaButt:Number = 0;
var amilyEvent:Number = 0;
var hel:Number = 0;
var nieve:int = 0;
clearOutput();
if(flags[NIEVE_STAGE] == 5) {
nieveCampDescs();
outputText("\n\n");
nieve = 3965;
}
if(followerHel()) {
if(flags[HEL_FOLLOWER_LEVEL] == 2) {
//Hel @ Camp: Follower Menu
//(6-7)
if(hours <= 7) outputText("Hel is currently sitting at the edge of camp, surrounded by her scraps of armor, sword, and a few half-empty bottles of vodka. By the way she's grunting and growling, it looks like she's getting ready to flip her shit and go running off into the plains in her berserker state.\n\n");
//(8a-5p)
else if(hours <= 17) outputText("Hel's out of camp at the moment, adventuring on the plains. You're sure she'd be on hand in moments if you needed her, though.\n\n");
//5-7)
else if(hours <= 19) outputText("Hel's out visiting her family in Tel'Adre right now, though you're sure she's only moments away if you need her.\n\n");
//(7+)
else outputText("Hel is fussing around her hammock, checking her gear and sharpening her collection of blades. Each time you glance her way, though, the salamander puts a little extra sway in her hips and her tail wags happily.\n\n");
}
else if(flags[HEL_FOLLOWER_LEVEL] == 1) {
if(flags[HEL_HARPY_QUEEN_DEFEATED] == 1) {
outputText("Hel has returned to camp, though for now she looks a bit bored. Perhaps she is waiting on something.\n\n");
}
else {
outputText("<b>You see the salamander Helia pacing around camp, anxiously awaiting your departure to the harpy roost. Seeing you looking her way, she perks up, obviously ready to get underway.</b>\n\n");
}
}
hel = 3587;
}
//Kiha!
if(followerKiha()) {
//(6-7)
if(hours < 7) outputText("Kiha is sitting near the fire, her axe laying across her knees as she polishes it.[pg]");
else if(hours < 19) outputText("Kiha's out right now, likely patrolling for demons to exterminate. You're sure a loud call could get her attention.\n\n");
else outputText("Kiha is utterly decimating a set of practice dummies she's set up out on the edge of camp. All of them have crudely drawn horns. Most of them are on fire.\n\n");
kihaButt = 3435;
}
//Isabella
if(isabellaFollower()) {
isabellaButt = 3243;
if(hours >= 21 || hours <= 5) outputText("Isabella is sound asleep in her bunk and quietly snoring.", false);
else if(hours == 6) outputText("Isabella is busy eating some kind of grain-based snack for breakfast. The curly-haired cow-girl gives you a smile when she sees you look her way.", false);
else if(hours == 7) outputText("Isabella, the red-headed cow-girl, is busy with a needle and thread, fixing up some of her clothes.", false);
else if(hours == 8) outputText("Isabella is busy cleaning up the camp, but when she notices you looking her way, she stretches up and arches her back, pressing eight bullet-hard nipples into the sheer silk top she prefers to wear.", false);
else if(hours == 9) outputText("Isabella is out near the fringes of your campsite. She has her massive shield in one hand and appears to be keeping a sharp eye out for intruders or demons. When she sees you looking her way, she gives you a wave.", false);
else if(hours == 10) outputText("The cow-girl warrioress, Isabella, is sitting down on a chair and counting out gems from a strange pouch. She must have defeated someone or something recently.", false);
else if(hours == 11) outputText("Isabella is sipping from a bottle labelled 'Lactaid' in a shaded corner. When she sees you looking she blushes, though dark spots appear on her top and in her skirt's middle.", false);
else if(hours == 12) outputText("Isabella is cooking a slab of meat over the fire. From the smell that's wafting this way, you think it's beef. Idly, you wonder if she realizes just how much like her chosen food animal she has become.", false);
else if(hours == 13) {
outputText("Isabella ", false);
var izzyCreeps:Array = new Array();
var choice = 0;
//Build array of choices for izzy to talk to
if(player.hasStatusAffect("Camp Rathazul") >= 0)
izzyCreeps[izzyCreeps.length] = 0;
if(player.hasStatusAffect("PureCampJojo") >= 0)
izzyCreeps[izzyCreeps.length] = 1;
if(amilyFollower() && flags[43] == 1 && flags[78] == 0)
izzyCreeps[izzyCreeps.length] = 2;
if(amilyFollower() && flags[43] == 2 && flags[78] == 0)
izzyCreeps[izzyCreeps.length] = 3;
if(flags[238] == 1)
izzyCreeps[izzyCreeps.length] = 4;
//Base choice - book
izzyCreeps[izzyCreeps.length] = 5;
//Select!
choice = rand(izzyCreeps.length);
if(izzyCreeps[choice] == 0) outputText("is sitting down with Rathazul, chatting amiably about the weather.", false);
else if(izzyCreeps[choice] == 1) outputText("is sitting down with Jojo, smiling knowingly as the mouse struggles to keep his eyes on her face.", false);
else if(izzyCreeps[choice] == 2) outputText("is talking with Amily, sharing stories of the fights she's been in and the enemies she's faced down. Amily seems interested but unimpressed.", false);
else if(izzyCreeps[choice] == 3) outputText("is sitting down chatting with Amily, but the corrupt mousette is just staring at Isabella's boobs and masturbating. The cow-girl is pretending not to notice.", false);
else if(izzyCreeps[choice] == 4) outputText("is sitting down with Izma and recounting some stories, somewhat nervously. Izma keeps flashing her teeth in a predatory smile.", false);
else outputText("is sitting down and thumbing through a book.", false);
}
else if(hours == 14) outputText("Isabella is working a grindstone and sharpening her tools. She even hones the bottom edge of her shield into a razor-sharp cutting edge. The cow-girl is sweating heavily, but it only makes the diaphanous silk of her top cling more alluringly to her weighty chest.", false);
else if(hours == 15) outputText("The warrior-woman, Isabella is busy constructing dummies of wood and straw, then destroying them with vicious blows from her shield. Most of the time she finishes by decapitating them with the sharp, bottom edge of her weapon. She flashes a smile your way when she sees you.", false);
else if(hours == 16) outputText("Isabella is sitting down with a knife, the blade flashing in the sun as wood shavings fall to the ground. Her hands move with mechanical, practiced rhythm as she carves a few hunks of shapeless old wood into tools or art.", false);
else if(hours == 17) outputText("Isabella is sitting against one of the large rocks near the outskirts of your camp, staring across the wasteland while idly munching on what you assume to be a leg of lamb. She seems lost in thought, though that doesn't stop her from throwing a wink and a goofy food-filled grin toward you.", false);
else if(hours == 18) outputText("The dark-skinned cow-girl, Isabella, is sprawled out on a carpet and stretching. She seems surprisingly flexible for someone with hooves and oddly-jointed lower legs.", false);
else if(hours == 19) {
//[(Izzy Milked Yet flag = -1)
if(flags[ISABELLA_MILKED_YET] == -1) outputText("Isabella has just returned from a late visit to Whitney's farm, bearing a few filled bottles and a small pouch of gems.", false);
else outputText("Isabella was hidden behind a rock when you started looking for her, but as soon as you spot her in the darkness, she jumps, a guilty look flashing across her features. She turns around and adjusts her top before looking back your way, her dusky skin even darker from a blush. The cow-girl gives you a smile and walks back to her part of camp. A patch of white decorates the ground where she was standing - is that milk? Whatever it is, it's gone almost as fast as you see it, devoured by the parched, wasteland earth.", false);
}
else if(hours == 20) outputText("Your favorite chocolate-colored cowgirl, Isabella, is moving about, gathering all of her scattered belongings and replacing them in her personal chest. She yawns more than once, indicating her readiness to hit the hay, but her occasional glance your way lets you know she wouldn't mind some company before bed.", false);
else outputText("Isabella looks incredibly bored right now.", false);
outputText("\n\n", false);
}
//Izma
if(flags[238] == 1) {
outputText("Neatly laid near the base of your own is a worn bedroll belonging to Izma, your tigershark lover. It's a snug fit for her toned body, though it has some noticeable cuts and tears in the fabric. Close to her bed is her old trunk, almost as if she wants to have it at arms length if anyone tries to rob her in her sleep.\n\n", false);
izmaEvent = 2922;
}
//MARBLE
if(player.hasStatusAffect("Camp Marble") >= 0) {
temp = rand(5);
outputText("A second bedroll rests next to yours; a large two handed hammer sometimes rests against it, depending on whether or not its owner needs it at the time. ", false);
//(Choose one of these at random to display each hour)
if(temp == 0) outputText("Marble herself has gone off to Whitney's farm to get milked right now.", false);
if(temp == 1) outputText("Marble herself has gone off to Whitney's farm to do some chores right now.", false);
if(temp == 2) outputText("Marble herself isn't at the camp right now; she is probably off getting supplies, though she'll be back soon enough.", false);
if(temp == 3) {
outputText("Marble herself is resting on her bedroll right now.", false);
}
if(temp == 4) {
outputText("Marble herself is wandering around the camp right now.", false);
}
if(temp < 3) outputText(" You're sure she'd be back in moments if you needed her.", false);
marbleEvent = 2133;
outputText("\n\n", false);
}
//AMILY
if(amilyFollower() && flags[43] == 1 && flags[78] == 0) {
outputText("Amily is currently strolling around your camp, ", false);
temp = rand(6);
if(temp == 0) {
outputText("dripping water and stark naked from a bath in the stream", false);
if(player.hasStatusAffect("Camp Rathazul") >= 0) outputText(". Rathazul glances over and immediately gets a nosebleed", false);
}
else if(temp == 1) outputText("slouching in the shade of some particularly prominent rocks, whittling twigs to create darts for her blowpipe", false);
else if(temp == 2) outputText("dipping freshly-made darts into a jar of something that looks poisonous", false);
else if(temp == 3) outputText("eating some of your supplies", false);
else if(temp == 4) outputText("and she flops down on her nest to have a rest", false);
else outputText("peeling the last strips of flesh off of an imp's skull and putting it on a particularly flat, sun-lit rock to bleach as a trophy", false);
outputText(".\n\n", false);
amilyEvent = 2427;
}
//Amily out freaking Urta?
else if(flags[AMILY_VISITING_URTA] == 1 || flags[AMILY_VISITING_URTA] == 2) {
outputText("Amily's bed of grass and herbs lies empty, the mouse-woman still absent from her sojourn to meet your other lover.\n\n", false);
}
if(arianFollower()) outputText("Arian's tent is here, if you'd like to go inside.\n\n");
//choices("Amily",amilyEvent,"Helia",hel,"Isabella",isabellaButt,"Izma",izmaEvent,"Kiha",kihaButt,"Marble",marbleEvent,"Nieve",nieve,"",0,"",0,"Back",1);
menu();
if(amilyEvent > 0) addButton(0,"Amily",eventParser,amilyEvent);
if(arianFollower()) addButton(1,"Arian",visitAriansHouse);
if(hel > 0) addButton(2,"Helia",eventParser,hel);
if(isabellaButt > 0) addButton(3,"Isabella",eventParser,isabellaButt);
if(izmaEvent > 0) addButton(4,"Izma",eventParser,izmaEvent);
if(kihaButt > 0) addButton(5,"Kiha",eventParser,kihaButt);
if(marbleEvent > 0) addButton(6,"Marble",eventParser,marbleEvent);
if(nieve > 0) addButton(7,"Nieve",eventParser,nieve);
if(flags[ANT_WAIFU] > 0) addButton(8,"Phylla",introductionToPhyllaFollower);
addButton(9,"Back",eventParser,1);
}
function campSlavesMenu():void {
clearOutput();
var vapula:Number = 0;
var amilyEvent:Number = 0;
var ceraph:Number = 0;
var sophieEvent:Number = 0;
var jojoEvent:Number = 0;
var goo:int = 0;
if(vapulaSlave()) {
vapulaSlaveFlavorText();
outputText("\n\n");
vapula = 3749;
}
//Bimbo Sophie
if(bimboSophie()) {
sophieCampLines();
sophieEvent = 3028;
}
if(latexGooFollower()) {
outputText(flags[GOO_NAME] + " lurks in a secluded section of rocks, only venturing out when called for or when she needs to gather water from the stream.\n\n");
goo = 3970;
}
if(ceraphIsFollower()) ceraph = 3041;
//JOJO
//If Jojo is corrupted, add him to the masturbate menu.
if(campCorruptJojo()) {
outputText("From time to time you can hear movement from around your camp, and you routinely find thick puddles of mouse semen. You are sure Jojo is here if you ever need to sate yourself.\n\n", false);
jojoEvent = 43;
}
//Modified Camp/Follower List Description:
if(amilyFollower() && flags[43] == 2 && flags[78] == 0) {
outputText("Sometimes you hear a faint moan from not too far away. No doubt the result of your slutty toy mouse playing with herself.\n\n", false);
amilyEvent = 2427;
}
if(milkSlave()) {
outputText("Your well-endowed, dark-skinned milk-girl is here. She flicks hopeful eyes towards you whenever she thinks she has your attention.\n\n");
}
//choices("Amily",amilyEvent,"Ceraph",ceraph,"Jojo",jojoEvent,"Sophie",sophieEvent,"Vapula",vapula,"",0,"",0,"",0,flags[GOO_NAME],goo,"Back",1);
menu();
if(amilyEvent > 0) addButton(0,"Amily",eventParser,amilyEvent);
if(ceraph > 0) addButton(1,"Ceraph",eventParser,ceraph);
if(jojoEvent > 0) addButton(2,"Jojo",eventParser,jojoEvent);
if(sophieEvent > 0) addButton(3,"Sophie",eventParser,sophieEvent);
if(vapula > 0) addButton(4,"Vapula",eventParser,vapula);
if(milkSlave()) addButton(7,flags[MILK_NAME],milkyMenu);
if(goo > 0) addButton(8,flags[GOO_NAME],eventParser,goo);
addButton(9,"Back",eventParser,1);
}
function campFollowers():void {
var rathazulEvent:Number = 0;
var jojoEvent:Number = 0;
var valeria:Number = 0;
var shouldra:Number = 0;
var ember:Number = 0;
clearOutput();
gameState = 0;
//ADD MENU FLAGS/INDIVIDUAL FOLLOWER TEXTS
menu();
if(followerEmber()) {
emberCampDesc();
ember = 3691;
}
if(followerShouldra()) {
shouldra = 3665;
}
//Pure Jojo
if(player.hasStatusAffect("PureCampJojo") >= 0) {
outputText("There is a small bedroll for Jojo near your own, though the mouse is probably hanging around the camp's perimeter.\n\n", false);
jojoEvent = 2150;
}
//RATHAZUL
//if rathazul has joined the camp
if(player.hasStatusAffect("Camp Rathazul") >= 0) {
rathazulEvent = 2070;
if(flags[274] <= 1) {
outputText("Tucked into a shaded corner of the rocks is a bevy of alchemical devices and equipment. The alchemist Rathazul looks to be hard at work with his chemicals, working on who knows what.", false);
if(flags[274] == 1) outputText(" Some kind of spider-silk-based equipment is hanging from a nearby rack. He's finished with the task you gave him!", false);
outputText("\n\n", false);
}
else outputText("Tucked into a shaded corner of the rocks is a bevy of alchemical devices and equipment. The alchemist Rathazul looks to be hard at work on the silken equipment you've commissioned him to craft.\n\n", false);
}
if(sophieFollower()) {
if(rand(5) == 0) outputText("Sophie is sitting by herself, applying yet another layer of glittering lip gloss to her full lips.\n\n");
else if(rand(4) == 0) outputText("Sophie is sitting in her nest, idly brushing out her feathers. Occasionally, she looks up from her work to give you a sultry wink and a come-hither gaze.\n\n");
else if(rand(3) == 0) outputText("Sophie is fussing around in her nest, straightening bits of straw and grass, trying to make it more comfortable. After a few minutes, she flops down in the middle and reclines, apparently satisfied for the moment.\n\n");