Advertisement
Krythic

Trait

May 13th, 2024
639
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.61 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. public enum TraitEffectType
  5. {
  6.     BackpackSlot,
  7.     Strength,
  8.     Agility,
  9.     Defense,
  10.     Vitality,
  11.     Intellect,
  12.     Wisdom,
  13.     Spirit
  14. }
  15.  
  16. public enum TraitType
  17. {
  18.     Positive,
  19.     Negative
  20. }
  21.  
  22. public class Trait
  23. {
  24.     public static Dictionary<string, Trait> AllTraits { get; } = new Dictionary<string, Trait>();
  25.  
  26.     public string Identifier { get; }
  27.     public string Name { get; }
  28.     public string Description { get; }
  29.     public TraitEffectType Effect { get; }
  30.     public int ValueModifier { get; }
  31.     public TraitType Type { get; }
  32.  
  33.     public Trait(string identifier, string name, string description, TraitEffectType effect, int valueModifier, TraitType type)
  34.     {
  35.         Identifier = identifier;
  36.         Name = name;
  37.         Description = description;
  38.         Effect = effect;
  39.         ValueModifier = valueModifier;
  40.         Type = type;
  41.  
  42.         AllTraits.Add(identifier, this);
  43.     }
  44.  
  45.     public override string ToString()
  46.     {
  47.         return $"Trait: {Name}\nDescription: {Description}\nEffect: {Effect}\nType: {Type}\n";
  48.     }
  49. }
  50.  
  51. class Program
  52. {
  53.     static void Main(string[] args)
  54.     {
  55.         Trait trait1 = new Trait("Trait_01", "Hoarder", "This hero can always think of how to fit one last item in their bag", TraitEffectType.BackpackSlot, 1, TraitType.Positive);
  56.         Trait trait2 = new Trait("Trait_02", "Powerhouse", "Unmatched strength fuels their every action", TraitEffectType.Strength, 1, TraitType.Positive);
  57.         Trait trait3 = new Trait("Trait_03", "Nimble", "Quick reflexes make them a blur in motion", TraitEffectType.Agility, 1, TraitType.Positive);
  58.         Trait trait4 = new Trait("Trait_04", "Scarred", "Scars from past battles have hardened this Hero's skin.", TraitEffectType.Defense, 1, TraitType.Positive);
  59.         Trait trait5 = new Trait("Trait_05", "Resilient", "Where others have died, this Hero has lived.", TraitEffectType.Vitality, 1, TraitType.Positive);
  60.         Trait trait6 = new Trait("Trait_06", "Savant", "Their mind is a wellspring of knowledge", TraitEffectType.Intellect, 1, TraitType.Positive);
  61.         Trait trait7 = new Trait("Trait_07", "Sage", "Wisdom flows from them like a river", TraitEffectType.Wisdom, 1, TraitType.Positive);
  62.         Trait trait8 = new Trait("Trait_08", "Indomitable", "Their spirit cannot be broken", TraitEffectType.Spirit, 1, TraitType.Positive);
  63.         Trait trait9 = new Trait("Trait_09", "Feeble", "This Duplicant lacks physical strength", TraitEffectType.Strength, -1, TraitType.Negative);
  64.         Trait trait10 = new Trait("Trait_10", "Clumsy", "This Duplicant is often uncoordinated and awkward", TraitEffectType.Agility, -1, TraitType.Negative);
  65.         Trait trait11 = new Trait("Trait_11", "Vulnerable", "Their defenses are easily penetrated", TraitEffectType.Defense, -1, TraitType.Negative);
  66.         Trait trait12 = new Trait("Trait_12", "Sickly", "This Duplicant is prone to injury and sickness", TraitEffectType.Vitality, -1, TraitType.Negative);
  67.         Trait trait13 = new Trait("Trait_13", "Dull", "Their mind is a barren wasteland of ignorance", TraitEffectType.Intellect, -1, TraitType.Negative);
  68.         Trait trait14 = new Trait("Trait_14", "Foolish", "Their decisions are often misguided and naive", TraitEffectType.Wisdom, -1, TraitType.Negative);
  69.         Trait trait15 = new Trait("Trait_15", "Weak-willed", "Their spirit is easily broken", TraitEffectType.Spirit, -1, TraitType.Negative);
  70.  
  71.         // Accessing traits from the dictionary
  72.         Console.WriteLine(Trait.AllTraits["Trait_01"]);
  73.         Console.WriteLine(Trait.AllTraits["Trait_09"]);
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement