Skip to content
Navigation Menu
{{ message }}
forked from DFHack/dfhack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMemory.xml
More file actions
3169 lines (3140 loc) · 174 KB
/
Copy pathMemory.xml
File metadata and controls
3169 lines (3140 loc) · 174 KB
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
<?xml version="1.0"?>
<DFHack>
<Base name="DF40d.xx">
<Offsets>
<Group name="vector" description="An STL vector.">
<HexValue name="sizeof" description="The total size in bytes." />
<Offset name="start" description="The offset where the actual start/end/alloc_end triplet is." />
</Group>
<Group name="string" description="An STL string.">
<HexValue name="sizeof" description="The total size in bytes." />
<Group name="MSVC">
<!--
MSVC++ 9 string
void * allocator
union
{
char[16] start;
char * start_ptr
}
Uint32 length
Uint32 capacity
-->
<Offset name="buffer" description="Where the buffer/pointer starts." />
<Offset name="size" description="Where the number of leters is stored (string length without 0-terminator)." />
<Offset name="capacity" description="Capacity of the buffer in letters (default=15)." />
</Group>
</Group>
<Group name="name" description="A structure used for names all over the place.">
<Offset name="first" description="Lowercase stl string with the first name. For ex. 'urist'" />
<Offset name="nick" description="Stl string with the nickname. Set by the player." />
<Offset name="second_words" description="Array of 7 indexes into the language vectors."/>
<Offset name="parts_of_speech" description="Array of 7 16-bit indexes into the language vectors."/>
<Offset name="language" description="Language of the name."/>
<Offset name="has_name" description="Boolean flag."/>
</Group>
</Offsets>
</Base>
<Version name="40d" base="DF40d.xx" os="windows">
<MD5 value="2c686c26307dcccd7c36cc79737ebe4f" />
<PETimeStamp value="0x48C330DF" />
<Offsets>
<Group name="vector">
<HexValue name="sizeof" value="0x10" />
<Offset name="start" value="0x4" />
<!--
Maybe (fits offsets):
Vector layout in MSVC 8:
DWORD Allocator?
DWORD Start
DWORD End
DWORD AllocationEnd
-->
</Group>
<Group name="string">
<HexValue name="sizeof" value="0x1C" />
<Group name="MSVC">
<Offset name="buffer" value="0x4" />
<Offset name="size" value="0x14" />
<Offset name="capacity" value="0x18" />
</Group>
</Group>
<Group name="name">
<Offset name="first" value="0x0" />
<Offset name="nick" value="0x1C" />
<Offset name="second_words" value="0x38" />
</Group>
</Offsets>
</Version>
<Base name="DF2010">
<Traits>
<Trait name="Nervousness" id="0" level_5="Is a nervous wreck" level_4="Is always tense and jittery" level_3="Is often nervous" level_2="Has a calm demeanor" level_1="Has a very calm demeanor" level_0="Has an incredibly calm demeanor" />
<Trait name="Rage" id="1" level_5="In a constant state of internal rage" level_4="Very quick to anger" level_3="Quick to anger" level_2="Slow to anger" level_1="Very slow to anger" level_0="Never becomes angry" />
<Trait name="Depression" id="2" level_5="Frequently depressed" level_4="Often sad and dejected" level_3="Often feels discouraged" level_2="Rarely feels discouraged" level_1="Almost never feels discouraged" level_0="Never feels discouraged" />
<Trait name="Neurosis" id="3" level_5="Socially crippled by thoughts that everyone is watching and judging" level_4="Concerned about rejection and ridicule" level_3="Self-conscious" level_2="Comfortable in social situations" level_1="Very comfortable in social situations" level_0="Absolutely unfazed by the opinions of others" />
<Trait name="Urge" id="4" level_5="Is ruled by irresistible cravings and urges" level_4="Feels strong urges and seeks short-term rewards" level_3="Occassionally overindulges" level_2="Doesn't often experience strong cravings or urges" level_1="Only rarely feels strong cravings or urges" level_0="Never feels tempted to overindulge in anything" />
<Trait name="Stress" id="5" level_5="Becomes completely helpless in stressful situations" level_4="Cracks easily under pressure" level_3="Doesn't handle stress well" level_2="Can handle stress" level_1="Confident under pressure" level_0="Impervious to the effects of stress" />
<Trait name="Friendly" id="6" level_5="Genuinely likes others, openly expresses positive feelings" level_4="Makes friends quickly" level_3="Very friendly" level_2="Somewhat reserved" level_1="Very distant and reserved" level_0="Does not actively seek friendships, incredibly distant and reserved" />
<Trait name="Company" id="7" level_5="Truly treasures the company of others" level_4="Enjoys being in crowds" level_3="Enjoys the company of others" level_2="Tends to avoid crowds" level_1="Prefers to be alone" level_0="Considers time alone much more important than associating with others" />
<Trait name="Leadership" id="8" level_5="Loves to take charge and direct activities" level_4="Very assertive" level_3="Assertive" level_2="Unassertive" level_1="Prefers that others handle the leadership roles" level_0="Never speaks out or attempts to direct activities" />
<Trait name="Activeness" id="9" level_5="Constantly active and energetic" level_4="Very energetic and active" level_3="Very active" level_2="Relaxed" level_1="Lives life at a leisurely pace" level_0="Can't be bothered with frantic, fast-paced living" />
<Trait name="Thrillseeking" id="10" level_5="Lives for risk and excitement" level_4="A risk-taker and a thrill-seeker" level_3="Loves a good thrill" level_2="Is not a risk-taker" level_1="Doesn't need thrills or risks in life" level_0="Entirely adverse to risk and excitement" />
<Trait name="Optimism" id="11" level_5="Often feels filled with joy" level_4="Can be very happy and optimistic" level_3="Often cheerful" level_2="Rarely happy or enthusiastic" level_1="A pessimist" level_0="Never optimistic or enthusiastic about anything" />
<Trait name="Imagination" id="12" level_5="Bored by reality and has a wonderful imagination" level_4="Incredibly creative" level_3="Has a fertile imagination" level_2="Isn't given to flights of fancy" level_1="Grounded in reality" level_0="Interested only in facts and the real world" />
<Trait name="Artistic" id="13" level_5="Can easily become absorbed in art and the beauty of the natural world" level_4="Greatly appreciates art and natural beauty" level_3="Appreciates art and natural beauty" level_2="Does not have a great aesthetic sensitivity" level_1="Not interested in art" level_0="Completely uninterested in art" />
<Trait name="Emotion" id="14" level_5="Has a profound understanding of own emotions" level_4="Has a great awareness of own emotions" level_3="Has a good awareness of own emotions" level_2="Tends not to openly express emotions" level_1="Mostly unaware of own emotions and rarely expresses them" level_0="Does not display own emotions and has no awareness of them" />
<Trait name="Adventure" id="15" level_5="Highly adventurous and loves fresh experiences" level_4="Eager for new experiences" level_3="Likes to try new things" level_2="Prefers familiar routines" level_1="Uncomfortable with change" level_0="Resistant to change" />
<Trait name="Thinking" id="16" level_5="Entranced by riddles and puzzles; loves to debate issues and ideas" level_4="Loves new and fresh ideas" level_3="Open-minded to new ideas" level_2="Dislikes intellectual discussions" level_1="Regards intellectual exercises as a waste of energy" level_0="Completely uninterested in ideas and debates over intellectual issues" />
<Trait name="Rebelliousness" id="17" level_5="Revels in chaos and disorder" level_4="Loves to defy convention" level_3="Put off by authority and tradition" level_2="Admires tradition" level_1="Prefers stability and security to ambiguity and disorder" level_0="An ardent believer in convention and traditional society" />
<Trait name="Trusting" id="18" level_5="Naturally trustful of everybody" level_4="Very trusting" level_3="Trusting" level_2="Slow to trust others" level_1="Does not trust others" level_0="Sees others as selfish and conniving" />
<Trait name="Honesty" id="19" level_5="Incredibly frank and candid in dealings with others" level_4="Very straightforward with others" level_3="Candid and sincere in dealings with others" level_2="Guarded in relationships with others" level_1="Not straightforward when dealing with others" level_0="Believes that some deception is necessary in relationships with others" />
<Trait name="Helpfulness" id="20" level_5="Truly fulfilled by assisting those in need" level_4="Finds helping others very rewarding" level_3="Finds helping others rewarding" level_2="Does not go out of own way to help others" level_1="Dislikes helping others" level_0="Views helping others as an imposition on own needs" />
<Trait name="Compromising" id="21" level_5="Sacrifices own needs to get along with others" level_4="Dislikes confrontations" level_3="Willing to compromise with others" level_2="Doesn't like to compromise with others" level_1="Would rather intimidate others than compromise with them" level_0="Would never deny own needs just to compromise with somebody else" />
<Trait name="Modesty" id="22" level_5="Would never claim to be better than somebody else" level_4="Finds immodesty distasteful" level_3="Modest" level_2="Immodest" level_1="Very willing to compare self favorably with others" level_0="Would never shy away from an opportunity to say they are better than somebody else" />
<Trait name="Compassion" id="23" level_5="Incredibly compassionate and feels the pain of others" level_4="Easily moved to pity" level_3="Compassionate" level_2="Not easily moved to pity" level_1="Not affected by the suffering of others" level_0="Would never let an objective judgement be tempered by mercy or pity" />
<Trait name="Confidence" id="24" level_5="Incredibly confident" level_4="Very confident" level_3="Confident" level_2="Lacks confidence" level_1="Does not feel effective in life" level_0="Always feels as if they are not in control of own life" />
<Trait name="Organization" id="25" level_5="Loves to make lists and keep schedules" level_4="Tries to live a well-organized life" level_3="Organized" level_2="Disorganized" level_1="Very disorganized" level_0="Completely disorganized" />
<Trait name="Lawfulness" id="26" level_5="Has a profound sense of duty and obligation" level_4="Has a strong sense of duty" level_3="Has a sense of duty" level_2="Finds rules confining" level_1="Dislikes contracts and regulations" level_0="Hates rules, contracts and other confining elements in own life" />
<Trait name="Excellence" id="27" level_5="Constantly strives for perfection" level_4="Thinks it is incredibly important to strive for excellence" level_3="Strives for excellence" level_2="Doesn't go out of own way to do more work than necessary" level_1="Very rarely does more work than necessary" level_0="Does the bare minimum necessary to accomplish the task at hand" />
<Trait name="Perseverance" id="28" level_5="Will persist in the face of any difficulty until the task is complete" level_4="Possesses great willpower" level_3="Is self-disciplined" level_2="Is occasionally given to procrastination" level_1="Has very little self-discipline" level_0="Rarely completes tasks and is often overcome by distractions" />
<Trait name="Cautiousness" id="29" level_5="Thinks through every alternative and their consequences before acting" level_4="Extremely cautious" level_3="Takes time when making decisions" level_2="Often does the first thing that comes to mind" level_1="Acts impulsively" level_0="Always acts without considering alternatives or thinking through possibilities" />
</Traits>
<Moods>
<Mood id="0" name="Fey"/>
<Mood id="1" name="Secretive"/>
<Mood id="2" name="Possesed"/>
<Mood id="3" name="Macabre"/>
<Mood id="4" name="Fell"/>
<Mood id="5" name="Melancholy"/>
</Moods>
<Professions>
<Profession name="MINER" id="0" military="false" can_assign_labors="true" />
<Profession name="WOODWORKER" id="1" military="false" can_assign_labors="true" />
<Profession name="CARPENTER" id="2" military="false" can_assign_labors="true" />
<Profession name="BOWYER" id="3" military="false" can_assign_labors="true" />
<Profession name="WOODCUTTER" id="4" military="false" can_assign_labors="true" />
<Profession name="STONEWORKER" id="5" military="false" can_assign_labors="true" />
<Profession name="ENGRAVER" id="6" military="false" can_assign_labors="true" />
<Profession name="MASON" id="7" military="false" can_assign_labors="true" />
<Profession name="RANGER" id="8" military="false" can_assign_labors="true" />
<Profession name="ANIMAL_CARETAKER" id="9" military="false" can_assign_labors="true" />
<Profession name="ANIMAL_TRAINER" id="10" military="false" can_assign_labors="true" />
<Profession name="HUNTER" id="11" military="false" can_assign_labors="true" />
<Profession name="TRAPPER" id="12" military="false" can_assign_labors="true" />
<Profession name="ANIMAL_DISSECTOR" id="13" military="false" can_assign_labors="true" />
<Profession name="METALSMITH" id="14" military="false" can_assign_labors="true" />
<Profession name="FURNACE_OPERATOR" id="15" military="false" can_assign_labors="true" />
<Profession name="WEAPONSMITH" id="16" military="false" can_assign_labors="true" />
<Profession name="ARMORER" id="17" military="false" can_assign_labors="true" />
<Profession name="BLACKSMITH" id="18" military="false" can_assign_labors="true" />
<Profession name="METALCRAFTER" id="19" military="false" can_assign_labors="true" />
<Profession name="JEWELER" id="20" military="false" can_assign_labors="true" />
<Profession name="GEM_CUTTER" id="21" military="false" can_assign_labors="true" />
<Profession name="GEM_SETTER" id="22" military="false" can_assign_labors="true" />
<Profession name="CRAFTSMAN" id="23" military="false" can_assign_labors="true" />
<Profession name="WOODCRAFTER" id="24" military="false" can_assign_labors="true" />
<Profession name="STONECRAFTER" id="25" military="false" can_assign_labors="true" />
<Profession name="LEATHERWORKER" id="26" military="false" can_assign_labors="true" />
<Profession name="BONE_CARVER" id="27" military="false" can_assign_labors="true" />
<Profession name="WEAVER" id="28" military="false" can_assign_labors="true" />
<Profession name="CLOTHIER" id="29" military="false" can_assign_labors="true" />
<Profession name="GLASSMAKER" id="30" military="false" can_assign_labors="true" />
<Profession name="STRAND_EXTRACTOR" id="31" military="false" can_assign_labors="true" />
<Profession name="FISHERY_WORKER" id="32" military="false" can_assign_labors="true" />
<Profession name="FISHERMAN" id="33" military="false" can_assign_labors="true" />
<Profession name="FISH_DISSECTOR" id="34" military="false" can_assign_labors="true" />
<Profession name="FISH_CLEANER" id="35" military="false" can_assign_labors="true" />
<Profession name="FARMER" id="36" military="false" can_assign_labors="true" />
<Profession name="CHEESE_MAKER" id="37" military="false" can_assign_labors="true" />
<Profession name="MILKER" id="38" military="false" can_assign_labors="true" />
<Profession name="COOK" id="39" military="false" can_assign_labors="true" />
<Profession name="THRESHER" id="40" military="false" can_assign_labors="true" />
<Profession name="MILLER" id="41" military="false" can_assign_labors="true" />
<Profession name="BUTCHER" id="42" military="false" can_assign_labors="true" />
<Profession name="TANNER" id="43" military="false" can_assign_labors="true" />
<Profession name="DYER" id="44" military="false" can_assign_labors="true" />
<Profession name="PLANTER" id="45" military="false" can_assign_labors="true" />
<Profession name="HERBALIST" id="46" military="false" can_assign_labors="true" />
<Profession name="BREWER" id="47" military="false" can_assign_labors="true" />
<Profession name="SOAP_MAKER" id="48" military="false" can_assign_labors="true" />
<Profession name="POTASH_MAKER" id="49" military="false" can_assign_labors="true" />
<Profession name="LYE_MAKER" id="50" military="false" can_assign_labors="true" />
<Profession name="WOOD_BURNER" id="51" military="false" can_assign_labors="true" />
<Profession name="ENGINEER" id="52" military="false" can_assign_labors="true" />
<Profession name="MECHANIC" id="53" military="false" can_assign_labors="true" />
<Profession name="SIEGE_ENGINEER" id="54" military="false" can_assign_labors="true" />
<Profession name="SIEGE_OPERATOR" id="55" military="false" can_assign_labors="true" />
<Profession name="PUMP_OPERATOR" id="56" military="false" can_assign_labors="true" />
<Profession name="CLERK" id="57" military="false" can_assign_labors="true" />
<Profession name="ADMINISTRATOR" id="58" military="false" can_assign_labors="true" />
<Profession name="TRADER" id="59" military="false" can_assign_labors="true" />
<Profession name="ARCHITECT" id="60" military="false" can_assign_labors="true" />
<Profession name="ALCHEMIST" id="61" military="false" can_assign_labors="true" />
<Profession name="DOCTOR" id="62" military="false" can_assign_labors="true" />
<Profession name="DIAGNOSER" id="63" military="false" can_assign_labors="true" />
<Profession name="BONE_SETTER" id="64" military="false" can_assign_labors="true" />
<Profession name="SUTURER" id="65" military="false" can_assign_labors="true" />
<Profession name="SURGEON" id="66" military="false" can_assign_labors="true" />
<Profession name="MERCHANT" id="67" military="false" can_assign_labors="true" />
<Profession name="HAMMERMAN" id="68" military="true" can_assign_labors="true" />
<Profession name="MASTER_HAMMERMAN" id="69" military="true" can_assign_labors="true" />
<Profession name="SPEARMAN" id="70" military="true" can_assign_labors="true" />
<Profession name="MASTER_SPEARMAN" id="71" military="true" can_assign_labors="true" />
<Profession name="CROSSBOWMAN" id="72" military="true" can_assign_labors="true" />
<Profession name="MASTER_CROSSBOWMAN" id="73" military="true" can_assign_labors="true" />
<Profession name="WRESTLER" id="74" military="true" can_assign_labors="true" />
<Profession name="MASTER_WRESTLER" id="75" military="true" can_assign_labors="true" />
<Profession name="AXEMAN" id="76" military="true" can_assign_labors="true" />
<Profession name="MASTER_AXEMAN" id="77" military="true" can_assign_labors="true" />
<Profession name="SWORDSMAN" id="78" military="true" can_assign_labors="true" />
<Profession name="MASTER_SWORDSMAN" id="79" military="true" can_assign_labors="true" />
<Profession name="MACEMAN" id="80" military="true" can_assign_labors="true" />
<Profession name="MASTER_MACEMAN" id="81" military="true" can_assign_labors="true" />
<Profession name="PIKEMAN" id="82" military="true" can_assign_labors="true" />
<Profession name="MASTER_PIKEMAN" id="83" military="true" can_assign_labors="true" />
<Profession name="BOWMAN" id="84" military="true" can_assign_labors="true" />
<Profession name="MASTER_BOWMAN" id="85" military="true" can_assign_labors="true" />
<Profession name="BLOWGUNMAN" id="86" military="true" can_assign_labors="true" />
<Profession name="MASTER_BLOWGUNMAN" id="87" military="true" can_assign_labors="true" />
<Profession name="LASHER" id="88" military="true" can_assign_labors="true" />
<Profession name="MASTER_LASHER" id="89" military="true" can_assign_labors="true" />
<Profession name="RECRUIT" id="90" military="true" can_assign_labors="true" />
<Profession name="TRAINED_HUNTER" id="91" military="false" can_assign_labors="true" />
<Profession name="TRAINED_WAR" id="92" military="false" can_assign_labors="true" />
<Profession name="MASTER_THIEF" id="93" military="false" can_assign_labors="true" />
<Profession name="THIEF" id="94" military="false" can_assign_labors="true" />
<Profession name="STANDARD" id="95" military="false" can_assign_labors="true" />
<Profession name="CHILD" id="96" military="false" can_assign_labors="false" />
<Profession name="BABY" id="97" military="false" can_assign_labors="false" />
<Profession name="DRUNK" id="98" military="false" can_assign_labors="false" />
<Profession name="Shearer" id="99" military="false" can_assign_labors="true" />
<Profession name="Spinner" id="100" military="false" can_assign_labors="true" />
<Profession name="Potter" id="101" military="false" can_assign_labors="true" />
<Profession name="Glazer" id="102" military="false" can_assign_labors="true" />
<Profession name="Presser" id="103" military="false" can_assign_labors="true" />
<Profession name="BEE_KEEPER" id="104" military="false" can_assign_labors="true" />
<Profession name="WAX_WORKER" id="105" military="false" can_assign_labors="true" />
</Professions>
<Jobs>
<Job id="0" name = "Carve Fortification" />
<Job id="1" name = "Detail Wall" />
<Job id="2" name = "Detail Floor" />
<Job id="3" name = "Dig" />
<Job id="4" name = "Carve Upward Staircase" />
<Job id="5" name = "Carve Downward Staircase" />
<Job id="6" name = "Carve Up/Down Staircase" />
<Job id="7" name = "Carve Ramp" />
<Job id="8" name = "Dig Channel" />
<Job id="9" name = "Fell Tree" />
<Job id="10" name = "Gather Plants" />
<Job id="11" name = "Remove Construction" />
<Job id="12" name = "Collect Webs" />
<Job id="13" name = "Bring Item to Depot" />
<Job id="14" name = "Bring Item to Shop" />
<Job id="15" name = "Eat" />
<Job id="16" name = "Get Provisions" />
<Job id="17" name = "Drink" />
<Job id="18" name = "Drink" />
<Job id="19" name = "Fill Waterskin" />
<Job id="20" name = "Fill Waterskin" />
<Job id="21" name = "Sleep" />
<Job id="22" name = "Collect Sand" />
<Job id="23" name = "Fish" />
<Job id="24" name = "Hunt" />
<Job id="25" name = "Hunt for Small Creature" />
<Job id="26" name = "Kidnap" />
<Job id="27" name = "Beat Criminal" />
<Job id="28" name = "Starting Fist Fight" />
<Job id="29" name = "Collect Taxes" />
<Job id="30" name = "Guard Tax Collector" />
<Job id="31" name = "Catch Live Land Animal" />
<Job id="32" name = "Catch Live Fish" />
<Job id="33" name = "Return Kill" />
<Job id="34" name = "Check Chesk" />
<Job id="35" name = "Store Owned Item" />
<Job id="36" name = "Place Item in Tomb" />
<Job id="37" name = "Store Item in Stockpile" />
<Job id="38" name = "Store Item in Bag" />
<Job id="39" name = "Store Item in Hospital" />
<Job id="40" name = "Store Item in Chest" />
<Job id="41" name = "Store Item in Cabinet" />
<Job id="42" name = "Store Weapon" />
<Job id="43" name = "Store Armor" />
<Job id="44" name = "Store Item in Barrel" />
<Job id="45" name = "Store Item in Bin" />
<Job id="46" name = "Seek Artifact" />
<Job id="47" name = "Seek Infant" />
<Job id="48" name = "Attend Party" />
<Job id="49" name = "Go Shopping" />
<Job id="50" name = "Go Shopping" />
<Job id="51" name = "Clean" />
<Job id="52" name = "Rest" />
<Job id="53" name = "Pickup Equipment" />
<Job id="54" name = "Dump Item" />
<Job id="55" name = "Strange Mood Crafter" />
<Job id="56" name = "Strange Mood Jeweller" />
<Job id="57" name = "Strange Mood Forge" />
<Job id="58" name = "Strange Mood Magma Forge" />
<Job id="59" name = "Strange Mood Brooding" />
<Job id="60" name = "Strange Mood Fell" />
<Job id="61" name = "Strange Mood Carpenter" />
<Job id="62" name = "Strange Mood Mason" />
<Job id="63" name = "Strange Mood Bowyer" />
<Job id="64" name = "Strange Mood Tanner" />
<Job id="65" name = "Strange Mood Weaver" />
<Job id="66" name = "Strange Mood Glassmaker" />
<Job id="67" name = "Strange Mood Mechanics" />
<Job id="68" name = "Construct Building" />
<Job id="69" name = "Construct Door" />
<Job id="70" name = "Construct Floodgate" />
<Job id="71" name = "Construct ?? Bed" />
<Job id="72" name = "Construct ?? Throne" />
<Job id="73" name = "Construct ?? Casket/Sarcophagus/Coffin" />
<Job id="74" name = "Construct ?? Table" />
<Job id="75" name = "Construct ?? Container" />
<Job id="76" name = "Construct ?? Bin" />
<Job id="77" name = "Construct ?? Armor Stand" />
<Job id="78" name = "Construct ?? Weapon Rack" />
<Job id="79" name = "Construct ?? Cabinet" />
<Job id="80" name = "Construct ?? Statue" />
<Job id="81" name = "Construct ?? Blocks" />
<Job id="82" name = "Make Raw ??" />
<Job id="83" name = "Make ?? Crafts" />
<Job id="84" name = "Mint ?? Coins" />
<Job id="85" name = "Cut ?A?" />
<Job id="86" name = "Cut crystal(?) glass(?)" />
<Job id="87" name = "Encrust ?something? with ?somethings?" />
<Job id="88" name = "Encrust ?something? with ?somethings?" />
<Job id="89" name = "Destroy Building" />
<Job id="90" name = "Smelt ?? Ore" />
<Job id="91" name = "Melt a Metal Object" />
<Job id="92" name = "Extract Metal Strands" />
<Job id="93" name = "Plant Seeds" />
<Job id="94" name = "Harvest Plants" />
<Job id="95" name = "Train Hunting Animal" />
<Job id="96" name = "Train War Animal" />
<Job id="97" name = "Forge ?? Short Sword" />
<Job id="98" name = "(Job-Id 98)" />
<Job id="99" name = "Construct Catapult Parts" />
<Job id="100" name = "Forge Anvil" />
<Job id="101" name = "Construct Catapult Parts" />
<Job id="102" name = "Forge Helm" />
<Job id="103" name = "Forge Leggings" />
<Job id="104" name = "Stud with ?something?" />
<Job id="105" name = "Butcher an Animal" />
<Job id="106" name = "Prepare a Raw Fish" />
<Job id="107" name = "Mill Plants" />
<Job id="108" name = "Bait Trap with Meat/Gem/Fish" />
<Job id="109" name = "Milk Creature" />
<Job id="110" name = "Make Cheese" />
<Job id="111" name = "Process Plants" />
<Job id="112" name = "Process Plants (Bag)" />
<Job id="113" name = "Process Plants (Vial)" />
<Job id="114" name = "Process Plants (Barrel)" />
<Job id="115" name = "Prepare Meal" />
<Job id="116" name = "Weave ?? into ??" />
<Job id="117" name = "Forge Gauntlet" />
<Job id="118" name = "Forge High Boot" />
<Job id="119" name = "Forge Shield" />
<Job id="120" name = "Forge Cage" />
<Job id="121" name = "Forge/Make F" />
<Job id="122" name = "Forge/Make Waterskin/Vial/Flask" />
<Job id="123" name = "Forge Rope" />
<Job id="124" name = "Forge Flask" />
<Job id="125" name = "Forge Goblet" />
<Job id="126" name = "Forge Instrument" />
<Job id="127" name = "Make Barrel" /> <!-- Was: Forge Toy -->
<Job id="128" name = "Forge Animal Trap" />
<Job id="129" name = "Forge Barrel" />
<Job id="130" name = "Make Totel" />
<Job id="131" name = "Forge Bolts" />
<Job id="132" name = "Decorate With ?something?" />
<Job id="133" name = "Forge/Make G" />
<Job id="134" name = "Make leather quiver" />
<Job id="135" name = "Make Backpack" />
<Job id="136" name = "Make Quiver" />
<Job id="137" name = "Load Catapult" />
<Job id="138" name = "Load Ballista" />
<Job id="139" name = "Fire Catapult" />
<Job id="140" name = "Fire Ballista" />
<Job id="141" name = "Construct Mechanisms" />
<Job id="142" name = "Forge Trap Weapon" /> <!-- spiked ball, serrated disk etc.-->
<Job id="143" name = "Load Cage Trap" />
<Job id="144" name = "Load Stone Trap" />
<Job id="145" name = "Load Weapon Trap" />
<Job id="146" name = "Clean Trap" />
<Job id="147" name = "Cast Spell" />
<Job id="148" name = "Link a Building to Trigger" />
<Job id="149" name = "Pull the Lever" />
<Job id="150" name = "Brew Drink" />
<Job id="151" name = "Extract from Plants" />
<Job id="152" name = "Extract from Raw Fish" />
<Job id="153" name = "Extract from Land Animal" />
<Job id="154" name = "Tame Small Animal" />
<Job id="155" name = "Tame ?something?" />
<Job id="156" name = "Chain Animal" />
<Job id="157" name = "Unchain Animal" />
<Job id="158" name = "Unchain Pet" />
<Job id="159" name = "Release Large Creature" />
<Job id="160" name = "Release Pet" />
<Job id="161" name = "Release Small Creature" />
<Job id="162" name = "Handle Small Creature" />
<Job id="163" name = "Handle Large Creature" />
<Job id="164" name = "Cage Large Creature" />
<Job id="165" name = "Cage Small Creature" />
<Job id="166" name = "Recover Wounded" />
<Job id="167" name = "Diagnose Patient" />
<Job id="168" name = "Immobilize Break" />
<Job id="169" name = "Dress Wound" />
<Job id="170" name = "Clean Patient" />
<Job id="171" name = "Surgery" />
<Job id="172" name = "Suture" />
<Job id="173" name = "Set Bone" />
<Job id="174" name = "Place In Traction" />
<Job id="175" name = "Drain Aquarium" />
<Job id="176" name = "Fill Aquarium" />
<Job id="177" name = "Fill Pond" />
<Job id="178" name = "Give Water" />
<Job id="179" name = "Give Food" />
<Job id="180" name = "Give Water" />
<Job id="181" name = "Give Food" />
<Job id="182" name = "Recover Pet" />
<Job id="183" name = "Pit/Pond Large Animal" />
<Job id="184" name = "Pit/Pond Small Animal" />
<Job id="185" name = "Slaughter Animal" />
<Job id="186" name = "Make Charcoal" />
<Job id="187" name = "Make Ash" />
<Job id="188" name = "Make Lye" />
<Job id="189" name = "Make Potash From Lye" />
<Job id="190" name = "Fertilize Field" />
<Job id="191" name = "Make Potash From Ash" />
<Job id="192" name = "Dye Thread" />
<Job id="193" name = "Dye Cloth" />
<Job id="194" name = "Sew ?? Image" />
<Job id="195" name = "Manage Work Orders" />
<Job id="196" name = "Operate Pump" />
<Job id="197" name = "Manage Work Orders" />
<Job id="198" name = "Update Stockpile Records" />
<Job id="199" name = "Trade at Depot" />
<Job id="200" name = "Construct ?? Hatch Cover" />
<Job id="201" name = "Construct ?? Grate" />
<Job id="202" name = "Remove Stairs/Ramps" />
<Job id="203" name = "Construct ?? Quern" />
<Job id="205" name = "Upgrade Squad Equipment" />
<Job id="206" name = "Prepare Equipment Manifests" />
<Job id="207" name = "Construct ?? Splint" />
<Job id="208" name = "Construct ?? Crutch" />
<Job id="209" name = "Construct Traction Bench" />
<Job id="210" name = "Clean Self" />
<Job id="211" name = "Bring Crutch" />
<Job id="212" name = "Apply Cast" />
<Job id="213" name = "Render Fat/Tan a Hide/Make Soap" /> <!-- Confirmed: This ID shares multiple jobs -->
<Job id="214" name = "Unknown Job" />
<Job id="215" name = "Unknown Job" />
<Job id="216" name = "Shear Creature" />
<Job id="217" name = "Spin Thread" />
<Job id="218" name = "Pen/Pasture Large Animal" />
<Job id="219" name = "Pen/Pasture Small Animal" />
<Job id="220" name = "Unknown Job" />
<Job id="221" name = "Forge Tool" />
<Job id="222" name = "Collect Clay" />
<Job id="223" name = "Install Colony In Hive" />
<Job id="224" name = "Collect Hive Products" />
</Jobs>
<Skills>
<Skill name="Mining" id="0" />
<Skill name="Wood Cutting" id="1" />
<Skill name="Carpentry" id="2" />
<Skill name="Engraving" id="3" />
<Skill name="Masonry" id="4" />
<Skill name="Animal Training" id="5" />
<Skill name="Animal Caretaking" id="6" />
<Skill name="Fish Dissection" id="7" />
<Skill name="Animal Dissection" id="8" />
<Skill name="Fish Cleaning" id="9" />
<Skill name="Butchery" id="10" />
<Skill name="Trapping" id="11" />
<Skill name="Tanning" id="12" />
<Skill name="Weaving" id="13" />
<Skill name="Brewing" id="14" />
<Skill name="Alchemy" id="15" />
<Skill name="Clothes Making" id="16" />
<Skill name="Milling" id="17" />
<Skill name="Threshing" id="18" />
<Skill name="Cheese Making" id="19" />
<Skill name="Milking" id="20" />
<Skill name="Cooking" id="21" />
<Skill name="Growing" id="22" />
<Skill name="Herbalism" id="23" />
<Skill name="Fishing" id="24" />
<Skill name="Furnace Operation" id="25" />
<Skill name="Strand Extraction" id="26" />
<Skill name="Weaponsmithing" id="27" />
<Skill name="Armorsmithing" id="28" />
<Skill name="Metalsmithing" id="29" />
<Skill name="Gem Cutting" id="30" />
<Skill name="Gem Setting" id="31" />
<Skill name="Wood Crafting" id="32" />
<Skill name="Stone Crafting" id="33" />
<Skill name="Metal Crafting" id="34" />
<Skill name="Glassmaking" id="35" />
<Skill name="Leatherworkering" id="36" />
<Skill name="Bone Carving" id="37" />
<Skill name="Axe" id="38" />
<Skill name="Sword" id="39" />
<Skill name="Knife" id="40" />
<Skill name="Mace" id="41" />
<Skill name="Hammer" id="42" />
<Skill name="Spear" id="43" />
<Skill name="Crossbow" id="44" />
<Skill name="Shield" id="45" />
<Skill name="Armor" id="46" />
<Skill name="Siege Engineering" id="47" />
<Skill name="Siege Operation" id="48" />
<Skill name="Bowmaking" id="49" />
<Skill name="Pike" id="50" />
<Skill name="Lash" id="51" />
<Skill name="Bow" id="52" />
<Skill name="Blowgun" id="53" />
<Skill name="Throwing" id="54" />
<Skill name="Machinery" id="55" />
<Skill name="Nature" id="56" />
<Skill name="Ambush" id="57" />
<Skill name="Building Design" id="58" />
<Skill name="Wound Dressing" id="59" />
<Skill name="Diagnostics" id="60" />
<Skill name="Surgery" id="61" />
<Skill name="Bone Setting" id="62" />
<Skill name="Suturing" id="63" />
<Skill name="Crutch-walking" id="64" />
<Skill name="Wood Burning" id="65" />
<Skill name="Lye Making" id="66" />
<Skill name="Soap Making" id="67" />
<Skill name="Potash Making" id="68" />
<Skill name="Dyeing" id="69" />
<Skill name="Pump Operation" id="70" />
<Skill name="Swimming" id="71" />
<Skill name="Persuasion" id="72" />
<Skill name="Negotiation" id="73" />
<Skill name="Judging Intent" id="74" />
<Skill name="Appraisal" id="75" />
<Skill name="Organization" id="76" />
<Skill name="Record Keeping" id="77" />
<Skill name="Lying" id="78" />
<Skill name="Intimidation" id="79" />
<Skill name="Conversation" id="80" />
<Skill name="Comedy" id="81" />
<Skill name="Flattery" id="82" />
<Skill name="Consoling" id="83" />
<Skill name="Pacification" id="84" />
<Skill name="Tracking" id="85" />
<Skill name="Studying" id="86" />
<Skill name="Concentration" id="87" />
<Skill name="Discipline" id="88" />
<Skill name="Observation" id="89" />
<Skill name="Writing" id="90" />
<Skill name="Prose" id="91" />
<Skill name="Poetry" id="92" />
<Skill name="Reading" id="93" />
<Skill name="Speaking" id="94" />
<Skill name="Coordination" id="95" />
<Skill name="Balance" id="96" />
<Skill name="Leadership" id="97" />
<Skill name="Teaching" id="98" />
<Skill name="Fighting" id="99" />
<Skill name="Archery" id="100" />
<Skill name="Wrestling" id="101" />
<Skill name="Biting" id="102" />
<Skill name="Striking" id="103" />
<Skill name="Kicking" id="104" />
<Skill name="Dodging" id="105" />
<Skill name="Misc. Object" id="106" />
<Skill name="Knapping" id="107" />
<Skill name="Something Weird" id="108" />
<Skill name="Shearing" id="109" />
<Skill name="Wool Spinning" id="110" />
<Skill name="Pottery" id="111" />
<Skill name="Glazing" id="112" />
<Skill name="Press Operation" id="113" />
<Skill name="Bee Keeping" id="114" />
<Skill name="Wax Working" id="115" />
</Skills>
<Levels>
<Level id="0" name="Dabbling" xpNxtLvl="500"/>
<Level id="1" name="Novice" xpNxtLvl="600"/>
<Level id="2" name="Adequate" xpNxtLvl="700"/>
<Level id="3" name="Competent" xpNxtLvl="800"/>
<Level id="4" name="Skilled" xpNxtLvl="900"/>
<Level id="5" name="Proficient" xpNxtLvl="1000"/>
<Level id="6" name="Talented" xpNxtLvl="1100"/>
<Level id="7" name="Adept" xpNxtLvl="1200"/>
<Level id="8" name="Expert" xpNxtLvl="1300"/>
<Level id="9" name="Professional" xpNxtLvl="1400"/>
<Level id="10" name="Accomplished" xpNxtLvl="1500"/>
<Level id="11" name="Great" xpNxtLvl="1600"/>
<Level id="12" name="Master" xpNxtLvl="1700"/>
<Level id="13" name="High Master" xpNxtLvl="1800"/>
<Level id="14" name="Grand Master" xpNxtLvl="1900"/>
<Level id="15" name="Legendary" xpNxtLvl="2000"/>
<Level id="16" name="Legendary+1" xpNxtLvl="2100"/>
<Level id="17" name="Legendary+2" xpNxtLvl="2200"/>
<Level id="18" name="Legendary+3" xpNxtLvl="2300"/>
<Level id="19" name="Legendary+4" xpNxtLvl="2400"/>
<Level id="20" name="Legendary+5" xpNxtLvl="-1"/><!-- -1 for no cap -->
</Levels>
<Labors>
<Labor name="Mining" id="0" />
<Labor name="Stone Hauling" id="1" />
<Labor name="Wood Hauling" id="2" />
<Labor name="Burial" id="3" />
<Labor name="Food Hauling" id="4" />
<Labor name="Refuse Hauling" id="5" />
<Labor name="Item Hauling" id="6" />
<Labor name="Furniture Hauling" id="7" />
<Labor name="Animal Hauling" id="8" />
<Labor name="Cleaning" id="9" />
<Labor name="Wood Cutting" id="10" />
<Labor name="Carpentry" id="11" />
<Labor name="Stone Detailing" id="12" />
<Labor name="Masonry" id="13" />
<Labor name="Architecture" id="14" />
<Labor name="Animal Training" id="15" />
<Labor name="Animal Care" id="16" />
<Labor name="Diagnosis" id="17" />
<Labor name="Surgery" id="18" />
<Labor name="Setting Bones" id="19" />
<Labor name="Suturing" id="20" />
<Labor name="Dressing Wounds" id="21" />
<Labor name="Feed Patients/Prisoners" id="22" />
<Labor name="Recovering Wounded" id="23" />
<Labor name="Butchery" id="24" />
<Labor name="Trapping" id="25" />
<Labor name="Small Animal Dissection" id="26" />
<Labor name="Leatherworking" id="27" />
<Labor name="Tanning" id="28" />
<Labor name="Brewing" id="29" />
<Labor name="Alchemy" id="30" />
<Labor name="Soap Maker" id="31" />
<Labor name="Weaving" id="32" />
<Labor name="Clothesmaking" id="33" />
<Labor name="Milling" id="34" />
<Labor name="Plant Processing" id="35" />
<Labor name="Cheese Making" id="36" />
<Labor name="Milking" id="37" />
<Labor name="Cooking" id="38" />
<Labor name="Farming (Fields)" id="39" />
<Labor name="Plant Gathering" id="40" />
<Labor name="Fishing" id="41" />
<Labor name="Fish Cleaning" id="42" />
<Labor name="Fish Dissection" id="43" />
<Labor name="Hunting" id="44" />
<Labor name="Furnace Operating" id="45" />
<Labor name="Weaponsmithing" id="46" />
<Labor name="Armoring" id="47" />
<Labor name="Blacksmithing" id="48" />
<Labor name="Metalcrafting" id="49" />
<Labor name="Gem Cutting" id="50" />
<Labor name="Gem Setting" id="51" />
<Labor name="Woodcrafting" id="52" />
<Labor name="Stonecrafting" id="53" />
<Labor name="Bone Carving" id="54" />
<Labor name="Glassmaking" id="55" />
<Labor name="Strand Extraction" id="56" />
<Labor name="Siege Engineering" id="57" />
<Labor name="Siege Operating" id="58" />
<Labor name="Crossbow-making" id="59" />
<Labor name="Mechanics" id="60" />
<Labor name="Potash Making" id="61" />
<Labor name="Lye Making" id="62" />
<Labor name="Dyeing" id="63" />
<Labor name="Wood Burning" id="64" />
<Labor name="Pump Operating" id="65" />
<Labor name="Shearing" id="66" />
<Labor name="Spinning" id="67" />
<Labor name="Pottery" id="68" />
<Labor name="Glazing" id="69" />
<Labor name="Pressing" id="70" />
<Labor name="Bee Keeping" id="71" />
<Labor name="Wax Working" id="72" />
</Labors>
<!-- I want to remove this section ~px -->
<VTable>
<multiclass name="building_trapst">
<class name="building_leverst" type="0x0"/>
<class name="building_pressure_platest" type="0x1"/>
<class name="building_cage_trapst" type="0x2"/>
<class name="building_stonefall_trapst" type="0x3"/>
<class name="building_weapon_trapst" type="0x4"/>
</multiclass>
<class name="building_constructionst"/>
<class name="building_road_pavedst"/>
<class name="building_road_dirtst"/>
<class name="building_roadst"/>
<class name="building_wagonst"/>
<class name="building_tradedepotst"/>
<multiclass name="building_workshopst">
<class name="building_carpenters_workshopst" type="0x0"/>
<class name="building_farmers_workshopst" type="0x1"/>
<class name="building_masons_workshopst" type="0x2"/>
<class name="building_craftdwarfs_workshopst" type="0x3"/>
<class name="building_jewelers_workshopst" type="0x4"/>
<class name="building_metalsmiths_workshopst" type="0x5"/>
<class name="building_magma_forgest" type="0x6"/>
<class name="building_bowyers_workshopst" type="0x7"/>
<class name="building_mechanics_workshopst" type="0x8"/>
<class name="building_siege_workshopst" type="0x9"/>
<class name="building_butchers_shopst" type="0xA"/>
<class name="building_leather_worksst" type="0xB"/>
<class name="building_tanners_shopst" type="0xC"/>
<class name="building_clothiers_shopst" type="0xD"/>
<class name="building_fisheryst" type="0xE"/>
<class name="building_stillst" type="0xF"/>
<class name="building_loomst" type="0x10"/>
<class name="building_quernst" type="0x11"/>
<class name="building_kennelsst" type="0x12"/>
<class name="building_kitchenst" type="0x13"/>
<class name="building_asheryst" type="0x14"/>
<class name="building_dyers_shopst" type="0x15"/>
<class name="building_millstonest" type="0x16"/>
<class name="building_custom_workshop" type="0x17" />
</multiclass>
<multiclass name="building_furnacest">
<class name="building_wood_furnacest" type="0x0"/>
<class name="building_smelterst" type="0x1"/>
<class name="building_glass_furnacest" type="0x2"/>
<class name="building_kilnst" type="0x3"/>
<class name="building_magma_smelterst" type="0x4"/>
<class name="building_magma_glass_furnacest" type="0x5"/>
<class name="building_magma_kilnst" type="0x6"/>
</multiclass>
<class name="building_animaltrapst"/>
<class name="building_farmplotst"/>
<class name="building_window_glassst"/>
<class name="building_window_gemst"/>
<class name="building_windowst"/>
<class name="building_statuest"/>
<class name="building_coffinst"/>
<class name="building_shopst"/>
<class name="building_chairst"/>
<class name="building_tablest"/>
<class name="building_bedst"/>
<class name="building_traction_benchst"/>
<multiclass name="building_siegeenginest">
<class name="building_catapultst" type="0x0"/>
<class name="building_ballistast" type="0x1"/>
</multiclass>
<class name="building_cagest"/>
<class name="building_chainst"/>
<class name="building_windmillst"/>
<class name="building_water_wheelst"/>
<class name="building_screw_pumpst"/>
<class name="building_archerytargetst"/>
<class name="building_weaponst"/><!-- retractable spikes -->
<class name="building_supportst"/>
<class name="building_axle_verticalst"/>
<class name="building_axle_horizontalst"/>
<class name="building_gear_assemblyst"/>
<class name="building_trapst"/>
<class name="building_bars_floorst"/>
<class name="building_bars_verticalst"/>
<class name="building_grate_floorst"/>
<class name="building_grate_wallst"/>
<class name="building_floodgatest"/>
<class name="building_bridgest"/>
<class name="building_hatchst"/>
<class name="building_doorst"/>
<class name="building_armorstandst"/>
<class name="building_weaponrackst"/>
<class name="building_cabinetst"/>
<class name="building_boxst"/>
<class name="building_stockpilest"/>
<class name="building_wellst"/>
<class name="building_civzonest"/><!-- zone -->
<class name="building_actualst"/>
<class name="buildingst"/>
<class name="building_slabst" />
<class name="building_nestst" />
<class name="building_nest_boxst" />
<class name="building_hivest" />
</VTable>
<Offsets>
<Address name="WORLD" description="A huge object that many things in DF are part of. Contains the whole game and can be used as a base
for many of the addresses." />
<Group name="vector" description="An STL vector.">
<HexValue name="sizeof" description="The total size in bytes." />
<Offset name="start" description="The offset where the actual start/end/alloc_end triplet is." />
</Group>
<Group name="string" description="An STL string.">
<HexValue name="sizeof" description="The total size in bytes." />
<Group name="MSVC">
<!--
MSVC++ 9 string
void * allocator
union
{
char[16] start;
char * start_ptr
}
Uint32 length
Uint32 capacity
-->
<Offset name="buffer" description="Where the buffer/pointer starts." />
<Offset name="size" description="Where the number of leters is stored (string length without 0-terminator)." />
<Offset name="capacity" description="Capacity of the buffer in letters (default=15)." />
</Group>
</Group>
<Group name="name" description="A structure used for names all over the place.">
<Offset name="first" description="Lowercase stl string with the first name. For ex. 'urist'" />
<Offset name="nick" description="Stl string with the nickname. Set by the player." />
<Offset name="second_words" description="Array of 7 indexes into the language vectors."/>
<Offset name="parts_of_speech" description="Array of 7 16-bit indexes into the language vectors."/>
<Offset name="language" description="Language of the name."/>
<Offset name="has_name" description="Boolean flag."/>
</Group>
<Group name="Position" description="Offsets used by the Position module.">
<Address name="window_x" description="X coordinate of the current view (DWORD)" />
<Address name="window_y" description="Y coordinate of the current view (DWORD)" />
<Address name="window_z" description="Z coordinate of the current view (DWORD)" />
<Address name="cursor_xyz" description="Coordinates of the cursor (3xDWORD)." />
<Address name="mouse_pos" description="Position of the mouse (3xDWORD?)" />
<Address name="window_dims" description="Size of the view in tiles (2xWORD)" />
<Address name="screen_tiles_pointer" description="Pointer to the screen tile array." />
</Group>
<Group name="GUI" description="Offsets used by the GUI module.">
<Address name="pause_state" description="a flag that determines if the game is paused."/>
<Address name="current_cursor_creature" description="A vector? of creatures currently under the cursor."/>
<Address name="interface" description="Pointer to the global interfacest object (gview symbol on Linux)."/>
<Address name="current_menu_state" description="A numeric value that describes the state of the current GUI element (switching between menus will change this)."/>
<Address name="hotkeys" description="Address where the array of hotkeys starts." />
<Address name="init" description="Address with the init.txt structure." />
</Group>
<Group name="Maps" description="Offsets used by the Maps module.">
<Address name="map_data" description="Pointer to the start of the map structure."/>
<Address name="x_count_block" description="X Size of the local map (in 16x16x1 blocks)."/>
<Address name="y_count_block" description="Y Size of the local map (in 16x16x1 blocks)."/>
<Address name="z_count_block" description="Z Size of the local map (in 16x16x1 blocks)."/>
<Address name="x_count" description="X Size of the local map (in tiles)."/>
<Address name="y_count" description="Y Size of the local map (in tiles)."/>
<Address name="z_count" description="Z Size of the local map (in tiles)."/>
<Address name="region_x"/>
<Address name="region_y"/>
<Address name="region_z"/>
<Address name="world_size_x"/>
<Address name="world_size_y"/>
<Offset name="world_size_x_from_wdata" />
<Offset name="world_size_y_from_wdata" />
<Address name="world_data" description="Pointer to a structure containing world region data(AFAIK) in DF 31.20 and newer."/>
<Group name="block" description="The map block structure.">
<Offset name="vein_vector" description="Mineral veins, objects holding tile types under ice, etc..."/>
<Offset name="vegetation_vector" description="All the plants in this block, including farm plats."/>
<Offset name="effect_vector" description="Effect objects present in the block."/>
<Offset name="item_idx_vector" description="Indexes of item objects present in the block."/>
<Offset name="type" description="16x16 x 2B tile type values"/>
<Offset name="designation" description="16x16 * 4B designation fields"/>
<Offset name="occupancy" description="16x16 * 4B occupancy fields" />
<Offset name="temperature1" />
<Offset name="temperature2" />
<Offset name="biome_stuffs" />
<Offset name="pathfinding" />
<Offset name="feature_local" description="Index into a local feature vector (adamantine, etc. Complicated, see source)" />
<Offset name="feature_global" description="Index into the global feature vector (hell, etc.)." />
<Offset name="mystery_offset" description="It's a mystery! I mean Kittens!" />
</Group>
<Group name="features">
<Group name="global">
<Address name="vector" />
<Offset name="vector_from_wdata" />
<Offset name="funcptr" />
<Offset name="material" />
<Offset name="submaterial" />
</Group>
<Group name="local">
<Address name="start_ptr" />
<Offset name="start_ptr_from_wdata" />
<Offset name="material" />
<Offset name="submaterial" />
</Group>
</Group>
<Group name="geology">
<Address name="geoblock_vector" />
<Address name="ptr2_region_array" />
<Offset name="geoblock_vector_from_wdata" />
<Offset name="ptr2_region_array_from_wdata" />
<!-- values for the region structure -->
<HexValue name="region_size" />
<Offset name="region_geo_index_off" />
<!-- geoblock offset(s?) -->
<Offset name="geolayer_geoblock_offset" /> vector
<Offset name="type_inside_geolayer" /> vector
</Group>
</Group>
<Group name="Creatures" description="Offsets used by the Creatures module.">
<Address name="vector"/>
<Address name="current_race" description="Index of the current player race." />
<Address name="current_civ" description="Index of the current player civilization." />
<Group name="creature">
<Offset name="name" description="Creature name, see the name group." />
<Offset name="custom_profession" description="String object with custom profession." />
<Offset name="profession" description="Profession index." />
<Offset name="race" description="Race of the creature." />
<Offset name="position" description="X,Y,Z." />
<Offset name="flags1" description="First set of flags" />
<Offset name="flags2" description="Second set of flags" />
<Offset name="flags3" description="Third set of flags" />
<Offset name="caste" description="Caste of the creature. Same as sex most of the time." />
<Offset name="sex" description="Sex of the creature." />
<Offset name="id" description="Unique ID of the creature, seems to be used for binary search in the creature vector." />
<Offset name="civ" description="What civ the creature belongs to." />
<Group name="advanced">
<Offset name="pickup_equipment_bit" description="Setting this makes creatures re-check the status of their equip." />
<Offset name="mood" />
<Offset name="pregnancy" description="Pregnancy timer.." />
<Offset name="pregnancy_ptr" description="Pregnancy object." />
<Offset name="birth_year" description="The year the creature has been born." />
<Offset name="birth_time" description="Time of year the creature has been born." />
<Offset name="current_job" />
<Offset name="current_job_skill" description="the skill that will be increased at the end of the mood (or not)" />
<Offset name="physical" value="0x464" description="An array of physical attributes." />
<Offset name="appearance_vector" description="seems to be indexes in the list of possible colors defined in the raws for each group" />
<Offset name="inventory_vector" />
<Offset name="owned_items_vector" />
<Offset name="artifact_name" description="Name of the artifact created by this creature." />
<Offset name="soul_vector" description="A vector of souls attached to the creature." />
<Offset name="current_soul" description="Currently active soul?" />
<Offset name="labors" description="Array of labors. Used by DT to enable/disable them." />
<Offset name="happiness" description="Number that says how happy the creature is." />
<Offset name="hist_figure_id" description="For a creature matching a historical figure, it's ID"/>
</Group>
</Group>
<Group name="soul">
<Offset name="name" description="Name of the soul." />
<Offset name="mental" description="An array of mental attributes." />
<Offset name="skills_vector" description="Vector of non-zero skills the creature has." />
<Offset name="traits" />
</Group>
<Group name="job">
<Offset name="id" description="Incrementaly assigned." />
<Offset name="type" description="seems to be just like the old occupations" />
<Offset name="materials_vector" />
<Group name="material">
<Offset name="maintype" description="like mood materials, 0=bars, 4=stone, 5=wood, 57=cloth, 54=leather ..." />
<Offset name="sectype1" description="subsubtype ?" />
<Offset name="sectype2" description="subtype ?" />
<Offset name="sectype3" description="index of material (for example, 2 is for silver)" />
<Offset name="flags" description="set only for shell / bone mood requirements ?" />
</Group>
</Group>
</Group>
<Group name="Materials" description="Offsets used by the Materials module.">
<Address name="inorganics" description="Soil, stone, gems and metal."/>
<Group name="inorganic_extras">
<Offset name="ore_types" description="Vector of indexes of metals produced when ore is smelted"/>
<Offset name="ore_chances" description="Vector of percent chance of each type of metal being produced on smelting"/>
<Offset name="strand_types" description="Vector of indexes of metals produced when ore undergoes strand extraction"/>
<Offset name="strand_chances" description="Vector of percent chance of each type of metal being produced on strand extraction"/>
<Offset name="value" description="Meterial value"/>
<Offset name="wall_tile" description="Tile when material is a natural wall"/>
<Offset name="boulder_tile" description="Tile when material is a dug out stone"/>
</Group>
<Address name="organics_all" description="Wood and plant matter, mixed" />
<Address name="organics_plants" description="plant matter" />
<Address name="organics_trees" description="just wood" />
<Address name="creature_type_vector" description="A vector of creature races" />
<Address name="other" description="Base material types? Code suggests it's a null-terminated string of string pointers? Is this used at all?" />
<Group name="creature" description="Creature race objects">
<Offset name="caste_vector" description="A race is divided into castes. Normally male and female."/>
<Offset name="extract_vector"/>
<Offset name="tile" description="ASCII tile used for the creature"/>
<Offset name="tile_color" description="color of the ASCII tile"/>
<Group name="caste">
<Offset name="bodypart_vector"/>
<Offset name="attributes"/>
<Offset name="color_modifiers"/>
</Group>
<Group name="caste_color_mods">
<Offset name="part"/>
<Offset name="startdate"/>
<Offset name="enddate"/>
</Group>
<Group name="caste_bodyparts">
<Offset name="id"/>
<Offset name="category"/>
<Offset name="layers_vector"/>
<Offset name="singular_vector"/>
<Offset name="plural_vector"/>
</Group>
</Group>
<Group name="descriptors">
<Address name="vectors_start" />
<Offset name="rawname" />
<Offset name="name" />
<Address name="colors_vector" />
<Offset name="color_r" /><!--floats !-->
<Offset name="color_v" />
<Offset name="color_b" />
<Address name="all_colors_vector" description="A list of all colors, including eyes and stuff" />
</Group>
</Group>
<Group name="Constructions">
<Address name="vector"/>
<Offset name="sizeof"/>
</Group>
<Group name="Engravings">
<Address name="vector"/>
</Group>
<Group name="Translations">
<Address name="language_vector"/>
<Address name="translation_vector"/>
<Offset name="word_table"/>
</Group>
<Group name="Vegetation">
<Address name="vector"/>
<Offset name="tree_desc_offset"/>
</Group>
<Group name="Buildings">
<Address name="buildings_vector"/>
<Offset name="building_custom_workshop_type"/>
<Address name="custom_workshop_vector"/>
<Offset name="custom_workshop_name"/>
You can’t perform that action at this time.
