/
story.ni
6420 lines (5947 loc) · 298 KB
/
story.ni
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
"Flexible Survival" by Nuku Valente
Book 0 - Pre game prep stuff
Release along with an interpreter.
Use memory economy.
Use slow route-finding.
[ The following adjust Informs compiler settings so that it allocates enough space. If these values are incorrect, inform will fail to compile.]
[ To determine if one of these is your issue, use the Errors tab in the inform 7 window. ]
Use MAX_INDIV_PROP_TABLE_SIZE of 500000.
Use MAX_PROP_TABLE_SIZE of 51000000.
use MAX_STATIC_DATA of 12500000.
Use MAX_OBJ_PROP_COUNT of 1280.
use MAX_SYMBOLS of 13000000. ["Compiler finished with code 10"]
use MAX_NUM_STATIC_STRINGS of 270000. [ Code 10 ]
use SYMBOLS_CHUNK_SIZE of 250000. [ Code 10 ]
use ALLOC_CHUNK_SIZE of 1450000.
use MAX_OBJECTS of 2000.
use MAX_ACTIONS of 2000.
use MAX_VERBS of 2000.
use MAX_VERBSPACE of 50000.
use MAX_ARRAYS of 100000.
Use MAX_ZCODE_SIZE of 1000000.
Use MAX_DICT_ENTRIES OF 5000.
Use maximum text length of at least 2000.
Use Scoring.
[ End compiler settings. ]
[To decide which number is the absolute value of (N - a number):
if N < 0:
let N be 0 minus N;
decide on N.] [enable this to compile on older versions of inform]
[ Basic Functions moved to Basic Functions.i7x in Core Mechanics]
The release number is 65.
The story creation year is 2010.
The maximum score is 2500.
Include Version 4 of Menus by Emily Short.
Include Basic Help Menu by Emily Short.
Include Basic Screen Effects by Emily Short.
[Dependencies] [Important - must get loaded early here]
Include Glulx Entry Points by Emily Short.
Include Glulx Text Effects by Emily Short.
Include Simple Graphical Window by Emily Short.
[New Graphics Handler]
Include Graphics Director by Executaball.
instead of wearing something:
try using it;
stop the action;
Section Help Menu
Table of Basic Help Options (continued)
title description
"Getting Started" "Welcome to Flexible Survival! To get started with playing there are a few commands you need to know. [line break] In order to move around, you can use the compass directions (north, south, east, west, etc), move 'in' and 'out' of buildings, and 'nav' or 'navigate' between areas. [line break] You can 'explore' the world to find events, monsters, and new areas, or 'hunt' for something specific. [line break] To interact with things around you, you can 'look', 'get', 'smell', 'fuck', 'talk' to, or 'drop' items. If you do pick things up, you can access you inventory with 'inv'.[line break]If you find yourself running low on food or water, you may need to 'scavenge' around the city."
"Hunting" "You can hunt for specific creatures. Go to a place you can explore from, like the library.[line break]You there? Ok, now type [bold type]hunt (creature)[roman type].[line break]You are not assured success, but a critter is 3 times more likely to show up when actively looked for.[line break]You can also hunt for locations, if you know their name.[line break]Hunting for something doesn't require that you use the entire name, and can sometimes have multiple results, for example 'hunt dragon' in the park would hunt for both yamato dragon and yamato dragoness, but 'hunt dragoness' would only hunt for the yamato dragoness."
"Trading" "You can trade with certain denizens of the city. Simple [bold type]give x to y[roman type], like give soda to bob. If they want it, they'll give you something back for it. Trades are final, but usually worth it."
"Scoring" "Staying alive, making friends, and unearthing the mysteries of the city get you points. Losing battles saps points. See how high a score you can manage!"
"Items" "You will come to have a variety of items. Here are some useful commands.[line break][line break]Item: See a list of items you own.[line break]look (item): Look at a specific item.[line break]use (item): Use an item[line break]get (item): grab a specific item.[line break]get all: get everything in the room.[line break]junk (item): destroy an item forever.[line break]drop (item): drop the item on the floor, so you can pick it up later."
"Weapons" "Some items you find make good weapons! Be sure to [bold type]use (weapon)[roman type] before a battle to have them at hand."
"Graphics" "Graphics can be enabled or disabled by typing [bold type]graphics[roman type]."
"Scavenging" "Type [bold type]scavenge[roman type] in any room you can fast travel from to hunt for food and water."
"Socializing" "You can [bold type]talk (person)[roman type] to chat. If they are of more personal interest with you, you can also [bold type]fuck (person)[roman type]"
"Ending Early" "Type [bold type]end now[roman type] to cause the game to end early. Alternatively you can [bold type]give in[roman type] to the infection."
"Play On" "You want to skip that ending? Go for it. Type [bold type]play on[roman type] and time will cease to be a concern. You will not get endings though."
"Wait Less" "Tired of having to click more to continue much of the text?. Type [bold type]Waits Off[roman type] to skip many delays.[line break]Don't like the change and want to go back? Type [bold type]Waits On[roman type] to return to the default."
"Clear Less" "Don't like the page clearing of text? Want the combat interface at the bottom of the screen? Type [bold type]Clears Off[roman type] to stop screen clearing.[line break]Don't like the change and want to go back? Type [bold type]Clears On[roman type] to return to the default."
"Auto Attack" "If you have the [']Instinctive Combat['] feat you can use different automatic attacks. These are the same as picking the same option over and over again during combat. No different results, just less typing for faster gameplay.[line break]Type [bold type]auto attack normal[roman type] for the default method of combat (choose each action).[line break]Type [bold type]auto attack berserk[roman type] to always attack in combat.[line break]Type [bold type]auto attack pass[roman type] to always pass in combat.[line break]Type [bold type]auto attack coward[roman type] to always flee in combat.[line break]Type [bold type]auto attack submit[roman type] to always submit in combat."
"Contacting the author" "If you have any difficulties with [story title], please contact me at: https://blog.flexiblesurvival.com/ ."
"Further Help" "For further help and information, check out the wiki at: https://wiki.flexiblesurvival.com/w/Main_Page or join the Discord at: https://discord.gg/b54Mbkb ."
"Patron Credits" "[patroncredits]"
To adjustdefaulthelp: [changes table from Basic Help Menu by Emily Short to better fit this game, without changing that extension, as it may be used by other games]
now the title in row 2 of Table of Instruction Options is "What to do with >";
now the description in row 2 of Table of Instruction Options is "The > sign is where the game says, 'Okay, what do you want to do now?' You may respond by typing an instruction -- usually an imperative verb, possibly followed by prepositions and objects. So, for instance, LOOK, LOOK AT FISH, TAKE FISH.";
now the title in row 1 of Table of Basic Help Options is "Q to quit help, enter to select entry";
now the description in row 1 of Table of Basic Help Options is "Use arrows to navigate the help menu.[line break]Enter selects the entry that is marked with the >[line break]Q will take you back one level of help, or leave the help system if your at the top.";
Include (-
[ YesOrNo i j;
TEXT_TY_Say((+ yes or no message +));
for (::) {
#Ifdef TARGET_ZCODE;
if (location == nothing || parent(player) == nothing) read buffer parse;
else read buffer parse DrawStatusLine;
j = parse->1;
#Ifnot; ! TARGET_GLULX;
KeyboardPrimitive(buffer, parse);
j = parse-->0;
#Endif; ! TARGET_
if (j) { ! at least one word entered
i = parse-->1;
if (i == YES1__WD or YES2__WD or YES3__WD or '1//') rtrue;
if (i == NO1__WD or NO2__WD or NO3__WD or '2//') rfalse;
}
TEXT_TY_Say((+ yes or no message +));
YES_OR_NO_QUESTION_INTERNAL_RM('A'); print "> ";
}
];
[ YES_OR_NO_QUESTION_INTERNAL_R; ];
-) instead of "Yes/No Questions" in "Parser.i6t".
The yes or no message is a text that varies.[@Tag:NotSaved]
The yes or no message is "[link]yes[end link] or [link]no[end link]> [run paragraph on]".
playerinput is a snippet that varies.[@Tag:NotSaved]
To select an option from (curtable - a table name):
while 1 is 1:
repeat with y running from 1 to number of filled rows in curtable:
choose row y from curtable;
say "[link][y] - [title entry][as][y][end link][line break]";
say "Type the number corresponding to the choice you want> [run paragraph on]";
get a number;
if calcnumber > 0 and calcnumber <= the number of filled rows in curtable:
now current menu selection is calcnumber;
choose row calcnumber from curtable;
follow the toggle entry;
break;
else:
say "Invalid Selection.";
To get typed command as (S - a snippet): (-
KeyboardPrimitive(buffer, parse);
{S} = 100 + WordCount(); -)
To get next key as (S - a snippet): (-
{S} = VM_KeyChar(); -)
Include (-
[ Serial s;
for (s=0 : s<6 : s++) print (char) ROM_GAMESERIAL->s;
];
-)
To say serial number: (- Serial(); -).
[Added function for outputting FS serial number]
Book 1 - Variable Definitions
The file of flexiblestory is called "flexible1".
monster is a number that varies.[@Tag:NotSaved]
The player has text called name. The name of player is usually "Player".
A person has a number called Energy.
A person has a number called HP.
A person has a number called MaxHP.
A person has a number called XP.
A person has a number called Level.
A person has a number called Strength.
A person has a number called Dexterity.
A person has a number called Stamina.
A person has a number called Charisma.
A person has a number called Intelligence.
A person has a number called Perception.
A person has a number called Hunger.
A person has a number called Thirst.
A person has a number called Morale.
A person has a number called Lust.
A person has a number called Loyalty.
A person has a number called Humanity.
A person has a number called Hunger.
A person has a number called cocks.
A person has a number called testes.
A person has a number called Testicle Size.
A person has a number called breasts.
A person has a number called Breast Size.
A person has a number called cunts.
A person has a number called Cock length.
A person has a number called Cock Width.
A person has a number called Cunt length.
A person has a number called Cunt width.
A person has a number called armor.
A person has a number called capacity.
A person has a number called libido.
A person has a text called linkaction.
A person has a number called SleepRhythm. [day/night bias]
A person has text called Cock Size Desc.
A person has text called Cunt Size Desc.
A person has text called Breast Size Desc.
A person has text called Short Breast Size Desc.
A person has a truth state called PlayerMet. PlayerMet is usually false.
A person has a truth state called PlayerRomanced. PlayerRomanced is usually false.
[A person has a truth state called PlayerFriended. PlayerFriended is usually false.] [leave commented out until new infection system update]
[A person has a truth state called PlayerControlled. PlayerControlled is usually false.] [leave commented out until new infection system update]
A person has a truth state called PlayerFucked. PlayerFucked is usually false.
A person has a truth state called OralVirgin. OralVirgin is usually true.
A person has a truth state called Virgin. Virgin is usually true.
A person has a truth state called AnalVirgin. AnalVirgin is usually true.
[A person has a truth state called SexuallyExperienced. SexuallyExperienced is usually false.] [leave commented out until new infection system update]
The player has a text called bodydesc. The bodydesc is usually "[one of]average[or]normal[or]unchanged[at random]". [adjective for body type/appearance]
The player has a text called bodytype. The bodytype is usually "Human". [broad adjective for species]
The player has a text called skin. Skin is usually "smooth".
The player has a text called Cock. Cock is usually "[one of]normal[or]flesh-toned[or]uninfected[or]human[at random]".
The player has a text called face. Face is usually "charmingly human".
The player has a text called tail. tail is usually "".
The player has a text called body. Body is usually "charmingly human".
The player has a text called bodyname. Bodyname is usually "Human".
The player has a text called facename. Facename is usually "Human".
The player has a text called skinname. Skinname is usually "Human".
The player has a text called cockname. cockname is usually "Human".
The player has a text called tailname. Tailname is usually "Human".
The child has a text called bodyname. Bodyname is usually "Human".
The child has a text called facename. Facename is usually "Human".
The child has a text called skinname. Skinname is usually "Human".
The child has a text called cockname. cockname is usually "Human".
The child has a text called tailname. Tailname is usually "Human".
The player has a text called weapon. Weapon is usually "[one of]your quick wit[or]your fists[or]a quick kick[or]your body[or]some impromptu wrestling[or]an unarmed strike[at random]".
The player has a text called weapon type. Weapon type is usually "Melee".
A person has a number called Weapon damage. Weapon damage is usually 4.
A person has a list of text called conversation.
[See the BFandI extension for an explanation on these new variables.]
A person has a number called scalevalue. The scalevalue is usually 3. [value for body size]
A person has a list of text called Traits.
freecred is a number that varies.
playon is a number that varies.
the player has a list of text called invent.
the player has a list of text called vials.
the player has a list of text called tapes.
the player has a list of text called OpenQuests.
the player has a list of text called CompletedQuests.
Rooms has a list of text called invent.
The player has a list of text called Feats.
The player has a list of text called EncounteredEnemies.
The player has a list of text called BlockList.
A person can be a trader.
Scenario is a text that varies.
Allobjs is a list of text that varies.[@NotSaved]
Grab Object is a kind of thing.
a grab object has a number called objsize. The objsize of grab object is usually 3. [Used only for armaments and journal.]
things have a text called scent.
rooms have a text called scent.
The player has a grab object called weapon object. A weapon object is usually journal.
A armament is a kind of grab object.
A armament has a text called weapon.
A armament has a text called weapon type.
A armament has a number called Weapon Damage.
A armament has a number called hitbonus. [Rare, usually magic]
An armament can be ranged or melee. An armament is usually melee.
Equipment is a kind of grab object.
Equipment can be equipped or not equipped. Equipment is usually not equipped.
Equipment can be cursed or not cursed. Equipment is usually not cursed. [can't take it off if cursed]
Equipment has a text called descmod. The descmod of equipment is usually "".
Equipment has a text called placement. The placement of equipment is usually "end".
Equipment has a text called slot. The slot of equipment is usually "".
Equipment has a truth state called taur-compatible. The taur-compatible of equipment is usually false.
Equipment has a number called size. The size of equipment is usually 3.
Equipment has a number called AC. The AC of equipment is usually 0.
Equipment has a number called effectiveness. The effectiveness of equipment is usually 0.
Equipment has a number called dodgebonus. The dodgebonus of equipment is usually 0. [Rare, usually magic]
Equipment has a number called damagebonus. The damagebonus of equipment is usually 0. [Rare, usually magic]
Equipment has a number called fleebonus. The fleebonus of equipment is usually 0. [Usually a penalty]
A grab object can be temporary. A grab object is usually temporary.
A grab object can be fast. A grab object is usually not fast.
A grab object can be infectious.
A grab object can be milky. A grab object is usually not milky.
A grab object can be cum. A grab object is usually not cum.
A grab object has a truth state called plural. The plural of a grab object is usually false.
A grab object has a text called strain.
A grab object has a text called trade.
A grab object has a text called purified.
A grab object has a text called usedesc.
A grab object has a number called carried.
A grab object has a number called stashed.
Turns is a number that varies. Turns is 240.
Hardmode is a truth state that varies. Hardmode is usually false.
nohealmode is a truth state that varies. nohealmode is usually false.
blindmode is a truth state that varies. blindmode is usually false.
Levelwindow is a number that varies. Levelwindow is 3.
Lastjournaluse is a number that varies. Lastjournaluse is 248.
Targetturns is a number that varies.
Started is a number that varies.
Freefeats is a number that varies.
Lost is a number that varies.
showlocale is a truth state that varies. showlocale is usually true.
Child is a person.
The printed name of Child is "Child".
Child has a number called Gestation.
Child can be born. Child is not born.
Childrenfaces is a list of text that varies.
Childrenskins is a list of text that varies.
Childrenbodies is a list of text that varies.
NewGraphics is a truth state that varies. NewGraphics is usually true.
NewGraphicsInteger is a number that varies. NewGraphicsInteger is usually 2.
NewGraphicsDebugMode is a truth state that varies. NewGraphicsDebugMode is usually false.
NewGraphicsRatio is a number that varies. NewGraphicsRatio is usually 30.
NewGraphicsOpened is a truth state that varies. NewGraphicsOpened is usually false. [set to true for entire playthrough if graphics window opened - unless inline/disabled specified at start]
[For use with new safe restore]
RestoreMode is a truth state that varies. RestoreMode is usually false.
Table of GameCharacterIDs
object name
child "child"
yourself "yourself"
A situation is a kind of thing.
A situation can be resolved or unresolved. A situation is usually unresolved.
A situation can be active or inactive. A situation is usually active.
A situation has a number called Resolution.
A situation has a situation called Prereq1.
A situation has a truth state called Prereq1ResolvedMandatory. Prereq1ResolvedMandatory of a situation is usually true.
A situation has a list of numbers called Prereq1Resolution. Prereq1Resolution is usually { 0 }.
A situation has a situation called Prereq2.
A situation has a truth state called Prereq2ResolvedMandatory. Prereq2ResolvedMandatory of a situation is usually true.
A situation has a list of numbers called Prereq2Resolution. Prereq2Resolution is usually { 0 }.
A situation has a situation called Prereq3.
A situation has a truth state called Prereq3ResolvedMandatory. Prereq3ResolvedMandatory of a situation is usually true.
A situation has a list of numbers called Prereq3Resolution. Prereq3Resolution is usually { 0 }.
A situation has an object called PrereqCompanion.
A situation has a text called sarea. The sarea of a situation is usually "Outside".
A situation has a number called level. The level of a situation is usually 0.
A situation has a number called minscore. The minscore of a situation is usually -2147483648.
A featset is a kind of thing.
inasituation is a truth state that varies. inasituation is normally false.
PlaceholderSituation is a situation. PlaceholderSituation is resolved. [needs to always be resolved]
instead of sniffing a situation:
say "You can't see any such thing.";
instead of examining a situation:
say "You can't see any such thing.";
Definition: A situation (called x) is available:
if sarea of x is "Nowhere", no; [not findable through exploration/hunting]
if x is inactive, no; [for banning]
if x is resolved, no; [the player has played through these]
if x is not PrereqComplete, no;
if x is close:
if score < minscore of x:
no;
else if hardmode is true:
yes;
else if the level of x < (the level of the player plus levelwindow plus 1):
yes;
no;
Definition: A situation (called x) is PrereqComplete:
if PrereqCompanion of x is not nothing and PrereqCompanion of x is not companion of player, no;
if Prereq1ResolvedMandatory of x is true and Prereq1 of x is not resolved, no;
if Resolution of Prereq1 of x is not listed in Prereq1Resolution of x, no;
if Prereq2ResolvedMandatory of x is true and Prereq2 of x is not resolved, no;
if Resolution of Prereq2 of x is not listed in Prereq2Resolution of x, no;
if Prereq3ResolvedMandatory of x is true and Prereq3 of x is not resolved, no;
if Resolution of Prereq3 of x is not listed in Prereq3Resolution of x, no;
yes;
Definition: A situation (called x) is close:
if ( sarea of x exactly matches the text battleground, case insensitively ) or ( battleground is "Outside" and ( the sarea of x is "Allzones" or the sarea of x is "allzones" ) ):
yes;
no;
Definition: A scavevent (called x) is scavable:
if ( sarea of x exactly matches the text battleground, case insensitively ) or ( sarea of x is "Allzones" or the sarea of x is "allzones" ):
if score < minscore of x:
no;
else if hardmode is true:
yes;
else if the level of x < (the level of the player plus levelwindow plus 1):
yes;
no;
Definition: A grab object (called x) is wielded:
if weapon object of player is x, yes;
no;
Definition: A grab object (called x) is unwieldy: [applies to armaments only]
if grab object is journal, no;
if the absolute value of ( scalevalue of player - objsize of x ) > 1, yes;
no;
A person can be defaultnamed. A person is usually defaultnamed.
Definition: A person (called x) is defaultnamed:
if name of player is "Player", yes;
no;
A person can be submissive. A person is usually not submissive.
Definition: A person (called x) is submissive:
if "Submissive" is listed in feats of x, yes;
no;
A person can be dominant. A person is usually not dominant.
Definition: A person (called x) is dominant:
if "Dominant" is listed in feats of x, yes;
no;
A person can be kinky. A person is usually not kinky.
Definition: A person (called x) is kinky:
if "Kinky" is listed in feats of x, yes;
no;
A person can be twistcapped. A person is usually not twistcapped.
Definition: A person (called x) is twistcapped:
if "Twisted Capacity" is listed in feats of x, yes;
no;
A person can be MProN. A person is usually not MProN.
Definition: A person (called x) is MProN:
if PronounSet of x is "Male", yes;
no;
A person can be FProN. A person is usually not FProN.
Definition: A person (called x) is FProN:
if PronounSet of x is "Female", yes;
no;
A person can be HProN. A person is usually not HProN.
Definition: A person (called x) is HProN:
if PronounSet of x is "Herm", yes;
no;
A person can be NProN. A person is usually not NProN.
Definition: A person (called x) is NProN:
if PronounSet of x is "Neuter", yes;
no;
A person can be internal. A person is usually not internal.
internalbypass is a truth state that varies. internalbypass is usually false.
Definition: A person (called x) is internal:
if cockname of x is listed in infections of internallist and internalbypass is false, yes;
no;
a person can be knotted. a person is usually not knotted.
Definition: A person (called x) is knotted:
if cockname of player is listed in infections of knotlist, yes;
no;
a person can be barbed. a person is usually not barbed.
Definition: A person (called x) is barbed:
if cockname of player is listed in infections of BarbedCocklist, yes;
no;
a person can be flared. a person is usually not flared.
Definition: A person (called x) is flared:
if cockname of player is listed in infections of Bluntlist, yes;
no;
Definition: A person (called x) is perminfected:
if ( JackalManTF > 0 or JackalBoyTF > 0 ) or nightmaretf > 0 or HellHoundlevel > 0 or ( wrcursestatus >= 7 and wrcursestatus < 100 ), yes;
no;
Definition: A person (called x) is pure:
if bodyname of x is facename of x:
if bodyname of x is tailname of x:
if bodyname of x is skinname of x:
if bodyname of x is cockname of x:
yes;
no;
Definition: A person (called x) is purehuman:
if bodyname of player is "Human" or bodyname of player is "Herm Human":
if facename of player is "Human" or facename of player is "Herm Human":
if tailname of player is "Human" or tailname of player is "Herm Human":
if skinname of player is "Human" or skinname of player is "Herm Human":
if cockname of player is "Human" or cockname of player is "Herm Human":
yes;
no;
Definition: A person (called x) is male: [note: this is both male and herm]
if cocks of x > 0, yes;
Definition: A person (called x) is puremale:
if cocks of x > 0 and cunts of x is 0, yes;
Definition: A person (called x) is female: [note: this is both female and herm]
if cunts of x > 0, yes;
Definition: A person (called x) is purefemale:
if cunts of x > 0 and cocks of x is 0, yes;
Definition: A person (called x) is herm:
if cocks of x > 0 and cunts of x > 0, yes;
Definition: A person (called x) is neuter:
if cocks of x is 0 and cunts of x is 0, yes;
A person can be booked. A person can be bunkered. A person is usually not booked. A person is usually not bunkered.
Definition: A person (Called x) is booked:
If x is the player, no;
If x is Trixie, no;
if x is Velos, no;
if the location of x is Grey Abbey Library, yes;
if the location of x is Grey Abbey 2F, yes;
if the location of x is Half-Renovated Room, yes;
if the location of x is Breakroom, yes;
if the location of x is Pantry, yes;
if the location of x is Computer Lab, yes;
if the location of x is Back Of The Library, yes;
if the location of x is Makeshift Rec Room, yes;
if the location of x is Courtyard, yes;
if the location of x is Large Shed, yes;
if the location of x is Garden, yes;
if the location of x is Sitting Area, yes;
if the location of x is Garden View, yes;
if the location of x is Darkened Alcove, yes;
if the location of x is Attic, yes;
if x is Zoe:
if "Saved" is listed in Traits of Zoe, yes;
[if Rabbit Tagger is resolved,] [What is this?][ yes; ][Zoe is absent during the day, but we need the booked to be true for the room description.]
no;
Definition: A person (Called x) is bunkered:
If x is the player, no;
if x is Velos, no;
if the location of x is Bunker, yes;
if the location of x is Communal Shower, yes;
if the location of x is Underground Restroom, yes;
if the location of x is Maintenance Closet, yes;
no;
Definition: A person (called x) is CockFitsInPlayerPussy:
if "Twisted Capacity" is listed in the feats of player, yes;
if cock length of x > cunt length of player + 1, no; [some stretching allowed]
yes;
Definition: A person (called x) is CuntFitsForPlayerCock:
if cock length of player > cunt length of x + 1, no; [some stretching allowed]
yes;
Definition: A person (called x) is PlayerCumLoadInflates: [yes = inflation; can be adapted for any kind of inflation (egg, enema, etc.)]
if ScaleValue of x is 1 and cock width of player >= 6, yes;
if ScaleValue of x is 2 and cock width of player >= 12, yes;
if ScaleValue of x is 3 and cock width of player >= 16, yes;
if ScaleValue of x is 4 and cock width of player >= 25, yes;
if cock width of player >= 32, yes;
no;
Definition: A person (called x) is CumLoadInflatesPlayer: [yes = inflation; can be adapted for any kind of inflation (egg, enema, etc.)]
if ScaleValue of player is 1 and cock width of x >= 6, yes;
if ScaleValue of player is 2 and cock width of x >= 12, yes;
if ScaleValue of player is 3 and cock width of x >= 16, yes;
if ScaleValue of player is 4 and cock width of x >= 25, yes;
if cock width of x >= 32, yes;
no;
Definition: A person (called x) is barefoot:
let FeetItem be a grab object;
now FeetItem is journal;
repeat with z running through equipped equipment:
if slot of z is "feet":
now FeetItem is z;
if FeetItem is journal: [already naked]
yes;
else:
no;
Definition: A person (called x) is barecrotch:
let WaistItem be a grab object;
now WaistItem is journal;
let CrotchItem be a grab object;
now CrotchItem is journal;
repeat with z running through equipped equipment:
if slot of z is "waist":
now WaistItem is z;
repeat with z running through equipped equipment:
if slot of z is "crotch":
now CrotchItem is z;
if WaistItem is journal and CrotchItem is journal: [already naked]
yes;
else:
no;
Definition: A person (called x) is barechest:
let ChestItem be a grab object;
now ChestItem is journal;
let BodyItem be a grab object;
now BodyItem is journal;
repeat with z running through equipped equipment:
if slot of z is "chest":
now ChestItem is z;
repeat with z running through equipped equipment:
if slot of z is "Body":
now BodyItem is z;
if ChestItem is journal and BodyItem is journal: [already naked]
yes;
else:
no;
Definition: A person (called x) is naked:
if x is barecrotch and x is barechest and x is barefoot:
yes;
else:
no;
A thing can be rooted in place. A thing is usually not rooted in place.
A thing can be restful. A thing is usually not restful.
A door can be dangerous.
A door has a text called marea.
A room can be known or unknown. A room is usually unknown.
A room can be fasttravel. A room is usually not fasttravel.
A room can be private. A room is usually not private.
A room can be sleepsafe. A room is usually not sleepsafe.
A room has a text called earea. earea is usually "void". [exploration area]
The player is wearing a watch.
The player is wearing a backpack. The description of the backpack is "A backpack, full of stuff. To look inside, type [bold type]item[roman type] To look at an item, type [bold type]look (item name)[roman type] To use an item, type [bold type]use (item name)[roman type]. Do you see something in the room you want to take with you? Type [bold type]grab (item name)[roman type] to snatch it up.".
instead of examining a grab object (called x):
say "[the desc corresponding to a object of x in the table of game objects]";
if "Weaponsmaster" is listed in feats of player and x is an armament:
say " Looking over the weapon with your expert knowledge, you assess it to be a [weapon damage of x] damage weapon.";
Does the player mean examining a situation: it is very unlikely.
Section Starting Variables
[ See the Core Mechanics/Presets.i7x file for personalizing your defaults. ]
[
startgenderchoice is a number that varies.[@Tag:NotSaved]
startstatbonus is a number that varies.[@Tag:NotSaved]
startscenariochoice is a number that varies.[@Tag:NotSaved]
]
gsms is a number that varies. [main stat]
gspg is a number that varies. [player gender]
gsgt is a number that varies. [game type]
gshm is a truth state that varies. [hard mode on/off]
gsnhm is a truth state that varies. [no-heal mode on/off]
gsbm is a truth state that varies. [blind mode on/off]
gsexit is a number that varies. gsexit is usually 0.
freefeatgeneral is a text that varies.
freefeatfun is a text that varies.
hypernull is a number that varies.
anallevel is a number that varies.
WSlevel is a number that varies.
vorelevel is a number that varies.
UBlevel is a number that varies.
ovipreglevel is a number that varies.
ovipregnant is a truth state that varies. ovipregnant is usually false. [marks if ovi-pregnant now]
ovipregalways is a truth state that varies. ovipregalways is usually false. [marks if allowed to pick always ovi]
Book 2 - Places
[ Moved to Basic Locations.i7x in Core Mechanics ]
Part 2 - Things
The cot is rooted in place. The cot is restful.
Section - Vending Machine
To add (item - a text) to invent of player:
repeat with x running through grab objects:
if the printed name of x matches the text item:
increase carried of x by 1;
break;
To add (item - a text) to the invent of player:
repeat with x running through grab objects:
if the printed name of x matches the text item:
increase carried of x by 1;
break;
To add (item - a text) to the invent of the player:
repeat with x running through grab objects:
if the printed name of x matches the text item:
increase carried of x by 1;
break;
To add (item - a text) to invent of the player:
repeat with x running through grab objects:
if the printed name of x matches the text item:
increase carried of x by 1;
break;
To remove (item - a text) from invent of player:
repeat with x running through grab objects:
if the printed name of x matches the text item:
now carried of x is 0;
break;
To remove (item - a text) from the invent of player:
repeat with x running through grab objects:
if the printed name of x matches the text item:
now carried of x is 0;
break;
To remove (item - a text) from the invent of the player:
repeat with x running through grab objects:
if the printed name of x matches the text item:
now carried of x is 0;
break;
To remove (item - a text) from invent of the player:
repeat with x running through grab objects:
if the printed name of x matches the text item:
now carried of x is 0;
break;
To decide which number is numeric/numerical value of (T - indexed text):
let S be 1;
let L be the number of characters in T;
if L is 0, decide on 0;
let negated be false;
if character number 1 in T is "-" begin;
let negated be true;
let S be 2;
end if;
let result be 0;
repeat with N running from S to L begin;
let C be character number N in T;
let D be 0;
if C is "1" begin; let D be 1; else if C is "2"; let D be 2;
else if C is "3"; let D be 3; else if C is "4"; let D be 4;
else if C is "5"; let D be 5; else if C is "6"; let D be 6;
else if C is "7"; let D be 7; else if C is "8"; let D be 8;
else if C is "9"; let D be 9; else if C is "0"; let D be 0;
else; decide on 0; end if;
let result be (result * 10) + D;
end repeat;
if negated is true, let result be 0 - result;
decide on result.
There is a Cola Vending Machine in Mall Foodcourt. "A broken down vending machine lurks nearby with several, large, soda brands brightly painted onto it." It is fixed in place. It has a description "A vending machine. It appears to dispense soda, but it's broken.".
Cola Vending Machine has a number called dispensed.
understand "vending machine" as Cola Vending machine.
Vending is an action applying to one thing.
understand "use [cola vending machine]" as vending.
Carry out vending:
say "It's broken! Damn. All that soda. How to get it out?";
Instead of attacking the Cola Vending machine:
say "You give the soda machine a solid whack, ";
let the bonus be (( the strength of the player minus 10 ) divided by 2);
let the dice be a random number from 1 to 20;
say "You roll 1d20([dice])+[bonus] -- [dice plus bonus]: ";
increase dice by bonus;
if dice > 15:
say "A soda can pops out!";
add "soda" to invent of player;
increase score by 1;
increase dispensed of cola vending machine by 1;
else:
say "Nothing happens...";
if ( a random chance of 5 in 100 succeeds ) or dispensed of noun > 9:
say "The machine gives a final spark of defeat. You are certain there is no more soda to be had.";
now Cola Vending Machine is nowhere;
Book 3 - Definitions
Definition: a direction (called D) is valid if the room D from the location of the player is a room.
Definition: A grab object (called D) is owned:
if there is a name corresponding to a object of d in the table of game objects:
if the carried of d > 0, yes;
no;
Definition: A grab object (called D) is stored:
if there is a name corresponding to a object of d in the table of game objects:
if the stashed of d > 0, yes;
no;
Definition: A grab object (called D) is present:
if there is a name corresponding to a object of d in the table of game objects:
if the name corresponding to a object of d in the table of game objects is listed in the invent of the location of the player, yes;
no;
before examining the grab object (called x):
let good be 0;
if x is owned, now good is 1;
if x is present, now good is 1;
if good is 0, say "I don't see any [x] around here..." instead;
[ ]
Book 5 - Tables
Table of Game Objects
name desc weight object sortname (indexed text)
"medkit" "A small, white, plastic box with a red cross on it. It has all the things needed for basic medical needs on the go! Using it will restore a lot of HP, more with good intelligence." 3 medkit
"water bottle" "A bottle of water. Good for slaking thirst." 1 water bottle
"dirty water" "A bottle of contaminated water. Drinker beware." 1 dirty water
"food" "Some food. Nothing fancy. Maybe a sandwich, or a husky girl leg, whatever happens to be handy." 2 food
"journal" "A small, leather-clad book. Spending some time writing in it can help clear your thoughts and recenter your troubled mind." 2 journal
"pocketknife" "Mighty big for a pocket knife, nice and solid too. Could be handy." 1 pocketknife
"chair" "A metal folding chair that belongs in a food court. It could serve as a weapon in a pinch!" 10 chair
"gryphon milk" "A small bottle filled with fluid taken from one of those gryphons. You are fairly certain drinking it would be a poor idea, but maybe there is a use for it?" 2 gryphon milk
"distilled milk" "Some creature's milk boiled down to a concentrated, powdery, form? That can't be dangerous!" 1 distilled milk
"glob of goo" "A small bottle of strange, neon colored, goop" 1 glob of goo
"soda" "A can of some soda or another. Somehow, it is still cool to the touch" 1 soda
"chips" "Not always literally potato chips, but any kind of junk food. Not the best food, but hey, edible." 1 chips
"cot" "A folding cot. You could carry it around and [bold type]rest[roman type] anywhere!" 25 cot
"dog milk" "A bottle of dog milk? Man you will take anything." 3 dog milk
"face mask" "A basic filtered face mask. Maybe it will help? Probably not[first time]. You doubt it was designed with this madness in mind[only]." 3 face mask
[
"heuristic processor" "A small electronic circuit. You've been told it's amazingly adaptive and can learn anything. Probably nonsense, but maybe you can find a use for it, somehow." 1 heuristic processor
"reprogramming device" "An attempt by Dr. Mouse to build a device to reprogram the nanites. It's too bulky, and doesn't have the processing capacity to be of any use in the field. Perhaps you could find a way around those limitations?" 13 reprogramming device
"infection scanner" "Upgraded Infection Monitor. Or it would have been, it's clearly not finished. It's missing any sort of display to show what it finds. Perhaps you could use it's scanner parts elsewhere?" 7 infection scanner
]
face mask is equipment. It is a part of the player. It is not temporary.
The descmod of face mask is "A filtered mask covers nose and mouth in a vain attempt to help. ".
The placement of face mask is "face".
journal is a grab object. It is a part of the player. It is not temporary. The carried of journal is 1.
journal has a number called hitbonus. hitbonus of journal is usually 0.
cot is a grab object. It is a part of the player. It is not temporary.
understand "Bed" as cot.
Understand "book" as journal.
medkit is a grab object. It is a part of the player. It is fast. It is not temporary.
dirty water is a grab object. It is a part of the player. The trade of dirty water is "chips".
understand "water" as dirty water.
water bottle is a grab object. It is a part of the player. The trade of water bottle is "chips".
Does the player mean using the dirty water: it is unlikely.
Does the player mean stashing the dirty water: it is unlikely.
Does the player mean retrieving the dirty water: it is unlikely.
dog milk is a grab object. It is a part of the player. it is milky.
soda is a grab object. It is a part of the player.
chips is a grab object. It is a part of the player.
glob of goo is a grab object. It is a part of the player. glob of Goo is infectious. The strain of glob of goo is "Goo Girl".
food is a grab object. It is a part of the player. The trade of food is "soda".
pocketknife is a armament. It is a part of the player. It has a weapon "[one of]your large knife[or]your blade[or]your trusty pocket knife[or]flashing steel[at random]". The weapon damage of pocketknife is 5. The weapon type of pocketknife is "Melee". It is not temporary. the objsize of pocketknife is 2.
understand "knife" as pocketknife.
chair is a armament. It is a part of the player. It has a weapon "[one of]a folding chair[or]your improvised weapon[or]that move you saw on WWE[or]a metal chair to the eyes[at random]". The weapon damage of chair is 5. The weapon type of chair is "Melee". It is not temporary. the objsize of chair is 4.
understand "seat" as chair.
gryphon milk is a grab object. It is a part of the player. Understand "milk" as gryphon milk. Gryphon milk is infectious. The strain of gryphon milk is "Hermaphrodite Gryphon". The trade of Gryphon Milk is "distilled milk". gryphon milk is milky.
distilled milk is a grab object. It is a part of the player. it is not milky.
The invent of the player is { "journal" }.
Table of Start Game
title subtable description toggle
"Strength: [strength of player]" -- "Your ability to exert force. Helps deal damage with melee weapons, and to carry heavy objects." finish stats rule
"Dexterity: [Dexterity of player]" -- "Speed, agility. Dexterity helps to land hits with melee weapons and avoid being hit in kind." finish stats rule
"Stamina: [stamina of player]" -- "Your ability to withstand punishment. Stamina also helps to resist the physical aspects of infection." finish stats rule
"Charisma: [Charisma of player]" -- "Your ability to exert social force. Deal with NPCs favorably, also helps resist mental aspects of infection." finish stats rule
"Perception: [Perception of player]" -- "Your ability to detect things. Also helps resist mental aspects of infection." finish stats rule
"Intelligence: [Intelligence of player]" -- "Your ability to logically compute things. Helps with activities that require 'book smarts'." finish stats rule
["Reroll Stats" -- "Randomize your stats. Do this as often as you want." random stats rule]
"Select a Stat to gain [if started is 0]+5[else]+1[end if]" -- "You are satisfied with your stats" --
"Restore a save" -- "Restore a save game!" prerestore the game rule
This is the prerestore the game rule:
decrease the menu depth by 1;
try restoring the game;
if maxHP of player is 0, try restarting the game;
Table of sex choice
title subtable description toggle
"Man" -- -- male choice rule
"Woman" -- -- female choice rule
Table of Starting Location
title subtable description toggle
"Bunker" -- -- location choice rule
"Caught Outside" -- -- location choice rule
"Rescuer Stranded" -- -- location choice rule
"Forgotten" -- -- location choice rule
"Researcher" -- -- location choice rule
"Hard mode" -- -- location choice rule
Table of Basic Combat
title subtable description toggle
"Attack" -- "Attack!!!" player attack rule
"Item" -- "Quick, where's my healing potion?!" combat item rule
"Pass" -- "Hey look, a distraction!" combat pass rule
"Flee" -- "Run away!!!" flee rule
"Submit" -- "Maybe it isn't so bad" submit rule
"Throw Fight" -- "Let them think they won." throw combat rule
Table of combat items
title(indexed text) subtable description toggle
"Nothing" -- "Nothing here." combat item rule
with 100 blank rows.
Table of gainable feats
title subtable description toggle
"Nothing" -- "Nothing here." gainfeat rule
with 100 blank rows.
Table of Basic Actions
title subtable description toggle
["Go Exploring" -- "Go wandering the city and look for generally interesting things." explore rule]
["Rest" -- "Take a breather" rest rule]
["Examine yourself" -- -- Self examine rule]
"Help" Table of Help "Get some help on this madness!"
"Strength: [strength of player], Dexterity: [dexterity of player], Stamina: [stamina of player], Charisma: [Charisma of player], Perception: [perception of player], Intelligence: [intelligence of player]." -- "Stats" --
"Health: [HP of player]/[maxHP of player], Lust: [lust of player], Morale: [morale of player], Humanity: [Humanity of player]" -- "More stats" --
"Time Remaining: [( turns minus targetturns ) divided by 8] days, [(remainder after dividing ( turns minus targetturns ) by 8 ) times 3] hours, Score: [score]" -- "Time until the game ends." Turnpass rule
Table of Help
title subtable description toggle
"Is this all?" -- "Yep, more to come later, promise!"
"Exit" -- "Previous Menu" menu exit rule
Table of Random Critters
name enemy title enemy name enemy type attack defeated victory desc face body skin tail cock face change body change skin change ass change cock change str dex sta per int cha sex HP lev wdam area cocks cock length cock width breasts breast size male breast size cunts cunt length cunt width libido loot lootchance scale (number) body descriptor (text) type (text) magic (truth state) resbypass (truth state) non-infectious (truth state) DayCycle altcombat (text) BannedStatus (truth state)
"Dragoness" "" "" 0 "" "" "" "" "reptilian snout and great teeth. Two horns spiral backwards over your" "large and reptilian, covered in [skin of player] flesh. You are forced to all fours except for brief, awkward, moments. It reminds you of a dragon, if you had to guess." "[one of]dull red[or]dull orange[or]lustrous blue[sticky random] scaled" "You have a wide, tapered, dragon's tail with a spade at the tip." "[one of]draconic[or]normally internal[or]reptilian[at random]" "your face draws forward into a reptilian snout, covered in [skin of player] flesh." "Your body grows to larger than human norm, becoming quadrupedal, with great spikes along your back. You look very much like a dragon." "Your skin breaks out in large armored scales that rapidly spread over your body" "Your spine tingles before it explosively expands backwards into a great, thick, tail with spikes along the top." "Your cock tingles as it becomes draconic in shape, a vent forming to hold it within you." 20 10 12 12 12 12 "Female" 50 1 20 "Nowhere" 0 0 0 2 10 0 1 15 10 40 "" 0 4 "[one of]monstrous[or]large[or]powerful[at random]" "draconic" false false false 1 "default" false
understand the command "feed" as something new.
Definition: A person is fastlearning:
if "Fast Learner" is listed in feats of player, yes;
no;
To say level up needed:
say "[if player is fastlearning][((level of player plus 1) times 8)][else][(level of player plus 1) times 10][end if]";
Table of Fancy Status
left central right
"Location: [the player's surroundings]" "Time: [time of day] Lvl: [level of player]" "HP:[HP of player]/[maxHP of player]"
"Freecred: [freecred]" "Hunger: [hunger of player] Thirst: [thirst of player] Libido: [libido of player]" "Score:[score]/[maximum score]"
"Sanity: [humanity of player]/100" "Evac: [( turns minus targetturns ) divided by 8] d, [(remainder after dividing ( turns minus targetturns ) by 8 ) times 3] h[if number of entries in childrenfaces > 0] Kids: [number of entries in childrenfaces][end if]" "XP:[XP of player]/[level up needed]"
"" "[if NewGraphicsInteger is 0] [else]Current image artist: [ngraphics_currentartist][end if]" ""
to say exitlist:
repeat with nam running through valid directions:
say "[link][printed name of nam][end link] ";
Book 6 - Rules, Obey them!
Part 1 - Flags
[flag is a kind of thing.
A flag has a list of text called infections.
A flag has a list of situations called badspots.
A flag can be banned. A flag is usually not banned.
A flag can be warded. A flag is usually not warded.
Cockvore is a flag.
Furry is a flag.
Guy is a flag.
Girl is a flag.
Humorous is a flag.
Hermaphrodite is a flag.
Hellspawn is a flag.
Feral is a flag.
Transgender is a flag.
Incest is a flag.
Noncon is a flag.
Mindcontrol is a flag.
Vore is a flag.
when play begins:
add { "Awesome tree", "Bottlenose Toy", "Cock Cannon", "Quilled Tousky" } to infections of humorous;
add { "Ember Breeder", "Bear", "Black Equinoid", "Bovine", "Chinchilla", "Deer", "Doberman", "Ebonflame Drake", "Ewe", "Feline", "Female Husky", "Fruit Bat", "German Shepherd", "Harpy", "Herm Hyena", "Hermaphrodite Dolphin", "Hermaphrodite Gryphon", "Killer Whale", "Lizard Girl", "Painted Wolf Herm", "Pirate Shark", "Pit bull", "Platypus", "Ram", "Red Kangaroo", "Sea Otter", "Sewer Gator", "Shemale Smooth Collie", "Skunk", "Slut Rat", "Snow Bat", "Trash Coon", "Wildcat" } to infections of furry;
add { "Bovine", "Cock Cannon", "Demon Brute", "Feline", "Felinoid", "Feral Mutt", "Feral Sea Dragon", "Fruit Bat", "German Shepherd", "Junkman", "Killer Whale", "Latex Fox", "Latex Wolf", "Liquidshifter", "Ram", "Platypus", "Quilled Tousky", "Sandman", "Sea Otter", "Skunk", "Tentacle Horror" } to infections of guy;
add { "Ember Breeder", "Black Equinoid", "Deer", "Ebonflame Drake", "Herm Hyena", "Hermaphrodite Dolphin", "Hermaphrodite Gryphon", "Painted Wolf Herm", "Panther Taur", "Parasitic Plant", "Pirate Shark", "Sewer Gator", "Sea Otter", "Slut Rat", "Spidergirl", "Wildcat" } to infections of hermaphrodite;
add { "Bear", "Bottlenose Toy", "Bovine", "City Sprite", "Doberman", "Ewe", "Feline", "Female Husky", "Feral Sea Dragoness", "Harpy", "Lizard Girl", "Mothgirl", "Red Kangaroo", "Sea Otter", "Skunk", "Spidergirl", "Tentacle Horror", "Trash Coon" } to infections of girl;
add { "Bovine", "Behemoth", "Cerberus", "Ebonflame Dragator", "Ebonflame Whelp", "Feral Cheetah", "Feral Sea Dragon", "Feral Sea Dragoness", "Feral Gryphon", "Feral Shaft Beast", "Feral Wolf", "Flaming Lynx", "Friendship Pony", "Hydra Beast", "Latex Fox", "Latex Wolf", "Manticore", "Peculiar Dragon", "Pegasus", "Quilled Tousky", "Sabretooth", "Shadow Beast", "Sierrasaur", "Snake", "Wyvern", "Yamato Dragon", "Yamato Dragoness" } to infections of feral;
add { "Demon Brute" } to infections of hellspawn;
add { "Mothgirl", "Shemale Smooth Collie" } to infections of transgender;
]
[corollary]
marker is a kind of thing.
A marker has a list of text called infections.
Tailweapon is a marker.
when play begins:
add { "Anthro Shaft Beast", "Dragon", "Dragoness", "Drone Wasp", "Ebonflame drake", "Ebonflame Dragator", "Ebonflame Whelp", "Hermaphrodite Dolphin", "Feral Sea Dragon", "Feral Sea Dragoness", "Feral Shaft Beast", "Killer Whale", "Lizard Girl", "Naga", "Pirate Shark", "Red Kangaroo", "Sewer Gator", "Skunk", "Spidergirl", "Wyvern", "Yamato Dragon", "Yamato Dragoness" } to infections of Tailweapon;
Felinelist is a marker. [list of feline infections]
when play begins:
add { "Cheetah Woman", "Cougar", "Feline", "Felinoid", "Feral Cheetah", "Jaguar", "Leopardman", "Manticore", "Margay", "Ninja Cat", "Pantherherm", "Panther Taur", "Plush lion", "Rubber Puma", "Rubber tigress", "Sabretooth", "Siamese Cat", "Snow Bat", "Snow Leopard", "Sphinx", "Tiger", "Tigertaur", "Tigress Hooker", "Wildcat" } to infections of Felinelist;
Caninelist is a marker. [list of canine/lupine infections]
when play begins:
add { "Alpha Husky", "Alpha Wolf", "Ember Breeder", "Cerberus", "Chocolate Lab", "Coyote", "Dalmatian", "Doberman", "Female Husky", "Feral Wolf", "German Shepherd", "Jackalboy", "Jackalman", "Latex Wolf", "Painted Wolf Herm", "Pit bull", "Retriever", "Shemale Smooth Collie", "Werewolf Costume", "Wolftaur", "Wrestling Wolf" } to infections of Caninelist;
Equinelist is a marker. [list of equine infections]
when play begins:
add { "Black Equinoid", "Centaur Mare", "Centaur Stallion", "Horseman", "Mareslut", "Mutant Centaur", "Nightmare", "Pegasus", "Red Horse", "Stallionboi", "Unicorn", "Zebra" } to infections of Equinelist;
Vulpinelist is a marker. [list of vulpine infections]
when play begins:
add { "Arctic fox", "Clockwork Fox", "Hermaphrodite Latex Vixen", "Kitsune", "Latex Fox", "Vixen Nurse", "Vulpogryph" } to infections of Vulpinelist;
Reptilelist is a marker. [list of reptiles/snakes/dragons/dinosaurs/etc... infections]
when play begins:
add { "Dragon", "Dragoness", "Ebonflame Dragator", "Ebonflame drake", "Ebonflame Whelp", "Feral Sea Dragon", "Feral Sea Dragoness", "Horny Dragon", "Hydra Beast", "Lizard Girl", "Naga", "Reptaur", "Sewer Gator", "Sierrasaur", "Slutty Dragoness", "Snake", "Triceratops", "Wyvern", "Yamato Dragoness", "Yamato Dragoness" } to infections of Reptilelist;
Insectlist is a marker. [list of insectile/arachnid/bug infections]