Skip to content

Instantly share code, notes, and snippets.

@r01010010
Last active June 15, 2023 13:17
Show Gist options
  • Save r01010010/8f3beabda7f4e96675434c5e3d9f65c5 to your computer and use it in GitHub Desktop.
Save r01010010/8f3beabda7f4e96675434c5e3d9f65c5 to your computer and use it in GitHub Desktop.
public class Blade {
// edge (smooth, saw) [0, 3]
// needle/ending (pointy, blunt, hook, flat, ring,)
// damaged (undamaged, damaged) [0, 3]
// shape (straight, curved) [0, 3]
// decoration (undecorated, decorated) [0, 3]
// width (thin, fat) [0, 3]
// inscriptions (uninscribed, symbols, runes, symbols)
// material (wood, metal, stone, bone, glass, plastic, ceramic, paper, cardboard, fabric, leather, rubber, foam, wax, ice, food, other)
// color (red, orange, yellow, green, blue, purple, pink, brown, black, white, gray, other)
// style (medieval, pirate, etc)
// hollow (without holes, with holes) [0, 3]
// weirdness (normal, weird) [0, 3]
public string Id;
// Shape
public int Edge;
public NeedleType Needle;
public int Curvature;
public int Width;
public Style[] Style;
public int Hollowness;
public int Weirdness;
// Finishes
public int Decoration;
public int Damaged;
public int Inscriptions;
// Other
public MaterialColor Color;
}
public enum Style {
Medieval, // typical during this era
Pirate, // usually used by pirates
Viking, // usually used by vikings
Oriental, // typical of this region
European, // typical of this region
Futuristic, // typical of this era (sci-fi, cyberpunk, etc)
Romantic, // usually very elegant swords
Humble, // usually very simple swords
Fancy, // usually very fancy
Magic,
Arabic,
African,
Gladiator,
Crussader, // Usually has a cross on the hilt or somewhere else
Spooky, // Has elements like skulls, bones, vampires, etc
}
public enum NeedleType {
Pointy,
Blunt,
Hook,
Ring,
Dao,
OpenRing, // like the Ngombe from africa
DoubleBlade
}
public enum Material {
Wood,
Metal,
Gold,
Bronze,
Silver,
Iron,
Stone,
Bone,
Glass,
Plastic,
Ceramic,
Paper,
Cardboard,
Fabric,
Leather,
Rubber,
Foam,
Wax,
Water,
Fire,
Ice,
Food,
Light,
Other,
}
public enum MaterialColor {
Red,
Orange,
Yellow,
Green,
Blue,
Purple,
Pink,
Brown,
Black,
White,
Gray,
Other
}
public enum Substance {
Water,
Blood,
Oil,
Acid,
Poison,
Other
}
public enum DecorationType {
None,
Engraved,
Etched,
Carved,
Leather,
Painted,
Jeweled,
Shape,
Other
}
public enum GuardShape {
Star,
SShaped,
Spiral,
BentEnd,
VShapedUp,
VShapedDown,
DoubleAxe,
Disc,
HalfMoonUp,
HalfMoonDown,
Weird,
Flat,
Wings,
Horns,
Triangle,
}
public class Guard {
public string Id;
// Shape
public Style[] Style;
public GuardShape Shape;
public Material Material;
// Finishes
public DecorationType DecorationType;
public int Decoration;
public int Weirdness;
// Other
public MaterialColor Color;
}
public class Hilt {
public string Id;
// Shape
public Style[] Style;
public int Handle;
public int Height;
public int Width;
// Finishes
public DecorationType DecorationType;
public int Decoration;
public int Weirdness;
// Other
public Material Material;
public MaterialColor Color;
}
{
"Blade": {
"Edge": 0,
"NeedleType": "Pointy",
"Curvature": 1,
"Width": 2,
"Height": 2,
"Style": "Medieval",
"Hollowness": 0,
"Weirdness": 0,
"Decoration": 0,
"Damaged": null,
"Inscriptions": null
},
"Guard": {},
"Hilt": {}
}
public class Sword {
Blade Blade;
Hilt Hilt;
Guard Guard;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment