summaryrefslogtreecommitdiff
path: root/spec.md
diff options
context:
space:
mode:
Diffstat (limited to 'spec.md')
-rw-r--r--spec.md253
1 files changed, 253 insertions, 0 deletions
diff --git a/spec.md b/spec.md
new file mode 100644
index 0000000..43195f1
--- /dev/null
+++ b/spec.md
@@ -0,0 +1,253 @@
+# ponies.equestria.horse
+
+## Metadata Bits
+48bit bitsets are now used to define metadata that doesn't require a string input, they were 24bit in the past but were changed to 48bit after adding additional metadata. A lot of reserved values remain for future use.
+
+```
+...............0................................
+ => Is mostly verbal in real life.
+
+...............1................................
+ => Is mostly non verbal in real life.
+
+..............0.................................
+ => Fronts frequently.
+
+..............1.................................
+ => Fronts less frequently.
+
+.............0..................................
+ => Is not sexually active.
+
+.............1..................................
+ => Is sexually active.
+
+................00..............................
+ => Doesn't need to eat food.
+
+................01..............................
+ => Can't eat fish or meat.
+
+................10..............................
+ => Can't eat meat.
+
+................11..............................
+ => Can eat everything.
+
+..................000...........................
+ => Can't use magic at all.
+
+..................001...........................
+ => Magic in some cases.
+
+..................010...........................
+ => Magic using a horn.
+
+..................011...........................
+ => Magic using wings.
+
+..................100...........................
+ => Magic using wings + horn.
+
+..................101...........................
+ => Magic using another part.
+
+.....................000........................
+ => Does not have sensitive spots at all.
+
+.....................001........................
+ => May have one or more sensitive spot·s.
+
+.....................010........................
+ => Has affectionately sensitive spots.
+
+.....................011........................
+ => Has sexually sensitive spots.
+
+.....................100........................
+ => Has both types of sensitive spots
+
+........................00......................
+ => No direct shared memory.
+
+........................01......................
+ => Partial direct shared memory.
+
+........................10......................
+ => Full direct shared memory.
+
+..........................0.....................
+ => Not part of a median system.
+
+..........................1.....................
+ => Part of a median system.
+
+...........................00...................
+ => Not a little.
+
+...........................01...................
+ => Age regressor.
+
+...........................10...................
+ => Little.
+
+...........................11...................
+ => Not a little, but younger.
+
+.............................0..................
+ => Not a protector.
+
+.............................1..................
+ => Protector.
+
+..............................0.................
+ => Not a fictive.
+
+..............................1.................
+ => Fictive.
+
+...............................0................
+ => No "Not talking" attribute.
+
+...............................1................
+ => "Not talking" attribute.
+
+................................0...............
+ => Not an host.
+
+................................1...............
+ => Host.
+
+.............................................0..
+ => Not a robot
+
+.............................................1..
+ => Robot
+
+..............................................0.
+ => Not a plush
+
+..............................................1.
+ => Plush
+
+...............................................0
+ => Not affected by age spells
+
+...............................................1
+ => Affected by age spells
+
+.................................0001...........
+ => 1st species: Earth pony.
+
+.................................0010...........
+ => 1st species: Unicorn.
+
+.................................0011...........
+ => 1st species: Pegasus.
+
+.................................0100...........
+ => 1st species: Alicorn.
+
+.................................0101...........
+ => 1st species: Bat pony.
+
+.................................0110...........
+ => 1st species: Crystal pony.
+
+.....................................0000.......
+ => 2nd species: <none>
+
+.....................................0001.......
+ => 2nd species: Earth pony.
+
+.....................................0010.......
+ => 2nd species: Unicorn.
+
+.....................................0011.......
+ => 2nd species: Pegasus.
+
+.....................................0100.......
+ => 2nd species: Alicorn.
+
+.....................................0101.......
+ => 2nd species: Bat pony.
+
+.....................................0110.......
+ => 2nd species: Crystal pony.
+
+.........................................0000...
+ => 3rd species: <none>
+
+.........................................0001...
+ => 3rd species: Earth pony.
+
+.........................................0010...
+ => 3rd species: Unicorn.
+
+.........................................0011...
+ => 3rd species: Pegasus.
+
+.........................................0100...
+ => 3rd species: Alicorn.
+
+.........................................0101...
+ => 3rd species: Bat pony.
+
+.........................................0110...
+ => 3rd species: Crystal pony.
+
+```
+<details>
+<summary>List of reserved bits</summary>
+
+The following bits are reserved for future use or for technical reasons:
+```
+xxxxxxxxxxxxxxxx................................ <(1)>
+..................110........................... <(2)>
+..................111........................... <(2)>
+.....................101........................ <(2)>
+.....................110........................ <(2)>
+.....................111........................ <(2)>
+........................11...................... <(2)>
+...........................11................... <(2)>
+.................................0000........... <(3)>
+.................................0111........... <(3)>
+.................................1000........... <(3)>
+.................................1001........... <(3)>
+.................................1010........... <(3)>
+.................................1011........... <(3)>
+.................................1100........... <(3)>
+.................................1101........... <(3)>
+.................................1110........... <(3)>
+.................................1111........... <(3)>
+.....................................0111....... <(3)>
+.....................................1000....... <(3)>
+.....................................1001....... <(3)>
+.....................................1010....... <(3)>
+.....................................1011....... <(3)>
+.....................................1100....... <(3)>
+.....................................1101....... <(3)>
+.....................................1110....... <(3)>
+.....................................1111....... <(3)>
+.........................................0111... <(3)>
+.........................................1000... <(3)>
+.........................................1001... <(3)>
+.........................................1010... <(3)>
+.........................................1011... <(3)>
+.........................................1100... <(3)>
+.........................................1101... <(3)>
+.........................................1110... <(3)>
+.........................................1111... <(3)>
+...............................................0 <(4)>
+...............................................1 <(4)>
+```
+
+`(1)` Reserved for extended metadata<br>
+`(2)` Reserved for additional value state<br>
+`(3)` Reserved for additional supported species<br>
+`(4)` Reserved for additional metadata
+
+</details>
+
+The minimum value of the bitset is 0 and the maximum value 281474976710655.
+For example, for Scoots, the value would be `000000000000000000000000100010101010000110000000` (9085312) \ No newline at end of file