df_ls_structure/objects/syndrome/creature_effect_enums.rs
1use df_ls_syntax_analysis::TokenDeserialize;
2use serde::{Deserialize, Serialize};
3
4// region: Unique single CE_X enums ===============================================================
5#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
6#[token_de(enum_value)]
7pub enum BpEnum {
8 /// Specifies which body parts and tissues are to be affected by the syndrome. You can specify
9 /// by category, by type, or by token, and then specify a specific tissue within that category,
10 /// type or token.
11 ///
12 /// For example, if you wanted to target the lungs of a creature, you would use
13 /// `BP:BY_CATEGORY:LUNG:ALL`. The syndrome would act on all bodyparts within the creature with
14 /// the `CATEGORY` tag `LUNG`, and the `ALL` means it would affect all tissue layers. For another
15 /// example, say you wanted to cause the skin to rot off a creature - you could use
16 /// `BP:BY_CATEGORY:ALL:SKIN`, targeting the `SKIN` tissue on all bodyparts.
17 ///
18 /// This is one of the most powerful and useful aspects of the syndrome system, as it allows you
19 /// to selectively target bodyparts relevant to the contagion, like lungs for coal dust inhalation,
20 /// or the eyes for exposure to an acid gas. Multiple targets can be given in one syndrome by
21 /// placing the `BP` tokens end to end.
22 ///
23 /// This tag is overidden by (and therefore incompatible with) `LOCALIZED`.
24 #[token_de(token = "BP")]
25 Bp,
26}
27impl Default for BpEnum {
28 fn default() -> Self {
29 Self::Bp
30 }
31}
32
33#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
34#[token_de(enum_value)]
35pub enum NameEnum {
36 #[token_de(token = "NAME")]
37 Name,
38}
39impl Default for NameEnum {
40 fn default() -> Self {
41 Self::Name
42 }
43}
44
45#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
46#[token_de(enum_value)]
47pub enum TileEnum {
48 #[token_de(token = "TILE")]
49 Tile,
50}
51impl Default for TileEnum {
52 fn default() -> Self {
53 Self::Tile
54 }
55}
56#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
57#[token_de(enum_value)]
58pub enum FrequencyEnum {
59 /// How many frames to use the normal tile, and how many frames to use the "syndrome" tile for.
60 #[token_de(token = "FREQUENCY")]
61 Frequency,
62}
63impl Default for FrequencyEnum {
64 fn default() -> Self {
65 Self::Frequency
66 }
67}
68
69#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
70#[token_de(enum_value)]
71pub enum SpeedEnum {
72 /// Modifies a creature's in-game speed by a specified percentage; higher numbers are faster.
73 #[token_de(token = "SPEED_PERC")]
74 SpeedPerc,
75 /// Adds to a creature's `[SPEED:XX]` token, with higher numbers being slower.
76 /// Negative numbers are accepted, though will only reduce a creature's speed to zero.
77 #[token_de(token = "SPEED_ADD")]
78 SpeedAdd,
79}
80impl Default for SpeedEnum {
81 fn default() -> Self {
82 Self::SpeedPerc
83 }
84}
85
86#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
87#[token_de(enum_value)]
88pub enum PercEnum {
89 /// Specifies a percentage of the creature's current skill.
90 #[token_de(token = "PERC")]
91 Perc,
92}
93impl Default for PercEnum {
94 fn default() -> Self {
95 Self::Perc
96 }
97}
98
99#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
100#[token_de(enum_value)]
101pub enum PercOnEnum {
102 /// Specifies the probability of the effect being applied on a particular skill roll.
103 #[token_de(token = "PERC_ON")]
104 PercOn,
105}
106impl Default for PercOnEnum {
107 fn default() -> Self {
108 Self::PercOn
109 }
110}
111
112#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
113#[token_de(enum_value)]
114pub enum AppearanceModifierEnum {
115 /// Selects a type of appearance modifier to be altered.
116 #[token_de(token = "APPEARANCE_MODIFIER")]
117 AppearanceModifier,
118}
119impl Default for AppearanceModifierEnum {
120 fn default() -> Self {
121 Self::AppearanceModifier
122 }
123}
124
125#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
126#[token_de(enum_value)]
127pub enum AppModTypeEnum {
128 /// The height of the body part.
129 #[token_de(token = "HEIGHT")]
130 Height,
131 /// The length of the body part.
132 #[token_de(token = "LENGTH")]
133 Length,
134 /// The broadness of the body part.
135 #[token_de(token = "BROADNESS")]
136 Broadness,
137}
138impl Default for AppModTypeEnum {
139 fn default() -> Self {
140 Self::Height
141 }
142}
143
144#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
145#[token_de(enum_value)]
146pub enum MatMultEnum {
147 #[token_de(token = "MAT_MULT")]
148 MatMult,
149}
150impl Default for MatMultEnum {
151 fn default() -> Self {
152 Self::MatMult
153 }
154}
155
156#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
157#[token_de(enum_value)]
158pub enum InteractionEnum {
159 /// References the interaction ID to be used for this special attack.
160 #[token_de(token = "INTERACTION")]
161 Interaction,
162}
163impl Default for InteractionEnum {
164 fn default() -> Self {
165 Self::Interaction
166 }
167}
168
169#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
170#[token_de(enum_value)]
171pub enum MatTokenEnum {
172 /// Specifies the name/ID of a local creature material.
173 #[token_de(token = "MAT_TOKEN")]
174 MatToken,
175}
176impl Default for MatTokenEnum {
177 fn default() -> Self {
178 Self::MatToken
179 }
180}
181
182#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
183#[token_de(enum_value)]
184pub enum ReservedBloodEnum {
185 /// `RESERVED_BLOOD` is a special body material token which can be used to
186 /// specify the `[BLOOD]` material of any creature, regardless of the material's actual ID.
187 #[token_de(token = "RESERVED_BLOOD")]
188 ReservedBlood,
189}
190impl Default for ReservedBloodEnum {
191 fn default() -> Self {
192 Self::ReservedBlood
193 }
194}
195
196#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
197#[token_de(enum_value)]
198pub enum ClassEnum {
199 /// Specifies a creature class (for instance, `GENERAL_POISON`).
200 #[token_de(token = "CLASS")]
201 Class,
202}
203impl Default for ClassEnum {
204 fn default() -> Self {
205 Self::Class
206 }
207}
208
209#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
210#[token_de(enum_value)]
211pub enum EmotionEnum {
212 /// Specifies the emotion.
213 #[token_de(token = "EMOTION")]
214 Emotion,
215}
216impl Default for EmotionEnum {
217 fn default() -> Self {
218 Self::Emotion
219 }
220}
221
222#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
223#[token_de(enum_value)]
224pub enum FacetEnum {
225 /// Specifies a [personality trait/facet](https://dwarffortresswiki.org/index.php/Personality_trait#Facets).
226 #[token_de(token = "FACET")]
227 Facet,
228}
229impl Default for FacetEnum {
230 fn default() -> Self {
231 Self::Facet
232 }
233}
234// endregion ======================================================================================
235
236// region: General CE enums =======================================================================
237#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
238#[token_de(enum_value)]
239pub enum PeriodicTriggerEnum {
240 /// When this token is placed after a syndrome effect, it will prevent that effect from working
241 /// unless within the specified period range.
242 ///
243 /// For example, generated werebeast syndromes have a body transformation effect with
244 /// `[CE:PERIODIC:MOON_PHASE:27:0]`, which makes the transformation active only throughout moon
245 /// phases 27 to 0 (the full moon period). Once the moon phase changes from 0 to 1, the
246 /// transformation will end and remain inactive until phase 27 is reached again (unless of
247 /// course the effect has an `END` time which is reached before this happens. On that note, keep
248 /// in mind that the `START` time of the effect needs to have been reached for activation to
249 /// have become possible).
250 ///
251 /// Only one periodic trigger may currently be specified per effect. Counter triggers can also
252 /// be specified for the same effect, in which case both the periodic trigger and at least one
253 /// counter trigger will need to have its conditions met for the effect to be allowed to work.
254 ///
255 /// `MOON_PHASE` is currently the only valid period type.
256 #[token_de(token = "PERIODIC")]
257 Periodic,
258}
259impl Default for PeriodicTriggerEnum {
260 fn default() -> Self {
261 Self::Periodic
262 }
263}
264#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
265#[token_de(enum_value)]
266pub enum CounterTriggerEnum {
267 /// Creatures in Dwarf Fortress possess internal counters which keep track of their various
268 /// activities and statuses. When this token is placed after a syndrome effect, it will prevent
269 /// the effect from working unless the affected creature has the indicated counter, and its
270 /// value lies within the specified range.
271 ///
272 /// For example, generated vampire syndromes use
273 /// `[CE:COUNTER_TRIGGER:DRINKING_BLOOD:1:NONE:REQUIRED]` with an appearance modifier to make
274 /// the vampire's teeth temporarily lengthen whilst leeching blood.
275 ///
276 /// Note that `NONE` can be used in place of `<max_value>` to indicate that any value above
277 /// `<min_value>` is valid. `NONE` can also be used in place of `<min_value>`, which is
278 /// equivalent to the lowest value attainable by a counter.
279 ///
280 /// Most counters only exist temporarily, so their use as triggers is
281 /// somewhat more restricted than intuition suggests. For example, specifying 0 or `NONE` as the
282 /// `<min_value>` for a `CAVE_ADAPT` trigger wouldn't permit the effect to work when the
283 /// affected creature is outside, since this counter is removed from the unit as soon as its
284 /// value decreases past 1. Similarly, `MILK_COUNTER` is only present for some time after a
285 /// creature is milked.
286 ///
287 /// Multiple counter triggers can be specified per effect, in which case the effect will be
288 /// permitted to work if at least one of the trigger conditions is met. A periodic trigger can
289 /// also be specified for the same effect, in which case both the periodic trigger and at least
290 /// one counter trigger will need to have their conditions met for the effect to work.
291 #[token_de(token = "COUNTER_TRIGGER")]
292 CounterTrigger,
293}
294impl Default for CounterTriggerEnum {
295 fn default() -> Self {
296 Self::CounterTrigger
297 }
298}
299#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
300#[token_de(enum_value)]
301pub enum MoonPhaseEnum {
302 /// The lunar cycle in Dwarf Fortress is composed of 28 segments (each slightly shorter than a
303 /// day in duration), with each segment represented by a value ranging from 0 to 27. These
304 /// correspond to moon phases as follows:
305 /// - 0 = full moon
306 /// - 1-4 = waning gibbous
307 /// - 5-8 = waning half
308 /// - 9-12 = waning crescent
309 /// - 13-14 = new moon
310 /// - 15-18 = waxing crescent
311 /// - 19-22 = waxing half
312 /// - 23-26 = waxing gibbous
313 /// - 27 = full moon
314 #[token_de(token = "MOON_PHASE")]
315 MoonPhase,
316}
317impl Default for MoonPhaseEnum {
318 fn default() -> Self {
319 Self::MoonPhase
320 }
321}
322#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
323#[token_de(enum_value)]
324pub enum CounterTypesEnum {
325 /// For `[ALCOHOL_DEPENDENT]` creatures, this counter increases by 1 each tick, and is reset to
326 /// 0 when the creature drinks alcohol. The following messages are added after "needs alcohol to
327 /// get through the working day" in the creature's description when the counter reaches the
328 /// specified values:
329 /// - 100800 (3 months) = and is starting to work slowly due to its scarcity
330 /// - 201600 (6 months) = and really wants a drink
331 /// - 302400 (9 months) = and has gone without a drink for far, far too long
332 /// - 403200 (1 year) = and can't even remember the last time (s)he had some
333 #[token_de(token = "ALCOHOLIC")]
334 Alcoholic,
335 /// For creatures with the `[CAVE_ADAPT]` token, this counter is created and increases by 1 each
336 /// tick when the creature is in the Dark, and decreases by 10 each tick when Outside.
337 /// The counter is removed if it decreases to 0.
338 /// See [cave adaptation](https://dwarffortresswiki.org/index.php/Cave_adaptation) for more information.
339 /// - 403200 (1 year) = going outside causes irritation
340 /// - 604800 (1.5 years) = going outside causes nausea
341 #[token_de(token = "CAVE_ADAPT")]
342 CaveAdapt,
343 /// When a creature is milked, this counter is created and set to the frequency value specified
344 /// in the creature's `[MILKABLE]` token, and subsequently decreases by 1 each tick until it
345 /// reaches 0, at which point it is immediately removed, making the creature available for
346 /// milking again.
347 #[token_de(token = "MILK_COUNTER")]
348 MilkCounter,
349 /// This counter is created and set to 100800 (3 months' worth of ticks in fortress mode) when a
350 /// creature lays eggs, and thereafter decreases by 1 each tick until it reaches 0, at which
351 /// point it is removed and the creature regains the ability to lay eggs.
352 #[token_de(token = "EGG_SPENT")]
353 EggSpent,
354 /// How angry (and likely to attack) an animal is from being in an overcrowded location. The
355 /// counter is created and set to 200 when the animal is forced to lie on the ground whilst
356 /// sharing a tile with another creature. It subsequently decreases by 1 each tick, but this is
357 /// overcome by the addition of 200 every so often (with a variable delay between each spike) if
358 /// the creature remains grounded. The counter is removed if it decreases to 0.
359 #[token_de(token = "GROUNDED_ANIMAL_ANGER")]
360 GroundedAnimalAnger,
361 /// This counter rises by 1 every tick for creatures with the `[BLOODSUCKER]` token. When it
362 /// rises high enough (generally around 100800; 3 months in fortress mode time), the creature
363 /// will seek an unconscious victim to leech off of. Blood-sucking causes the counter to
364 /// decrease, and will continue until either the victim is dead or the counter reaches 0. Note
365 /// that this counter isn't removed when 0 is reached.
366 ///
367 /// When playing as a bloodsucker in adventure mode, the following bloodthirst indicators are
368 /// displayed when this counter reaches the specified values:
369 /// - 172800 (1 day in adventure mode time) = Thirsty
370 /// - 1209600 (1 week) = Thirsty!
371 /// - 2419200 (2 weeks) = Thirsty!
372 ///
373 /// Various penalties are applied as bloodthirst increases; see the
374 /// [vampire](https://dwarffortresswiki.org/index.php/Vampire) article for more information.
375 #[token_de(token = "TIME_SINCE_SUCKED_BLOOD")]
376 TimeSinceSuckedBlood,
377 /// This appears to be created and set to a fixed value of 20 whilst the creature is sucking
378 /// blood, and begins to decrease by 1 each tick once blood-sucking ceases (as described above)
379 /// until it reaches 0, at which point the counter is removed.
380 #[token_de(token = "DRINKING_BLOOD")]
381 DrinkingBlood,
382 /// How long before the creature will decide to attend another party. The counter is set to the
383 /// tick equivalent of around 3 months when the party being attended ends, and subsequently
384 /// counts down to 0. Redundant as of 0.42.01, since parties no longer occur.
385 #[token_de(token = "PARTIED_OUT")]
386 PartiedOut,
387}
388impl Default for CounterTypesEnum {
389 fn default() -> Self {
390 Self::Alcoholic
391 }
392}
393#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
394#[token_de(enum_value)]
395pub enum RequiredEnum {
396 /// `REQUIRED` implies that the effect won't proceed if the counter exists but doesn't lie within
397 /// the range provided. However, it's actually redunant as `COUNTER_TRIGGER` always checks for
398 /// both of these conditions; replacing it with `NONE` doesn't alter the way the trigger
399 /// functions, though it will fail to work if this slot is left empty instead.
400 #[token_de(token = "REQUIRED")]
401 Required,
402}
403impl Default for RequiredEnum {
404 fn default() -> Self {
405 Self::Required
406 }
407}
408// endregion ======================================================================================
409
410// TODO: append this to the bottom of each enum value when hovering for a description
411/// Creatures have an emotional response to certain circumstances. Different creatures have
412/// differing responses to the same circumstance due to their personalities.
413/// Recent emotion/circumstance pairs are listed in the
414/// [Thoughts and Preferences](https://dwarffortresswiki.org/index.php/Thoughts_and_Preferences)
415/// screen. Different thoughts can have different strengths, depending on time elapsed dwarven
416/// personality. This thought strength is then divided by the "divisor" number given above.
417///
418/// Note that positive thoughts have a negative number, as they _reduce_ stress. Numbers closer
419/// to 1 or -1 have the strongest effect on stress (remember, these are *divisors*).
420#[derive(Serialize, Deserialize, Clone, Debug, TokenDeserialize, PartialEq, Eq)]
421#[token_de(enum_value)]
422pub enum EmotionTypeEnum {
423 /// Emotion: Anything
424 ///
425 /// Divisor: 0
426 #[token_de(token = "ANYTHING")]
427 Anything,
428 /// Emotion: Acceptance
429 ///
430 /// Divisor: -8
431 #[token_de(token = "ACCEPTANCE")]
432 Acceptance,
433 /// Emotion: Adoration
434 ///
435 /// Divisor: -1
436 #[token_de(token = "ADORATION")]
437 Adoration,
438 /// Emotion: Affection
439 ///
440 /// Divisor: -2
441 #[token_de(token = "AFFECTION")]
442 Affection,
443 /// Emotion: Agitation
444 ///
445 /// Divisor: 4
446 #[token_de(token = "AGITATION")]
447 Agitation,
448 /// Emotion: Aggravation
449 ///
450 /// Divisor: 4
451 #[token_de(token = "AGGRAVATION")]
452 Aggravation,
453 /// Emotion: Agony
454 ///
455 /// Divisor: 1
456 #[token_de(token = "AGONY")]
457 Agony,
458 /// Emotion: Alarm
459 ///
460 /// Divisor: 4
461 #[token_de(token = "ALARM")]
462 Alarm,
463 /// Emotion: Alienation
464 ///
465 /// Divisor: 8
466 #[token_de(token = "ALIENATION")]
467 Alienation,
468 /// Emotion: Amazement
469 ///
470 /// Divisor: 0
471 #[token_de(token = "AMAZEMENT")]
472 Amazement,
473 /// Emotion: Ambivalence
474 ///
475 /// Divisor: 0
476 #[token_de(token = "AMBIVALENCE")]
477 Ambivalence,
478 /// Emotion: Amusement
479 ///
480 /// Divisor: -4
481 #[token_de(token = "AMUSEMENT")]
482 Amusement,
483 /// Emotion: Anger
484 ///
485 /// Divisor: 2
486 #[token_de(token = "ANGER")]
487 Anger,
488 /// Emotion: Angst
489 ///
490 /// Divisor: 1
491 #[token_de(token = "ANGST")]
492 Angst,
493 /// Emotion: Anguish
494 ///
495 /// Divisor: 1
496 #[token_de(token = "ANGUISH")]
497 Anguish,
498 /// Emotion: Annoyance
499 ///
500 /// Divisor: 8
501 #[token_de(token = "ANNOYANCE")]
502 Annoyance,
503 /// Emotion: Anxiety
504 ///
505 /// Divisor: 4
506 #[token_de(token = "ANXIETY")]
507 Anxiety,
508 /// Emotion: Apathy
509 ///
510 /// Divisor: 0
511 #[token_de(token = "APATHY")]
512 Apathy,
513 /// Emotion: Arousal
514 ///
515 /// Divisor: -8
516 #[token_de(token = "AROUSAL")]
517 Arousal,
518 /// Emotion: Astonishment
519 ///
520 /// Divisor: 0
521 #[token_de(token = "ASTONISHMENT")]
522 Astonishment,
523 /// Emotion: Aversion
524 ///
525 /// Divisor: 4
526 #[token_de(token = "AVERSION")]
527 Aversion,
528 /// Emotion: Awe
529 ///
530 /// Divisor: 0
531 #[token_de(token = "AWE")]
532 Awe,
533 /// Emotion: Bitterness
534 ///
535 /// Divisor: 2
536 #[token_de(token = "BITTERNESS")]
537 Bitterness,
538 /// Emotion: Bliss
539 ///
540 /// Divisor: -1
541 #[token_de(token = "BLISS")]
542 Bliss,
543 /// Emotion: Boredom
544 ///
545 /// Divisor: 8
546 #[token_de(token = "BOREDOM")]
547 Boredom,
548 /// Emotion: Caring
549 ///
550 /// Divisor: -2
551 #[token_de(token = "CARING")]
552 Caring,
553 /// Emotion: Confusion
554 ///
555 /// Divisor: 8
556 #[token_de(token = "CONFUSION")]
557 Confusion,
558 /// Emotion: Contempt
559 ///
560 /// Divisor: 4
561 #[token_de(token = "CONTEMPT")]
562 Contempt,
563 /// Emotion: Contentment
564 ///
565 /// Divisor: -8
566 #[token_de(token = "CONTENTMENT")]
567 Contentment,
568 /// Emotion: Defeat
569 ///
570 /// Divisor: 2
571 #[token_de(token = "DEFEAT")]
572 Defeat,
573 /// Emotion: Dejection
574 ///
575 /// Divisor: 4
576 #[token_de(token = "DEJECTION")]
577 Dejection,
578 /// Emotion: Delight
579 ///
580 /// Divisor: -1
581 #[token_de(token = "DELIGHT")]
582 Delight,
583 /// Emotion: Despair
584 ///
585 /// Divisor: 1
586 #[token_de(token = "DESPAIR")]
587 Despair,
588 /// Emotion: Disappointment
589 ///
590 /// Divisor: 8
591 #[token_de(token = "DISAPPOINTMENT")]
592 Disappointment,
593 /// Emotion: Disgust
594 ///
595 /// Divisor: 4
596 #[token_de(token = "DISGUST")]
597 Disgust,
598 /// Emotion: Disillusionment
599 ///
600 /// Divisor: 8
601 #[token_de(token = "DISILLUSIONMENT")]
602 Disillusionment,
603 /// Emotion: Dislike
604 ///
605 /// Divisor: 8
606 #[token_de(token = "DISLIKE")]
607 Dislike,
608 /// Emotion: Dismay
609 ///
610 /// Divisor: 2
611 #[token_de(token = "DISMAY")]
612 Dismay,
613 /// Emotion: Displeasure
614 ///
615 /// Divisor: 8
616 #[token_de(token = "DISPLEASURE")]
617 Displeasure,
618 /// Emotion: Distress
619 ///
620 /// Divisor: 2
621 #[token_de(token = "DISTRESS")]
622 Distress,
623 /// Emotion: Doubt
624 ///
625 /// Divisor: 8
626 #[token_de(token = "DOUBT")]
627 Doubt,
628 /// Emotion: Eagerness
629 ///
630 /// Divisor: -4
631 #[token_de(token = "EAGERNESS")]
632 Eagerness,
633 /// Emotion: Elation
634 ///
635 /// Divisor: -2
636 #[token_de(token = "ELATION")]
637 Elation,
638 /// Emotion: Embarrassment
639 ///
640 /// Divisor: 8
641 #[token_de(token = "EMBARRASSMENT")]
642 Embarrassment,
643 /// Emotion: Empathy
644 ///
645 /// Divisor: -2
646 #[token_de(token = "EMPATHY")]
647 Empathy,
648 /// Emotion: Emptiness
649 ///
650 /// Divisor: 4
651 #[token_de(token = "EMPTINESS")]
652 Emptiness,
653 /// Emotion: Enjoyment
654 ///
655 /// Divisor: -8
656 #[token_de(token = "ENJOYMENT")]
657 Enjoyment,
658 /// Emotion: Enthusiasm
659 ///
660 /// Divisor: -8
661 #[token_de(token = "ENTHUSIASM")]
662 Enthusiasm,
663 /// Emotion: Euphoria
664 ///
665 /// Divisor: -1
666 #[token_de(token = "EUPHORIA")]
667 Euphoria,
668 /// Emotion: Exasperation
669 ///
670 /// Divisor: 8
671 #[token_de(token = "EXASPERATION")]
672 Exasperation,
673 /// Emotion: Excitement
674 ///
675 /// Divisor: -2
676 #[token_de(token = "EXCITEMENT")]
677 Excitement,
678 /// Emotion: Exhilaration
679 ///
680 /// Divisor: -2
681 #[token_de(token = "EXHILARATION")]
682 Exhilaration,
683 /// Emotion: Expectancy
684 ///
685 /// Divisor: -8
686 #[token_de(token = "EXPECTANCY")]
687 Expectancy,
688 /// Emotion: Fear
689 ///
690 /// Divisor: 1
691 #[token_de(token = "FEAR")]
692 Fear,
693 /// Emotion: Ferocity
694 ///
695 /// Divisor: 2
696 #[token_de(token = "FEROCITY")]
697 Ferocity,
698 /// Emotion: Fondness
699 ///
700 /// Divisor: -8
701 #[token_de(token = "FONDNESS")]
702 Fondness,
703 /// Emotion: Freedom
704 ///
705 /// Divisor: -4
706 #[token_de(token = "FREEDOM")]
707 Freedom,
708 /// Emotion: Fright
709 ///
710 /// Divisor: 2
711 #[token_de(token = "FRIGHT")]
712 Fright,
713 /// Emotion: Frustration
714 ///
715 /// Divisor: 8
716 #[token_de(token = "FRUSTRATION")]
717 Frustration,
718 /// Emotion: Gaiety
719 ///
720 /// Divisor: -2
721 #[token_de(token = "GAIETY")]
722 Gaiety,
723 /// Emotion: Glee
724 ///
725 /// Divisor: -2
726 #[token_de(token = "GLEE")]
727 Glee,
728 /// Emotion: Gloom
729 ///
730 /// Divisor: 4
731 #[token_de(token = "GLOOM")]
732 Gloom,
733 /// Emotion: Glumness
734 ///
735 /// Divisor: 8
736 #[token_de(token = "GLUMNESS")]
737 Glumness,
738 /// Emotion: Gratitude
739 ///
740 /// Divisor: -4
741 #[token_de(token = "GRATITUDE")]
742 Gratitude,
743 /// Emotion: Grief
744 ///
745 /// Divisor: 2
746 #[token_de(token = "GRIEF")]
747 Grief,
748 /// Emotion: Grim Satisfaction
749 ///
750 /// Divisor: 0
751 #[token_de(token = "GRIM_SATISFACTION")]
752 GrimSatisfaction,
753 /// Emotion: Grouchiness
754 ///
755 /// Divisor: 8
756 #[token_de(token = "GROUCHINESS")]
757 Grouchiness,
758 /// Emotion: Grumpiness
759 ///
760 /// Divisor: 8
761 #[token_de(token = "GRUMPINESS")]
762 Grumpiness,
763 /// Emotion: Guilt
764 ///
765 /// Divisor: 4
766 #[token_de(token = "GUILT")]
767 Guilt,
768 /// Emotion: Happiness
769 ///
770 /// Divisor: -2
771 #[token_de(token = "HAPPINESS")]
772 Happiness,
773 /// Emotion: Hatred
774 ///
775 /// Divisor: 2
776 #[token_de(token = "HATRED")]
777 Hatred,
778 /// Emotion: Hope
779 ///
780 /// Divisor: -2
781 #[token_de(token = "HOPE")]
782 Hope,
783 /// Emotion: Hopelessness
784 ///
785 /// Divisor: 2
786 #[token_de(token = "HOPELESSNESS")]
787 Hopelessness,
788 /// Emotion: Horror
789 ///
790 /// Divisor: 1
791 #[token_de(token = "HORROR")]
792 Horror,
793 /// Emotion: Humiliation
794 ///
795 /// Divisor: 4
796 #[token_de(token = "HUMILIATION")]
797 Humiliation,
798 /// Emotion: Insult
799 ///
800 /// Divisor: 4
801 #[token_de(token = "INSULT")]
802 Insult,
803 /// Emotion: Interest
804 ///
805 /// Divisor: -8
806 #[token_de(token = "INTEREST")]
807 Interest,
808 /// Emotion: Irritation
809 ///
810 /// Divisor: 8
811 #[token_de(token = "IRRITATION")]
812 Irritation,
813 /// Emotion: Isolation
814 ///
815 /// Divisor: 4
816 #[token_de(token = "ISOLATION")]
817 Isolation,
818 /// Emotion: Jolliness
819 ///
820 /// Divisor: -4
821 #[token_de(token = "JOLLINESS")]
822 Jolliness,
823 /// Emotion: Joviality
824 ///
825 /// Divisor: -2
826 #[token_de(token = "JOVIALITY")]
827 Joviality,
828 /// Emotion: Joy
829 ///
830 /// Divisor: -1
831 #[token_de(token = "JOY")]
832 Joy,
833 /// Emotion: Jubilation
834 ///
835 /// Divisor: -1
836 #[token_de(token = "JUBILATION")]
837 Jubilation,
838 /// Emotion: Loathing
839 ///
840 /// Divisor: 2
841 #[token_de(token = "LOATHING")]
842 Loathing,
843 /// Emotion: Loneliness
844 ///
845 /// Divisor: 4
846 #[token_de(token = "LONELINESS")]
847 Loneliness,
848 /// Emotion: Love
849 ///
850 /// Divisor: -1
851 #[token_de(token = "LOVE")]
852 Love,
853 /// Emotion: Lust
854 ///
855 /// Divisor: -8
856 #[token_de(token = "LUST")]
857 Lust,
858 /// Emotion: Misery
859 ///
860 /// Divisor: 1
861 #[token_de(token = "MISERY")]
862 Misery,
863 /// Emotion: Mortification
864 ///
865 /// Divisor: 2
866 #[token_de(token = "MORTIFICATION")]
867 Mortification,
868 /// Emotion: Nervousness
869 ///
870 /// Divisor: 8
871 #[token_de(token = "NERVOUSNESS")]
872 Nervousness,
873 /// Emotion: Nostalgia
874 ///
875 /// Divisor: -8
876 #[token_de(token = "NOSTALGIA")]
877 Nostalgia,
878 /// Emotion: Optimism
879 ///
880 /// Divisor: -4
881 #[token_de(token = "OPTIMISM")]
882 Optimism,
883 /// Emotion: Outrage
884 ///
885 /// Divisor: 2
886 #[token_de(token = "OUTRAGE")]
887 Outrage,
888 /// Emotion: Panic
889 ///
890 /// Divisor: 1
891 #[token_de(token = "PANIC")]
892 Panic,
893 /// Emotion: Patience
894 ///
895 /// Divisor: -8
896 #[token_de(token = "PATIENCE")]
897 Patience,
898 /// Emotion: Passion
899 ///
900 /// Divisor: -2
901 #[token_de(token = "PASSION")]
902 Passion,
903 /// Emotion: Pessimism
904 ///
905 /// Divisor: 8
906 #[token_de(token = "PESSIMISM")]
907 Pessimism,
908 /// Emotion: Pleasure
909 ///
910 /// Divisor: -4
911 #[token_de(token = "PLEASURE")]
912 Pleasure,
913 /// Emotion: Pride
914 ///
915 /// Divisor: -4
916 #[token_de(token = "PRIDE")]
917 Pride,
918 /// Emotion: Rage
919 ///
920 /// Divisor: 1
921 #[token_de(token = "RAGE")]
922 Rage,
923 /// Emotion: Rapture
924 ///
925 /// Divisor: -1
926 #[token_de(token = "RAPTURE")]
927 Rapture,
928 /// Emotion: Rejection
929 ///
930 /// Divisor: 4
931 #[token_de(token = "REJECTION")]
932 Rejection,
933 /// Emotion: Relief
934 ///
935 /// Divisor: -2
936 #[token_de(token = "RELIEF")]
937 Relief,
938 /// Emotion: Regret
939 ///
940 /// Divisor: 8
941 #[token_de(token = "REGRET")]
942 Regret,
943 /// Emotion: Remorse
944 ///
945 /// Divisor: 4
946 #[token_de(token = "REMORSE")]
947 Remorse,
948 /// Emotion: Repentance
949 ///
950 /// Divisor: -2
951 #[token_de(token = "REPENTANCE")]
952 Repentance,
953 /// Emotion: Resentment
954 ///
955 /// Divisor: 8
956 #[token_de(token = "RESENTMENT")]
957 Resentment,
958 /// Emotion: Righteous Indignation
959 ///
960 /// Divisor: 8
961 #[token_de(token = "RIGHTEOUS_INDIGNATION")]
962 RighteousIndignation,
963 /// Emotion: Sadness
964 ///
965 /// Divisor: 4
966 #[token_de(token = "SADNESS")]
967 Sadness,
968 /// Emotion: Satisfaction
969 ///
970 /// Divisor: -8
971 #[token_de(token = "SATISFACTION")]
972 Satisfaction,
973 /// Emotion: Self Pity
974 ///
975 /// Divisor: 8
976 #[token_de(token = "SELF_PITY")]
977 SelfPity,
978 /// Emotion: Servile
979 ///
980 /// Divisor: 0
981 #[token_de(token = "SERVILE")]
982 Servile,
983 /// Emotion: Shaken
984 ///
985 /// Divisor: 1
986 #[token_de(token = "SHAKEN")]
987 Shaken,
988 /// Emotion: Shame
989 ///
990 /// Divisor: 4
991 #[token_de(token = "SHAME")]
992 Shame,
993 /// Emotion: Shock
994 ///
995 /// Divisor: 1
996 #[token_de(token = "SHOCK")]
997 Shock,
998 /// Emotion: Suspicion
999 ///
1000 /// Divisor: 8
1001 #[token_de(token = "SUSPICION")]
1002 Suspicion,
1003 /// Emotion: Sympathy
1004 ///
1005 /// Divisor: -8
1006 #[token_de(token = "SYMPATHY")]
1007 Sympathy,
1008 /// Emotion: Tenderness
1009 ///
1010 /// Divisor: -2
1011 #[token_de(token = "TENDERNESS")]
1012 Tenderness,
1013 /// Emotion: Terror
1014 ///
1015 /// Divisor: 1
1016 #[token_de(token = "TERROR")]
1017 Terror,
1018 /// Emotion: Thrill
1019 ///
1020 /// Divisor: -2
1021 #[token_de(token = "THRILL")]
1022 Thrill,
1023 /// Emotion: Triumph
1024 ///
1025 /// Divisor: -2
1026 #[token_de(token = "TRIUMPH")]
1027 Triumph,
1028 /// Emotion: Uneasiness
1029 ///
1030 /// Divisor: 8
1031 #[token_de(token = "UNEASINESS")]
1032 Uneasiness,
1033 /// Emotion: Unhappiness
1034 ///
1035 /// Divisor: 4
1036 #[token_de(token = "UNHAPPINESS")]
1037 Unhappiness,
1038 /// Emotion: Vengefulness
1039 ///
1040 /// Divisor: 4
1041 #[token_de(token = "VENGEFULNESS")]
1042 Vengefulness,
1043 /// Emotion: Wonder
1044 ///
1045 /// Divisor: -8
1046 #[token_de(token = "WONDER")]
1047 Wonder,
1048 /// Emotion: Worry
1049 ///
1050 /// Divisor: 8
1051 #[token_de(token = "WORRY")]
1052 Worry,
1053 /// Emotion: Wrath
1054 ///
1055 /// Divisor: 1
1056 #[token_de(token = "WRATH")]
1057 Wrath,
1058 /// Emotion: Zeal
1059 ///
1060 /// Divisor: -4
1061 #[token_de(token = "ZEAL")]
1062 Zeal,
1063 /// Emotion: Restless
1064 ///
1065 /// Divisor: 8
1066 #[token_de(token = "RESTLESS")]
1067 Restless,
1068 /// Emotion: Admiration
1069 ///
1070 /// Divisor: -8
1071 #[token_de(token = "ADMIRATION")]
1072 Admiration,
1073}
1074impl Default for EmotionTypeEnum {
1075 fn default() -> Self {
1076 Self::Anything
1077 }
1078}