Add basic drone functionality
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
704bb44914
commit
eb9bf1980a
26
lib/aife.ex
26
lib/aife.ex
|
|
@ -4,15 +4,27 @@ defmodule Aife do
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Hello world.
|
Installs drone firmware on a target.
|
||||||
|
|
||||||
## Examples
|
Installing drone firmware allows Aife to change and control her drone's appearance and mind according to her whim.
|
||||||
|
|
||||||
iex> Aife.hello()
|
|
||||||
:world
|
|
||||||
|
|
||||||
|
See `Aife.Drone` for more info.
|
||||||
"""
|
"""
|
||||||
def hello do
|
@doc since: "0.1.0"
|
||||||
:world
|
def install_drone_firmware(target) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Gets a drone process.
|
||||||
|
|
||||||
|
This allows Aife to retrive a drone's designation from her database to issue further commands.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
Aife.get_drone("sample designation")
|
||||||
|
#=> {:ok, #PID<0.123.0>}
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def get_drone(designation) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,136 @@
|
||||||
|
defmodule Aife.Drone do
|
||||||
|
@moduledoc """
|
||||||
|
Implements drone control functionality.
|
||||||
|
|
||||||
|
Aife is able to instrument and control her drones remotely. The methods in this module allow sending commands and receiving data about drones she controls.
|
||||||
|
|
||||||
|
Aife's drones are modeled after her interests. When converted into a drone, it gains a feminine shape and has its skin turn into latex, becoming obedient, bimbo-like and shiny. She can also control the extent to which the host has control of their mind and body.
|
||||||
|
|
||||||
|
Many functions in this module can be implemented using the `Aife.Drone.command/2` function. A lot are convenience-related functions.
|
||||||
|
|
||||||
|
## Traits
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
See `Aife.Drone.traits/1` for more information.
|
||||||
|
"""
|
||||||
|
@moduledoc since: "0.1.0"
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Sends a command to a drone.
|
||||||
|
|
||||||
|
The command is parsed by the drone's mind itself, interpreting ambiguity as necessary.
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def command(drone, cmd) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Enables the drone.
|
||||||
|
|
||||||
|
Enabling the drone converts its skin to shiny latex and gives it a feminine look, according to its traits.
|
||||||
|
|
||||||
|
This only affects the drone's body and not its mind. To create a drone-like mind, use `Aife.Drone.command/2` or similar commands to make it blank.
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def enable(drone) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Disables the drone's drone mode.
|
||||||
|
|
||||||
|
Disabling a drone's drone mode restores a drone's skin colour to its standard non-latex colour, as well as restoring its body to its standard shape and size.
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def disable(drone) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Returns a list of all the traits of a drone.
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def traits(drone) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Alters a drone's trait.
|
||||||
|
|
||||||
|
This is usually used to alter a physical trait that the drone firmware can change physically within a drone.
|
||||||
|
|
||||||
|
This can be used to alter a drone's human form as well. Drone forms and human forms are handled separately; changing a human form will have no effect on the drone form, and vice-versa. By default, it alters the drone's current form.
|
||||||
|
|
||||||
|
`:form` is used for denoting which form to target. When `:human`, it targets the drone's human form; when `:drone`, it targets the shiny drone form. When `:current`, it uses the drone's current form. Defaults to `:current`.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
drone = Aife.get_drone("sample")
|
||||||
|
Aife.Drone.alter_traits(drone, latex_skin_colour: "black", role: :maid, uniform: :maid)
|
||||||
|
#=> :ok
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def alter_traits(drone, form \\ :current, values \\ []) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Inserts a value into a drone's mind.
|
||||||
|
|
||||||
|
This is useful for mind manipulation, changing a drone's preferences and priorities.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
drone = Aife.get_drone("sample")
|
||||||
|
Aife.Drone.get_values(drone, :fetishes)
|
||||||
|
#=> [fetishes: [:maid, :latex, :hypnosis]]
|
||||||
|
Aife.Drone.insert_value(drone, :fetishes, :haigure)
|
||||||
|
#=> {:ok, [fetishes: [:maid, :latex, :haigure, :hypnosis]]}
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def insert_value(drone, key, value) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Removes a value from a drone's mind.
|
||||||
|
|
||||||
|
This is useful for mind manipulation, changing a drone's preferences and priorities.
|
||||||
|
|
||||||
|
If a value is not present in the drone's mind, this does nothing.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
drone = Aife.get_drone("sample")
|
||||||
|
Aife.Drone.get_values(drone, :fetishes)
|
||||||
|
#=> [fetishes: [:maid, :latex, :haigure, :hypnosis]]
|
||||||
|
Aife.Drone.remove_value(drone, :fetishes, :haigure)
|
||||||
|
#=> {:ok, [fetishes: [:maid, :latex, :hypnosis]]}
|
||||||
|
Aife.Drone.remove_value(drone, :fetishes, :haigure)
|
||||||
|
#=> {:ok, [fetishes: [:maid, :latex, :hypnosis]]}
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def remove_value(drone, key, value) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Forces a drone to say something out loud.
|
||||||
|
|
||||||
|
If gagged, the drone will attempt to say it through the gag. If the drone is unable to make any sounds, this does nothing.
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def say(drone, text) do
|
||||||
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Inserts a thought into a drone's mind, as if it was its own.
|
||||||
|
|
||||||
|
A normal drone will think that the thought is its own, in its own internal voice.
|
||||||
|
A drone with high willpower will be able to tell that the tought is out of the ordinary for them.
|
||||||
|
This can be usually mitigated by repeatedly inserting many thoughts so that the drone is unable to tell apart its own from the inserted thoughts.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
Aife.Drone.think(drone, "Obedience is pleasure! I must obey!")
|
||||||
|
#=> :ok
|
||||||
|
"""
|
||||||
|
@doc since: "0.1.0"
|
||||||
|
def think(drone, thought) do
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
Reference in New Issue