code:
## MPD configuration file.
## Read the user manual for documentation: http://www.musicpd.org/doc/user/
## or /usr/share/doc/mpd/user-manual.html

## Files and directories
## This setting controls the top directory which MPD will search to discover the
## available audio files and add them to the daemon's online database. This
## setting defaults to the XDG directory, otherwise the music directory will be
## be disabled and audio files will only be accepted over ipc socket (using
## file:// protocol) or streaming files over an accepted protocol.
music_directory		"/mnt/Music"

## This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use
## playlist files not created by the server but only if they are in the MPD
## format. This setting defaults to playlist saving being disabled.
playlist_directory		"/home/matthew/.mpd/playlists"

## This setting sets the location of the MPD database. This file is used to
## load the database at server start up and store the database while the
## server is not up. This setting defaults to disabled which will allow
## MPD to accept files over ipc socket (using file:// protocol) or streaming
## files over an accepted protocol.
db_file			"/home/matthew/.mpd/mpd.db"
##
## These settings are the locations for the daemon log files for the daemon.
## These logs are great for troubleshooting, depending on your log_level
## settings. The special value "syslog" makes MPD use the local syslog daemon. This
## setting defaults to logging to syslog, otherwise logging is disabled.
log_file			"/home/matthew/.mpd/mpd.log"

## This setting sets the location of the file which stores the process ID
## for use of mpd --kill and some init scripts. This setting is disabled by
## default and the pid file will not be stored.
pid_file			"/home/matthew/.mpd/mpd.pid"

## This setting sets the location of the file which contains information about
## most variables to get MPD back into the same general shape it was in before
## it was brought down. This setting is disabled by default and the server
## state will be reset on server start up.
state_file			"/home/matthew/.mpd/mpdstate"

## The location of the sticker database.  This is a database which
## manages dynamic information attached to songs.
##sticker_file                   "/var/lib/mpd/sticker.sql"

## General music daemon options
## This setting specifies the user that MPD will run as. MPD should never run as
## root and you may use this setting to make MPD change its user ID after
## initialization. This setting is disabled by default and MPD is run as the
## current user.
user				"matthew"

## This setting specifies the group that MPD will run as. If not specified
## primary group of user specified with "user" setting will be used (if set).
## This is useful if MPD needs to be a member of group such as "audio" to
## have permission to use sound card.
## group                          "users"

## This setting sets the address for the daemon to listen on. Careful attention
## should be paid if this is assigned to anything other then the default, any.
## This setting can deny access to control of the daemon. Choose any if you want
## to have mpd listen on every address
## For network
bind_to_address		"localhost"

## And for Unix Socket
## bind_to_address		"/run/mpd/socket"

## This setting is the TCP port that is desired for the daemon to get assigned to.
port				"6601"

## This setting controls the type of information which is logged. Available
## setting arguments are "default", "secure" or "verbose". The "verbose" setting
## argument is recommended for troubleshooting, though can quickly stretch
## available resources on limited hardware storage.
log_level			"default"

## If you have a problem with your MP3s ending abruptly it is recommended that
## you set this argument to "no" to attempt to fix the problem. If this solves
## the problem, it is highly recommended to fix the MP3 files with vbrfix
## (available as vbrfix in the debian archive), at which
## point gapless MP3 playback can be enabled.
## gapless_mp3_playback			"yes"

## Setting "restore_paused" to "yes" puts MPD into pause mode instead
## of starting playback after startup.
restore_paused "yes"

## This setting enables MPD to create playlists in a format usable by other
## music players.
save_absolute_paths_in_playlists	"yes"

## This setting defines a list of tag types that will be extracted during the
## audio file discovery process. The complete list of possible values can be
## found in the mpd.conf man page.
metadata_to_use	"artist,album,title,track,name,genre,date,composer,performer,disc"

## This setting enables automatic update of MPD's database when files in
## music_directory are changed.
auto_update    "yes"

## Limit the depth of the directories being watched, 0 means only watch
## the music directory itself.  There is no limit by default.
## auto_update_depth "3"

## Symbolic link behavior
## If this setting is set to "yes", MPD will discover audio files by following
## symbolic links outside of the configured music_directory.
follow_outside_symlinks	"yes"

## If this setting is set to "yes", MPD will discover audio files by following
## symbolic links inside of the configured music_directory.
follow_inside_symlinks		"yes"

## Zeroconf/Avahi Service Discovery
## If this setting is set to "yes", service information will be published with
## Zeroconf / Avahi.
## zeroconf_enabled		"yes"

## The argument to this setting will be the Zeroconf / Avahi unique name for
## this MPD server on the network.
## zeroconf_name			"Music Player"

## Permissions
## If this setting is set, MPD will require password authorization. The password
## can setting can be specified multiple times for different password profiles.
## password                        "password@read,add,control,admin"

## This setting specifies the permissions a user has who has not yet logged in.
## default_permissions             "read,add,control,admin"

## Database
## database {
##       plugin "proxy"
##       host "other.mpd.host"
##       port "6600"
##}
## Input
input {
        plugin "curl"
##       proxy "proxy.isp.com:8080"
##       proxy_user "user"
##       proxy_password "password"
}

## Audio Output
## MPD supports various audio output types, as well as playing through multiple
## audio outputs at the same time, through multiple audio_output settings
## blocks. Setting this block is optional, though the server will only attempt
## autodetection for one sound card.

## An example of an ALSA output:
audio_output {
	type		"alsa"
	name		"My ALSA Device"
#	device		"hw:0,0"	# optional
#	mixer_type      "hardware"      # optional
#	mixer_device	"default"	# optional
#	mixer_control	"PCM"		# optional
#	mixer_index	"0"		# optional
}

## FIFO OUTPUT FOR VISUALIZATION
audio_output {
    type                    "fifo"
    name                    "my_fifo"
    path                    "/tmp/mpd.fifo"
    format                  "44100:16:2"
}
##
## An example of an OSS output:
## audio_output {
##	type		"oss"
##	name		"My OSS Device"
##	device		"/dev/dsp"	# optional
##	mixer_type      "hardware"      # optional
##	mixer_device	"/dev/mixer"	# optional
##	mixer_control	"PCM"		# optional
##}

## An example of a shout output (for streaming to Icecast):
##audio_output {
##	type		"shout"
##	encoding	"ogg"			# optional
##	name		"My Shout Stream"
##	host		"localhost"
##	port		"8000"
##	mount		"/mpd.ogg"
##	password	"hackme"
##	quality		"5.0"
##	bitrate		"128"
##	format		"44100:16:1"
##	protocol	"icecast2"		# optional
##	user		"source"		# optional
##	description	"My Stream Description"	# optional
##	url             "http://example.com"    # optional
##	genre		"jazz"			# optional
##	public		"no"			# optional
##	timeout		"2"			# optional
##	mixer_type      "software"              # optional
##}

## An example of a recorder output:
## audio_output {
##       type            "recorder"
##       name            "My recorder"
##       encoder         "vorbis"                # optional, vorbis or lame
##       path            "/var/lib/mpd/recorder/mpd.ogg"
###      quality         "5.0"                   # do not define if bitrate is defined
##       bitrate         "128"                   # do not define if quality is defined
##       format          "44100:16:1"
##}

## An example of a httpd output (built-in HTTP streaming server):
## audio_output {
##	type		"httpd"
##	name		"My HTTP Stream"
##	encoder		"vorbis"		# optional, vorbis or lame
##	port		"8000"
##	bind_to_address "0.0.0.0"               # optional, IPv4 or IPv6
##	quality		"5.0"			# do not define if bitrate is defined
##	bitrate		"128"			# do not define if quality is defined
##	format		"44100:16:1"
##	max_clients     "0"                     # optional 0=no limit
##}

## An example of a pulseaudio output (streaming to a remote pulseaudio server)
## Please see README.Debian if you want mpd to play through the pulseaudio
## daemon started as part of your graphical desktop session!
## audio_output {
##	type		"pulse"
##	name		"My Pulse Output"
##	server		"remote_server"		# optional
##	sink		"remote_server_sink"	# optional
##}

## An example of a winmm output (Windows multimedia API).
## audio_output {
##	type		"winmm"
##	name		"My WinMM output"
##	device		"Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
##		or
##	device		"0"		# optional
##	mixer_type	"hardware"	# optional
##}

## An example of an openal output.
## audio_output {
##	type		"openal"
##	name		"My OpenAL output"
##	device		"Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
##}

## Example "pipe" output:
## audio_output {
##	type		"pipe"
##	name		"my pipe"
##	command		"aplay -f cd 2>/dev/null"
## Or if you're want to use AudioCompress
##	command		"AudioCompress -m | aplay -f cd 2>/dev/null"
## Or to send raw PCM stream through PCM:
##	command		"nc example.org 8765"
##	format		"44100:16:2"
##}

## An example of a null output (for no audio output):
## audio_output {
##	type		"null"
##	name		"My Null Output"
##	mixer_type      "none"                  # optional
##}

## If MPD has been compiled with libsamplerate support, this setting specifies
## the sample rate converter to use.  Possible values can be found in the
## mpd.conf man page or the libsamplerate documentation. By default, this is
## setting is disabled.
## samplerate_converter		"Fastest Sinc Interpolator"

## Normalization automatic volume adjustments
## This setting specifies the type of ReplayGain to use. This setting can have
## the argument "off", "album", "track" or "auto". "auto" is a special mode that
## chooses between "track" and "album" depending on the current state of
## random playback. If random playback is enabled then "track" mode is used.
## See <http://www.replaygain.org> for more details about ReplayGain.
## This setting is off by default.
## replaygain			"album"

## This setting sets the pre-amp used for files that have ReplayGain tags. By
## default this setting is disabled.
## replaygain_preamp		"0"

## This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
## By default this setting is disabled.
## replaygain_missing_preamp	"0"

## This setting enables or disables ReplayGain limiting.
## MPD calculates actual amplification based on the ReplayGain tags
## and replaygain_preamp / replaygain_missing_preamp setting.
## If replaygain_limit is enabled MPD will never amplify audio signal
## above its original level. If replaygain_limit is disabled such amplification
## might occur. By default this setting is enabled.
## replaygain_limit		"yes"

## This setting enables on-the-fly normalization volume adjustment. This will
## result in the volume of all playing audio to be adjusted so the output has
## equal "loudness". This setting is disabled by default.
## volume_normalization		"no"

## MPD Internal Buffering
## This setting adjusts the size of internal decoded audio buffering. Changing
## this may have undesired effects. Don't change this if you don't know what you
## are doing.
## audio_buffer_size		"4096"

## This setting controls the percentage of the buffer which is filled before
## beginning to play. Increasing this reduces the chance of audio file skipping,
## at the cost of increased time prior to audio playback.
## buffer_before_play		"10%"

## Resource Limitations
## These settings are various limitations to prevent MPD from using too many
## resources. Generally, these settings should be minimized to prevent security
## risks, depending on the operating resources.
## connection_timeout		"60"
## max_connections		"10"
## max_playlist_length		"16384"
## max_command_list_size		"2048"
## max_output_buffer_size		"8192"

## Character Encoding
## If file or directory names do not display correctly for your locale then you
## may need to modify this setting.
filesystem_charset		"UTF-8"

## This setting controls the encoding that ID3v1 tags should be converted from.
id3v1_encoding			"UTF-8"

## SIDPlay decoder
## songlength_database:
##  Location of your songlengths file, as distributed with the HVSC.
##  The sidplay plugin checks this for matching MD5 fingerprints.
##  See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq

## default_songlength:
##  This is the default playing time in seconds for songs not in the
##  songlength database, or in case you're not using a database.
##  A value of 0 means play indefinitely.

## filter:
##  Turns the SID filter emulation on or off.
## decoder {
##       plugin                  "sidplay"
##       songlength_database     "/media/C64Music/DOCUMENTS/Songlengths.txt"
##       default_songlength      "120"
##       filter "true"
##}


code:
## NCMPCPP configuration file.
## Connection settings ##
## Set it in order to make tag editor and renaming files work properly
mpd_host = "localhost"
mpd_port = "6601"
mpd_music_dir = "/mnt/Music"
#mpd_connection_timeout = "5"th
mpd_crossfade_time = "2"

## Delays
## Delay after playlist highlighting will be disabled (0 = don't disable)
playlist_disable_highlight_delay = "5"

## Defines how long various messages are supposed to be visible
message_delay_time = "5"

## Song format
## For song format you can use:
## %l - length
## %f - short filename
## %F - full filename
## %a - artist
## %t - title
## %b - album
## %y - year
## %n - track number
## %g - genre
## %c - composer
## %p - performer
## %d - disc
## %C - comment
## %r - begin right align

## You can also put them in { } and then it will be displayed
## only if all requested values are available and/or define alternate
## value with { }|{ } eg. {%a - %t}|{%f}

## Text can also have different color than the main window has,
## eg. if you want length to be green, write $3%l$9
## Available values:
## - 0 - default window color
## - 1 - black
## - 2 - red
## - 3 - green
## - 4 - yellow
## - 5 - blue
## - 6 - magenta
## - 7 - cyan
## - 8 - white
## - 9 - end of current color
## Note: colors can be nested.
song_library_format = "{%n - }{%t}|{%f}"
## media_library_album_format = "{(%y) }%b"
## tag_editor_album_format = "{(%y) }%b"
browser_playlist_prefix = "$2playlist$9 "
selected_item_prefix = "$6"
selected_item_suffix = "$9"

## Colours are not supported for below veriables
song_status_format = "{(%l) }{%a - }{%t}|{%f}"

## song_window_title_format = "{%a - }{%t}|{%f}

## Columns settings
## Syntax of song columns list format is "column column etc."
## 	- syntax for each column is:
## (width of column in %)[column's color]{displayed tag}
## 	- colour is optional (if you want the default one, type [])
song_columns_list_format = "(7)[red]{l} (28)[red]{a} (28)[]{b} (50)[red]{t}"

## Various settings
playlist_display_mode = "columns" (classic/columns)
incremental_seeking = "yes"
seek_time = "1"
autocenter_mode = "yes"
## repeat_one_mode = "no"
#
## default_place_to_search_in = "database" (database/playlist)
## media_library_left_column = "a" (possible values: a,y,g,c,p, legend above)
## default_find_mode = "wrapped" (wrapped/normal)
## default_space_mode = "add" (add/select)
## default_tag_editor_left_col = "albums" (albums/dirs)
## default_tag_editor_pattern = "%n - %t"
## header_visibility = "yes"
## statusbar_visibility = "yes"
## fancy_scrolling = "yes"
## follow_now_playing_lyrics = "no"
## ncmpc_like_songs_adding = "no" (enabled - add/remove, disabled - always add)
## display_screens_numbers_on_start = "yes"
clock_display_seconds = "yes"
## enable_window_title = "yes"
## Colours definitions
colors_enabled = "yes"
empty_tag_color = "white"
header_window_color = "white"
volume_color = "red"
## state_line_color = "red"
## state_flags_color = "red"
main_window_color = "red"
color1 = "red"
color2 = "white"
main_window_highlight_color = "white"
progressbar_color = "red"
statusbar_color = "red"
active_column_color = "white"
window_border_color = "white"
active_window_border = "white"

path: .ncmpcpp/config

license: unknown


code:
## Newsbeuter configuration file.
refresh-on-startup yes
auto-reload yes
reload-time 1
reload-threads 2
browser chromium
download-path "~/Downloads/Podcasts"
feed-sort-order name
max-downloads 1
notify-always yes
notify-format "Newsbeuter: %n unread articles within %f unread feeds"
notify-program notify-send
player mpv
cleanup-on-quit yes
show-read-articles yes
show-read-feeds yes

## Keybindings
bind-key R reload-all
bind-key "RIGHT" select-tag
bind-key "ENTER" open

## Hide some articles
ignore-article "*" "title =~ \"Sponsor\""
ignore-article "*" "title =~ \"Advertisement\""
ignore-mode "display"

## Formatting & colorisation
color background red default
color listnormal white default
color listfocus white default
color info white default
color listfocus_unread red default
color listnormal_unread red default

path: .newsbeuter/config


code:
# Rtorrent configuration file.
# Maximum and minimum number of peers to connect to per torrent.
min_peers = 1
max_peers = 100

# Same as above but for seeding completed torrents (-1 = same as downloading)
min_peers_seed = 1
max_peers_seed = 50

# Maximum number of uploads single torrent may use
max_uploads = 10

# Maximum number of simultaneous downloads
max_downloads_global = 1

# Maximum number of simultaneous uploads
max_uploads_global = 1

# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 0

# Default directory to save the downloaded torrents.
directory = /mnt/Downloads

# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = ./.rtorrent

# Watch a directory for new torrents, and stop those that have been deleted.
schedule = watch_directory,5,5,load_start=./rtactive/*.torrent
schedule = tied_directory,6,5,start_tied=
schedule = untied_directory,7,5,stop_untied=

# Close torrents when diskspace is low.
schedule = low_diskspace,5,60,close_low_diskspace=2000M

# Periodically save session data
schedule = session_save,240,300,session_save=

# Enable the default ratio group.
ratio.enable=

# Change the limits, the defaults should be sufficient.

# Upload minimum ratio
ratio.min.set=1
# Upload maximum ratio
ratio.max.set=25
# Minimum upload size
ratio.upload.set=30M

# When seeding ratio is reached close the torrent
system.method.set = group.seeding.ratio.command, d.close=

# Move files to ./unsorted when download completes
#system.method.set_key = event.download.finished,move_complete,"execute=mv,-n,$d.get_base_path=,./unsorted/;d.set_directory=./unsorted/"

# Port range to use for listening.
port_range = 33101-33199

# Start opening ports at a random position within the port range.
port_random = yes

# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext

# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
encryption = allow_incoming,try_outgoing,enable_retry,prefer_plaintext

# Sort the main view by ratio
view.sort_current = main,greater=d.get_ratio=
view.sort_new = main,less=d.get_ratio=
view.sort = main

# Sort the seeding view by the upload rate and only show torrents with peers
view.sort_current = seeding,greater=d.get_up_rate=
view.filter = seeding,"and=d.get_complete=,d.get_peers_connected="
view.sort_new = seeding,less=d.get_up_rate=
view.sort = seeding

# Sort the leeching view by name
view.sort_current = leeching,greater=d.get_name=
view.sort_new = leeching,greater=d.get_name=
view.sort = leeching

# Filter the active view by connected peers
view.sort_current = active,less=d.get_name=
view.sort_new = leeching,less=d.get_name=
view.filter = active,d.get_peers_connected=
view.sort = active

schedule = sort_main,11,5,view.sort=main
schedule = sort_seeding,12,5,view.sort=seeding
schedule = sort_leeching,13,5,view.sort=leeching
schedule = sort_active,14,5,view.sort=active

# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#dht = auto

# UDP port to use for DHT.
#dht_port = 6881

# Enable peer exchange (for torrents not marked private)
peer_exchange = yes


code:
## Tmux configuration file.
set -g default-terminal "screen-256color"
source-file "${HOME}/.tmux-themepack/powerline/block/red.tmuxtheme"
unbind C-b
set -g prefix C-a
bind | split-window -h
bind - split-window -v
set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind -t vi-copy y copy-pipe 'xclip -in -selection clipboard'
bind C-y run "tmux save-buffer - | xclip -selection clipboard"


code:
" Vim configuration file.

set shell=/usr/bin/zsh
set nocompatible

filetype off
filetype plugin indent off

" Begin vundle setup
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#rc()

filetype plugin on
filetype plugin indent on
syntax on

" Bundles
Bundle 'VundleVim/Vundle.vim'
Bundle 'itchyny/lightline.vim'
Bundle 'tpope/vim-fugitive'
Bundle 'scrooloose/nerdtree'
Bundle 'scrooloose/syntastic'
Bundle 'ervandew/supertab'
Bundle 'majutsushi/tagbar'
Bundle 'fatih/vim-go'
Bundle 'klen/python-mode'
Bundle 'chriskempson/base16-vim'

" Lightline
set guifont=Terminess\ Powerline
set ambiwidth=single
set laststatus=2

let g:lightline = {}
let g:lightline.colorscheme = 'wombat'
let g:lightline.separator = { 'left': '', 'right': '' }
let g:lightline.subseparator = { 'left': '', 'right': '' }

" Nerdtree
map <F2> :NERDTreeToggle<CR>

" Tagbar
map <F3> :TagbarToggle<CR>

" Sytastic
let g:syntastic_always_populate_loc_list = 1

" SuperTab
let g:SuperTabDefaultCompletionType = "context"

" Autoformatting
augroup vimrc_autocmds
    autocmd!
    " Highlight characters past column 120
    autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black
    autocmd FileType python match Excess /\%120v.*/
    autocmd FileType python set nowrap
    " Format go files on save
    autocmd FileType go autocmd BufWritePre <buffer> Fmt
    autocmd BufWritePost $HOME/.vimrc nested source $HOME/.vimrc
augroup END

au BufNewFile,BufRead *Pkgfile set filetype=sh

" Common settings
set tabstop=4       	" Number of spaces that a <Tab> in the file counts for.
set softtabstop=4
set shiftwidth=4    	" Number of spaces to use for each step of (auto)indent.
set expandtab       	" Use the appropriate number of spaces to insert a <Tab>.
						" Spaces are used in indents with the '>' and '<' commands
						" and when 'autoindent' is on. To insert a real tab when
						" 'expandtab' is on, use CTRL-V <Tab>.

set smarttab       		" When on, a <Tab> in front of a line inserts blanks
						" according to 'shiftwidth'. 'tabstop' is used in other
						" places. A <BS> will delete a 'shiftwidth' worth of space
						" at the start of the line.

set showcmd         	" Show (partial) command in status line.

set number          	" Show line numbers.

set showmatch       	" When a bracket is inserted, briefly jump to the matching
						" one. The jump is only done if the match can be seen on the
						" screen. The time to show the match can be set with
						" 'matchtime'.

set hlsearch        	" When there is a previous search pattern, highlight all
						" its matches.

set incsearch       	" While typing a search command, show immediately where the
						" so far typed pattern matches.

set ignorecase      	" Ignore case in search patterns.

set smartcase       	" Override the 'ignorecase' option if the search pattern
						" contains upper case characters.

set backspace=2     	" Influences the working of <BS>, <Del>, CTRL-W
						" and CTRL-U in Insert mode. This is a list of items,
						" separated by commas. Each item allows a way to backspace
						" over something.

set autoindent      	" Copy indent from current line when starting a new line
						" (typing <CR> in Insert mode or when using the "o" or "O"
						" command).
set textwidth=120    	" Maximum width of text that is being inserted. A longer
						" line will be broken after white space to get this width.

set formatoptions=q,r,t " This is a sequence of letters which describes how
						" automatic formatting is to be done.
						"
						" letter    meaning when present in 'formatoptions'
						" ------    ---------------------------------------
						" c         Auto-wrap comments using textwidth, inserting
						"           the current comment leader automatically.
						" q         Allow formatting of comments with "gq".
						" r         Automatically insert the current comment leader
						"           after hitting <Enter> in Insert mode.
						" t         Auto-wrap text using textwidth (does not apply
						"           to comments)

set ruler           	" Show the line and column number of the cursor position,
						" separated by a comma.

set background=dark	    " When set to "dark", Vim will try to use colors that look
						" good on a dark background. When set to "light", Vim will
						" try to use colors that look good on a light background.
						" Any other value is illegal.

set mouse=a         	" Enable the use of the mouse.
set laststatus=2
set showtabline=2
set noshowmode
set autochdir
set clipboard=unnamed
set colorcolumn=120
set nobackup
set nowritebackup
set noswapfile
set noundofile
set completeopt=longest,menuone
set omnifunc=syntaxcomplete#Complete
set termencoding=utf-8
set term=xterm-256color

if has ('gui_running')
    highlight Pmenu guibg=#0a0a0a gui=bold
else
    set t_Co=256
endif
colorscheme Tomorrow-Night

" Go tags
let g:tagbar_type_go = {
            \ 'ctagstype' : 'go',
            \ 'kinds' : [
                \ 'p:package',
                \ 'i:imports:1',
                \ 'c:constants',
                \ 'v:variables',
                \ 't:types',
                \ 'n:interfaces',
                \ 'w:fields',
                \ 'e:embedded',
                \ 'm:methods',
                \ 'r:constructor',
                \ 'f:functions'
            \ ],
            \ 'sro' : '.',
            \ 'kind2scope' : {
                \ 't' : 'ctype',
                \ 'n' : 'ntype'
            \ },
            \ 'scope2kind' : {
                \ 'ctype' : 't',
                \ 'ntype' : 'n'
            \ },
            \ 'ctagsbin' : 'gotags',
            \ 'ctagsargs' : '-sort -silent'
\ }

" Python mode
let g:pymode_python = 'python'
let g:pymode_rope = 1
let g:pymode_doc = 1
let g:pymode_doc_key = 'K'
let g:pymode_lint = 1
let g:pymode_lint_checker = [ "pyflakes", "pep8" ]
let g:pymode_lint_write = 1
let g:pymode_virtualenv = 1
let g:pymode_breakpoint = 1
let g:pymode_breakpoint_key = '<leader>b'
let g:pymode_syntax = 1
let g:pymode_syntax_all = 1
let g:pymode_syntax_indent_errors = g:pymode_syntax_all
let g:pymode_syntax_space_errors = g:pymode_syntax_all
let g:pymode_options_max_line_length = 120
let g:pymode_folding = 0

path: .vimrc


code:
#!/bin/sh
# Executed by startx (run your window manager from here)

# Variables
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# Merge in defaults and keymaps
if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# Sourcing shell scripts
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

# Custom stuff
exec i3
start-pulseaudio-x11 &

path: .xinitrc


code:
# ZSH configuration file.
# Path to your oh-my-zsh installation.
export ZSH=/home/matthew/.oh-my-zsh

# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="minimal"

# Uncomment the following line to use case-sensitive completion.
#CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
#HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
#DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to change how often to auto-update (in days).
export UPDATE_ZSH_DAYS=7

# Uncomment the following line to disable colors in ls.
#DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
#DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
#COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
#DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
#HIST_STAMPS="dd.mm.yyyy"

# Would you like to use another custom folder than $ZSH/custom?
#ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)

# User configuration
export PATH="/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin"
#export MANPATH="/usr/local/man:$MANPATH"
source $ZSH/oh-my-zsh.sh

# You may need to manually set your language environment
export LANG=en_GB.UTF-8

# Preferred editor for local and remote sessions
#if [[ -n $SSH_CONNECTION ]]; then
#export EDITOR='vim'
#else
#export EDITOR='mvim'
#fi

# Compilation flags
#export ARCHFLAGS="-arch x86_64"

# SSH
#export SSH_KEY_PATH="~/.ssh/dsa_id"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.

# Example aliases
#alias zshconfig="mate ~/.zshrc"
#alias ohmyzsh="mate ~/.oh-my-zsh"

# ZSH syntax highlighting
. /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

path: .zshrc


code:
# Forget these =P

$RECYCLE.BIN/
*~
.DS_Store
Desktop.ini
Thumbs.db
bin/
content/
ehthumbs.db
var/
output/

lib/
site/static/artwork/rob_michaud/

repo_name: vaeringjar/fenrispunk

path: .gitignore


code:
# ---------- ---------- ---------- ---------- ---------- ----------
#
#   fenrispunk
#
# ---------- ---------- ---------- ---------- ---------- ----------

target: help

.PHONY: help
help:
	@echo "Usage: make [PHONY]"
	@sed -n -e '/sed/! s/\.PHONY: //p' Makefile

.PHONY: init
init:
	@git clone https://notabug.org/vaeringjar/fenrispunk-assets.git lib/fenrispunk-assets \
            && rsync -av --delete lib/fenrispunk-assets/artwork/rob_michaud/ \
               site/static/artwork/rob_michaud/ \
            || echo "failed to get fenrispunk-assets"
	@touch headlines.org

.PHONY: build-home
build-home:
	@./build-home-page || echo "Suggestion: make init"

.PHONY: build
build: build-home

.PHONY: rebuild
rebuild: clean build

.PHONY: clean
clean:
	@echo "stub"

.PHONY: flag-terms
flag-terms:
	@echo "Flag terms to avoid:"

	@grep -Iirn 'dungeons \(&\|and\) dragons\|d&d\|\bsins\b\|starfinder' \
            ./ \
            --exclude=Makefile \
            --exclude-dir=archive \
            --exclude-dir=.git \
            --color=always \
            || echo "pass"

path: Makefile


code:
#+TITLE: README

* About

A cyberpunk ttrpg full of satire, groaner jokes, and propaganda.

----------------------------------------------------------------------

* License

Copyright 2019 vaeringjar.

Work distributed under the CC BY-SA 4.0.

* Acknowledgements

/See the [[file:site/about/index.org::#credits][Credits]]./


code:
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
# -*- Mode: shell -*-

get-date() {
    # sed -n '/#+DATE/p' ${file} | sed -n -e 's/<//p' | sed -n -e 's/>//p' | awk -F ': ' '{ printf $2 }'
    echo `sed -n -e 's/#+DATE://p' $1 \
         | sed -n -e 's/<//p' | sed -n -e 's/>//p'`
}
get-desc() {
    echo `sed -n -e 's/#+DESCRIPTION://p' $1`
}
get-keyw() {
    echo `sed -n -e 's/#+KEYWORDS://p' $1`
}
get-link() {
    echo '.'${1:4}
}
get-titl() {
    echo `sed -n -e 's/#+TITLE://p' $1`
}
get-entry() {
    local file=$1
    #NOTE: I don't think I want the keywords right now.
    # `get-keyw $file`'\n'\
    echo -e '* '`get-date $file` - `get-titl $file`'\n'\
'[[file:'`get-link $file`']['`get-desc $file`'...]]\n'
}
error-exit() {
    echo "Missing: "$1
    exit 1
}

build-home-page_main() {
    local homePage1=template/home-page-1.org
    local headlines=headlines.org
    local homePage2=template/home-page-2.org
    local outfile=site/index.org

    if [ -f "$homePage1" ]; then
        echo "$(cat $homePage1)" > $outfile
        echo '' >> $outfile
    else
	error-exit $homePage1
    fi

    if [ -f "$headlines" ]; then
        echo "$(cat $headlines)" >> $outfile
        echo '' >> $outfile
    else
	error-exit $headlines
    fi

    local array=(\
          ` grep -irn '#+Date' site/archive/ \
          | awk -F ':' '{print $4":"$5"|"$1}' \
          | sort -r \
          | head -n 5 \
          | awk -F '|' '{print $2}'`)
    for file in "${array[@]}"
    do
        echo -e "`get-entry $file`" >> $outfile
	echo '' >> $outfile
    done

    if [ -f "$homePage2" ]; then
        echo "$(cat $homePage2)" >> $outfile
    else
	error-exit $homePage2
    fi
}

build-home-page_main $@

path: build-home-page


code:
* Headlines

Fenris Punk is playable, but please consider the available rules in
Alpha state.

Currently working on:

- Refining [[file:core-rules/character-creation.org][character creation]]
- Decoupling from other game systems
- Applying feedback from others
- Entering notes into the website


code:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


code:
#+SETUPFILE: ../../template/level-1.org
#+OPTIONS: toc:auto
#+OPTIONS: ^:nil
#+OPTIONS: _:nil
#+TITLE: About
#+Description: About and primary contributors.

* Origin

Once upon a time, a group of friends all wanted to play a table-top
role playing game, but could not decide on the rules. So for a while
we tried playing existing games. The first game was too hot, the next
was too cold. Then we made things up as we went along. Then we decided
to formally craft our own game. That one was just right.

#+HTML:

* Blog

Follow our @@html:@@rss feed@@html:@@!

* Roadmap
:PROPERTIES:
:CUSTOM_ID: roadmap
:END:

Throughout the site, if a header has a TODO tag, it usually means that
remains a WIP.

For now the different part of the game will use different sets of
milestones, unless they directly relate to each other. The core rules
will follow numeric milestones. The artwork and game tools will follow
alphabetical milestones.

** Milestone 1 - Beta Release

The list for the Beta will likely change over time. Interested folks
can refer to the git log in the repo.

- Finish character creation.
- Add more about Role Playing and Inspiration in the core-rules/index.
- Distinguish between the different Attempts: skills, saves, and
  wills.
- Fill in tables; see todo notes for [[file:../tables/index.org][tables]].

** Milestone 2 - Expanded content

- Metamorph rules
- AI rules
- Controlling Drones/Remotes
- Add the NPCs
- Garra's Catalogue
- Drone deliveries
- Combat Scales - In terms of characters, groups of characters,
  vehicles, etc.
- Megacorps
- More details about places, countries, arcologies, especially in
  Cascadia

** Milestone A - Map renderer tool

- Load a map without exiting the program.
- Optimize the refresh rate.
- Establish a standard ascii coordinate to sprite standard.
- Create more ascii maps to load.
- Create more sprite templates.

----------------------------------------------------------------------

* Credits
:PROPERTIES:
:CUSTOM_ID: credits
:END:

** Contributing Artists

- Rob Michaud for donating most of the artwork!

** Additional art

- BlackSwordo's [[https://opengameart.org/content/werewolf][werewolf]] we reused for the favicon having the CC-BY
  4.0.

** Acknowledgements

- Written using [[https://www.gnu.org/software/emacs/][emacs]] with [[https://orgmode.org/][Org mode]].
- Website generated with [[https://notabug.org/vaeringjar/static-site-generator][static-site-generator]].

** Source

Distributed under the [[https://creativecommons.org/licenses/by-sa/4.0/][CC BY-SA 4.0]].

- Primary repository :: [[https://notabug.org/vaeringjar/fenrispunk][fenrispunk]]
- Assets repository :: [[https://notabug.org/vaeringjar/fenrispunk-assets][fenrispunk-assets]]
- Gaming tools repository :: [[https://notabug.org/vaeringjar/fenrispunk_tools][fenrispunk_tools]]

** Inspiration from

- William Gibson's Neuromancer
- J. R. R. Tolkien's Middle-earth
- The [[https://media.wizards.com/2016/downloads/DND/SRD-OGL_V5.1.pdf][SRD5]], released under the OGL 1.0a
- Countless other ttrpgs and cyberpunk and steampunk stories

** Special thanks to

- [[https://peers.community/][The Peers Community]]
- [[https://redcastlegames.com/][Red Castle Games]] for meeting space before the pandemic.
- [[https://meet.jit.si/][Jitsi Meet]] for meetings during the pandemic.


code:
#+SETUPFILE: ../../template/level-1.org
#+OPTIONS: toc:auto
#+TITLE: Actors
#+Description: List of the main actors, characters, creatures.

* TODO Actors

/Stub/


code: * stub archetypes


code:
#+SETUPFILE: ../../template/level-1.org
#+OPTIONS: toc:auto
#+TITLE: Archetypes
#+Description: List of the main archetypes.
#+HTML:

* Archetypes

** TODO Bodge Face

Most of the time they'll con you out of all your credits. But other
times they mess up and that's all folks!

** TODO Bounty Hunter

/Stub./

** TODO Cracker Hacker

/Stub./

** TODO Death Mage

Because they always have a chance of killing themselves when they try
to kill you.

** TODO Double Bass Tank

Magically enhanced, tough, strong individuals who get even faster when
listening to some musical genres.

** TODO Street Sam

A korp(orate) crow always cleaning up the corporate garbage and
feeding the crows. Sometimes called a Screaming Fist.

** Technomancer

/Stub./

* See also

- [[file:../tables/Archetypes.org][Archetypes table]]
- [[file:../tables/ArchetypeLevels.org][ArchetypeLevels table]]


code:
#+SETUPFILE: ../../template/level-1.org
#+TITLE: The Fenris Punk Blog
#+Description: Stub.

See the [[file:../sitemap.org][sitemap]].


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Criticism of TTRPGs
#+DATE: <2019-10-31 Fri 03:19>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: Thoughts about existing games and what to avoid.
#+KEYWORDS: criticism conversion ttrpg

* Update notes

This originally started as an ongoing notes file before it became a
blog post.

* General Critique

Ability scores do not always match or easily convert or encode
real-world measurements. E.g. using IQ or physical feats such as 5k
run times.

* D&D 5

** Armour

- Helmets :: Why no common helmets? OOU, they represent the only type
             of armour most folks continue to use. Or, maybe I will
             just treat IU d&d5 chacters as completely unskilled at
             using helmets.
- Leather :: ~Leather armour, particular with studs, is probably
             without any OOU basis.~ I stand corrected regarding
             leather with the [Brigandine][2], though studs by
             themselves without also having metal plates seems like
             wearing a nail. Also I still feel that gambesons get
             undervalued IU.

** Bias

- Halfling :: The term [Halfling][1] already seems racist OOU and just
              feels like a copy of EU hobbits, without the
              name. Though apparently some use it to mean a person of
              mixed heritage, which also seems racist.
- Humans :: Having a "standard" and "variant" human seems like an
            oversimplification of diversity, OOU.
- Languages Common :: Having "Common" as a language means that either
     there's a bias to humans as the default or that humans have no
     language.

*** Orcs
- Why no orc option? If one can play character who has an orc as a
  parent? Also feels racist.
- The game seems to consider Orcs and some other beings evil, allows
  evil players, but seems to use "evilness" as a reason to exclude
  some beings from default playability.

** Combat

- Combat Reactions :: These initialize with the first round and reinit
     with subsequent turns [3][4]. It would be fairer to all players,
     though harder to track, if in the turn to make it init on the
     turn and to reinite one round later at the turn they used it
     previously. Or it would be simplier to just make both the init
     and reinit happen at the top of the round.
- Combat Surprise :: If someone counts as surprised and rounds take up
     6 seconds of time, it makes no sense that they would simply not
     move or perform actions. They should at least continue with their
     business. Or the surprise round takes up less time than 6
     seconds.

** Numbers, General

- Metric System :: D&D uses USC instead of SI.
- Money :: As of 2019-03-01, the value of gold at 1315.19 US$/troy-oz
           significantly overshadows platinum at 872.89 US$/troy-oz,
           where the IU statically places platinum above gold. I think
           IU should have some kind of system build in to mind the OOU
           market value fluctuations.

* PF 2

- Bias :: If humans really have the most diverse group, then why do
          the elf-folk have four ancestries and the human-folk only
          have two?
- Shields :: The Pathfinder Second Edition rules make AC from shields
             something that requires active management. It turns the
             shield into portable cover with its own HP. But in what
             state does someone carry a tower shield where it does not
             provide any sort of cover when surrounded on all eight
             sides?

* SF

- Material Hardness :: It seems unclear whether or not the game
     developers used an existing OOU hardness scale. Perhaps Rockwell
     C since it matches for one point in the grand range of steel,
     listed as 20.

* SR

- The Matrix :: If SR copied so much from Neuromancer, including the
                idea of the matrix, how does SR have the trademark and
                how did the movies get to use the names?

** 4th edition

- With all the reorg for country maps in North America, Alta
  California previously of Mexico feels like it gets forgotten.
- Magic vs Tech :: SR has concept where magic only affects
                   non-technologic objects. But since cyberware either
                   is-a magical item or has-a magical property of its
                   own, eg Essense, that means the magic SR folks use
                   probably only represents a subset of all
                   magic. Nerfed magic. So for this game, ignore that
                   distinction. I've said it before, "Essense and
                   Magic are coupled"[5].
- Shields :: IU, anyone using one suffers a penalty for all
             occasions. OOU, if these had no advantage they probably
             would not exist as ubiquitous tools around the world.

** Sprites

Instead of just using the huge AI spectrum, for some reason SR has
another term for these.

- Sprite Powers :: Most of these powers enable the Technomancer
                   abilities that any contemporary hacker or cracker
                   could do today, albeit without the discipline of
                   learning it the conventional manner.

* References

[1]: https://en.wikipedia.org/wiki/Halfling
[2]: https://en.wikipedia.org/wiki/Brigandine
[3]: https://rpg.stackexchange.com/questions/150727/when-does-a-characters-reaction-reset-per-turn-or-per-round#answer-150749
[4]: https://web.archive.org/web/20190812030338/https://rpg.stackexchange.com/questions/150727/when-does-a-characters-reaction-reset-per-turn-or-per-round#answer-150749
[5]: https://web.archive.org/web/20190813231340/https://drek.is/archive/20131026/shadowrun-critique/


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Implementation notes
#+DATE: <2019-10-31 Fri 03:19>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: Thoughts about implementing some rules.
#+KEYWORDS: criticism implementation ttrpg

* Update notes

This originally started as an ongoing notes and commentary before it
became a blog post.

* General Notes

- Added some "Norse Mythology" rows to the data, not for the purpose
  of playing it, but as a control case for comparison while filling in
  data.
- Simple weapons assume anyone can use it, so treat all others as a
  required skill set.
- Assume non-cumulative row, with the exception of ArchetypeLevels,
  which currently sums each in its ArchetypeFeatures column.

** Cyberpunk Tropes

Some of these exist beyond cyberpunk universes.

- The Connexion :: Usually an interface between biology and machines.
- The Event :: SF (iirc) actually calls it the event. SR has a series,
               but calls the first one the Awakening. Dark Angel
               (cyberpunk, albeit not an rpg universe) has the Pulse.
- The Penalty :: The penalty for doing or having too much foo. In
                 Alternity they call it Cykosis. In SR they call it
                 Essense Loss. In Star Wars they call it Dark Side
                 Points.

* Jargon

This attempts to not reuse words that have strong meaning OOU to
confusingly apply to something IU.

- Class :: Becomes Archetypes.
- Race :: Becomes Beings. Note, PF2 tries to use the word "Ancestry".

* D&D5e

- Wizards and Clerics have the same MagicLevels. That seems too
  complicated. Combine them for simplicity.
- Ki points mostly do the same as spell slots, so Ki acts as another
  kind of magic.
- Spell Components :: Use the word ingredients or input instead. This
     could also fall into jaron or critique.

* SR 4

- Edge has similarities to some D&D 5 or 3.5 luck rules.
- Drain can turn into a side effect when rolling a 1. Take damage for
  the level of the spell cast.
- Called Shot, "calling a shot" or "call a shot" works with non full
  auto attacks, should target weak spots, and have
  plausibility. Increase the DC by 10 for every extra dice rolled, not
  modifiers. For example, an attack DC 15 with damage 1d6+1 with a
  called shot would become DC 25 and 2d6+1. Requires spending 1
  movement and 1 available reaction for the turn, thus no reactions
  and a -1 to movement for many players.
- Full auto or FA refers a sustained attack against a target with a
  weapon.
- Combat Delivery - Order more ammo in combat. Use you comlink to
  order for 1d4 Rounds until arrival. Price TBD.

** Essence

- In SR4 this has something to do with spell power and magical effects
  on cybernetics and resulting insanity.
- Treat it as a modifier to the number of spell slots. SR starts at 6,
  but this will start at 0.
- When Essence has dropped below -6, the player must roll a DC (20 +
  Essence) after each long rest. Failures suffer EssenceLoss which
  works similarly to Exhaustion.


code:
* Reactions, interruptions, etc

https://rpg.stackexchange.com/questions/150727/when-does-a-characters-reaction-reset-per-turn-or-per-round


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: The Lightspeed Barrier
#+DATE: <2020-12-03 Thu 12:12>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: A death mage and a group of dwarfs try to create a weapon using a spell that out of universe is a commentary on turn-based games.
#+KEYWORDS: criticism implementation ttrpg

* Prologue

I wrote this as a thought experiment into the mad mind of a death mage
trying to solve a problem like a scientist who has extra physics,
specifically magic, and to toy with some of the strange rules related
to turns in turn-based games. I will explain some of the meta problem
at the end.

I removed a bit of content regarding a fictional pandemic AARS,
pronounced like "arse", I wrote some of the background to this before
the COVID-19 pandemic. In the Fenris Punk universe, AARS is an
engineered pathogenic weapon that targets magic users, created by the
fictional Daifin Group, a megacorp co-based in Cascadia and Japan. I
removed most of these details related to AARS, but one can guess when
and where in the text the narrator refers to it.

* Part One, AlmostFairness

Years ago, my sensei, Taka The Wise, taught a magic spell called
AlmostFairness, naturally written in the camelCase for maximum
hacks. It places a sort of a minor, but effective curse on a set of
folks so they must perform a set of tasks in a particular order. It
lasts one minute and only dragons and werefolk automatically have
resistance to it. Over the years I have become proficient at casting
it upon an unlimited number of folks at once, though they must all
remain within view. It dawned on me one day that I might use it to
perform a large number of actions across a distance so lengthy that
the fairness part of the spell might break some speed barriers.

But it will not work on dragons, obviously not dragons. It goes
without saying they are not fair, but I love talking about dragons, so
I will say it, the rest of it, anyway. They have so much power and
mystery, though such a terrible appetite when it comes to
humans. Well, never trust anyone, I tell you, especially not a dragon,
unless one happens to have a spell that can give oneself an absolute
advantage. If you ever find yourself turning into a dragon, tell your
loved ones to give you some space, otherwise you might eat one or roll
over on one by mistake or on purpose. Most folks never turn back and
stay dragons forever.

On the other hand, werefolk's bad reputation can largely be attributed
to Hollywood. I would not expect every artifact from that industrial
giant to come out shiny and pristine, but the fact they have tarnished
so many of the good werefolk over the years, with the exception of
that basketball movie, well, it really distresses me. But no one with
any magic goes outside these days. That might be a good thing, if it
at least keeps some of the chud-wizards inside.

But apparently the ingredients required for the spell gives werefolk
some kind of an immunity. So instead of asking them, the werefolk, to
help volunteer for this, I approached the Underett Track and Field
League for Dwarfs. I knew they had the space, and with AlmostFairness
I knew I could order their actions precisely, and with the help of a
highly optimized QuickSpeed and a few JumpPortals along with a
VoidTrap, I might have some serious power to use against a tyrannical
creature plaguing my homelands.

* Part Two, Sport Pub

A month ago I asked Siddig Isaac Gandalfsbarn November Ezra, more
famously known as Coach Signe, but just Coach to close friends, if the
Underett T&FL4D would agree to help in a scientific experiment to stop
one of the most menacing dragons in the Pacific Northwest. At first
Signe had a skeptical look of doubt, as if I had dangled the last
slice of cake in front of a latecomer child during a birthday party
and eaten it outright with a false promise of more to come.

I knew I had to explain it, even though to me it seemed so clear. I
needed a group of reliable folks who I could cast the spell upon, and
with the help of other augmentation spells, send a particle of matter
round and round until I had the weapon. None of my magic could stop a
dragon any more than my fists could stop a bear. But using my fists to
manipulate other tools upon tools, I could create a bear trap and
catch the bear. Or use magic to stop the dragon.

Now, unfortunately, Signe still did not quite get it. So I broke it
down into a sport analogy over several steins of ale and a few bottles
of wine. We found a good pub, one without any chuds, Underett being a
very civilized place. They had a pinball machine that I magically kept
inserting coins into, no one suspecting a magic user these days. And
even without that, we managed to top the high score. I procured a
round of shots for everyone in the establishment, which seemed like a
good idea at the time, though I think they double charged me. At that
point I honestly cannot remember what I said, but it seemed to have
worked. Because the next day, after taking some stims to get over the
hangover, Signe called me to the track, with a team of no less than
one thousand dwarfs huddled around the stadium.

* Part Three, Frozen

Three weeks later, nothing worked, and fifty dwarfs had to go to the
hospital for burns. I tried different materials in the spell, such as
tungsten, carbon, carbon turned to diamond from a previous failure.
One night I spent all my energy trying to catch one of the rods and I
froze my hand, literally, while using ZeroCool. Signe had a medic on
staff, an android who looked like the stereotypical logic-space elf
and even gave the hand gesture. I never got their name, we can call
them Medicoid, or I did, but all I could do to not pass out involved
shouting obscenities at the ground.

So Medicoid injected me with something that made the rest of my arm,
it was the right hand, feel like it was freezing also, but slowly
thawed my hand back out with the most unpleasant feeling of pins and
needles and a microwave oven blasting radiation and being dropped on
my hand all at once. Twenty minutes of that or so later and I could
open and close my hand again.

It gave me some time to think, during the time before my hand
worked. The JumpPortals kept closing before I could send the rod
through enough times, with or without the dwarfs handing it off. I
tried moving them against each other, but one side kept failing and it
would pop out. I tried looping the dwarfs around the track and giving
them QuickSpeed to increase their capacity to perform more tasks to an
incomprehensible amount into the hundreds of thousands, but that
caused friction like atmospheric reentry. Lowering the pressure just
made the rods hotter. This was pushing the limits of my power, and
having a more stable portal, more dwarfs, or more of a vacuum seemed
like dead ends.

Then Medicoid asked me what troubled me. Obviously watching my vital
signs with those dang eye enhancements. Of course some of the dwarfs
could do the same. "Why not just send information?" they asked me. I
pondered this: The dwarfs must take turns in order to remain fair. To
my knowledge, AlmostFairness has no quantum elements to it that ensure
this fairness. I might even be able to accomplish it if I alternate
the dwarfs across opposite sides of the track.

But what was the thing I was going to catch? Sending a rod at high
speeds with a VoidTrap to bottle it up under certain conditions was
one thing. I flipped open my nigh infinite spell book, via AR, to read
about meta spells and dispel and reactionary trigger spells.

* Part Four, Supercollider

That probably all sounds great. It sure took some of the edge off from
having the hand unfrozen. Most of it eventually turned dark blue and I
needed partial nano-reconstruction surgery. I probably could have
fixed it myself, but I needed my mind for other tasks. It took me
another month to research and experiment with the VoidTrap.

Then for the 2064 Underett Cup I bought a ticket, total nose bleed
section. I intended to cast the AlmostFairness on the entire audience
and placed a VoidTrap. An associate of mine, we can just call them
Ulfy, came along with some party poppers. I needed someone who could
help cause a diversion and not fall prone to the fairness. With so few
mages still alive, security was no match for me, and I was not the
true threat.

Before I cast the spells, I first used a Debuffer, a synthetic downer
created by Daifin to reduce the reaction of mages. It came out before
AARS, which mostly wiped us out. They really hate us. It made me
vomit, but I needed to act quickly, but last when it came to the
fairness. I cast the VoidTrap to trigger on causal speed of "the
fairness spell" with myself as my adversary. I hoped the large
population set of the stadium attendees would give enough paths for
the information to disperse randomly, but far enough.

Six seconds later a pulse of light flashed over the audience and shot
over to my collection device. Ulfy's poppers would have been useless,
I realized only then, but at least if it maimed or killed me I would
not have just died alone in a crowd. The game referees called
interference and the one werefolk playing on the home team looked with
confusion at the other players. I held back another urge to vomit long
enough to create a portal and actually fall over through it.

* Part Five, BFG

The collection device needed both a huge power supply and a magical
boost. I threw it into the refrigerator, which also acted as a Faraday
cage, and stepped into my lab's chemical shower. I hoped I had not
accidentally given anyone cancer from possible radiation exposure. At
least we had a cure for it now.

Brick sat on the only couch in a room full of sinks, motors, and
various clutter. I hired him once before, topside, after working with
him on several "cases" for the local authorities, mostly finding miss
persons. Most of them turned out dead, but occasionally we saved
someone. Brick fell into all trope categories related to brutish thugs
and mighty humans, but he was necessary. Never do something alone, but
never trust them either. Too many rules. Time was running out. I
turned off the water and put a change of clothes on without drying
off. "Okay that's it. I got it. Load it into the magazine and we go
worm hunting."

* Appendix

This originally came up as a thought experiment purely related to
traveling a straight line, for a large number of actors, in a single
turn. Imagine a relay race with a series of dwarfs of length x where x
is s times a constant 300,000,000 meters plus y. We will use s equals
6 because that's the number of seconds SRD5 uses, but we could easily
use any value from another game system, such as SR6 which uses 3
seconds. In most cases, do not worry about the length of the round,
just that we have a lot of dwarfs, a w-load of them! The constant
value equals the distance light can travel in a vacuum in one second
(actually 299,792,458 meters, but like most calculations we'll round
up).

We have enough dwarfs to span the distance in a line such that each
gap z between each of them equals the distance they can move in a
turn, each dwarf can move the same distance for our thought
experiment, and each dwarf will pass a baton to the next dwarf. We
will ignore silly things like are we running this relay race in a
vacuum? Or, how do the dwarfs breathe in the vacuum? Or, how do the
dwarfs safely pass the baton? Do the dwarfs run in a curved/circular
track or in a straight line? Just put those aside for now.

So even though each dwarf only travels z, which in most cases will be
around 10 meters in their 6 seconds, the baton travels faster than
light. In-universe we have a problem because the baton and the dwarfs
travel at different speeds (maybe). Out-of-universe we have a problem
because we just broke the speed of light.


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Working on roadmap items, mainly archetypes
#+DATE: <2020-11-27 Fri 10:44>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: A quick update on the rules.
#+KEYWORDS: website rules character-creation

Given feedback from players and others, I have updated and changed
some character creation rules. I generally spend just a few minutes a
day working on the rules, but I try to keep working on it, regularly.
Some terms have changed along the way. Since Fenris Punk focuses on
multi-archetype leveling, I moved some level-up features into the
CharacterLevels table and renamed them to milestones for now. Things
would progress faster if more folks used git, but I'll take whatever I
can get! Remember to consider the rules as alpha quality for the time
being, until I finally transcribe everything. Take a look at the
[[file:../../about/index.org::#roadmap][Roadmap]] for more.

I still need to fill in the rest of the ArchetypeLevels table. And to
make Fenris Punk rules complete, I should also define more common
terms that non-ttrpg players might not know, that experienced players
take for granted.


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: More work on the website
#+DATE: <2020-11-12 Thu 11:15>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: More work refining the new website.
#+KEYWORDS: website

* Minor updates

The world continues to live through a pandemic and contested
democratic elections in several countries around the world...

For me, I'd like to keep the dystopia in the game... I added some more
details about the universe and reorganized the website. Most pages
remain stubs. I need to refactor some of the campaign pages by
removing setting details and playtest notes.

I also would like to continue removing as many trademark phrases as
possible. The idea behind drain, glitches, or malfunctions when
casting magic could get a new name as well as the term for side
effects from too much cyberware. I would also like to remove all OGA
content so we do not have any issues with licensing. Data in a table
or even an exhaustive truth table should be fine, but the actual names
should go away, such as the spell names or magic item or weapon names,
unless it has a name so common removing it would just cause confusion,
such as "short sword".


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Website and a new name
#+DATE: <2020-10-28 Wed 23:14>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: New name and refactoring dokk-ttrpg to a website.
#+KEYWORDS: website

* Thanks

First, a special thanks to Rob Michaud who has donated several
pictures to the project! Some of these images come from other projects
of his, so perhaps we will get crossovers in the future.

* Website and a new name

On Saturday, 2020-10-10 11:29 AM, Rob informed me about a similar
project called Sins. I loved that name... I had planned on using it
for years. But I would much rather not cause any bitter rivalry or
confusion. I decided we should rename SINS is not SR to something
else: Fenris Punk.

Note that I still need to rename/refactor the related game tools
project. The legacy haskell probability and random value generator I
will probably leave alone, but the map renderer still needs a new
name, TBD.

I also decided to start refactoring dokk-ttrpg into a website to make
it more accessible to folks who don't... git orgmode XD. Chances are
you're reading this in html not in orgmode. The files will take a
while to refactor, so most pages will lack the site format.


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Playtest 2019 Character Creation
#+DATE: <2020-11-01 Sun 11:37>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: Notes dump for early version of character creation.
#+KEYWORDS: playtests

* Playtest 2019 Character Creation

Early on in July through September 2020, we used the following rules:

- Start with level 2. Multiclass available.
- Disregard encumbrance, within practical reason.

** Choose Being

- Dwarf
- Elf
- Human

** Choose Class

- Hit Dice
- Hit Points
- Proficiencies
- Other Class Features (Spells, Styles, etc)

*** Combat Mage

- Modified version of the Wizard.
- Can only carry 1 magazine to begin.
- Disregard material components.
- All spells risk specific critical failure side effects when rolling
  a 1.
- Can cast after slots run out and risk additional, worse side
  effects.
- Martial, Magical

*** Bounty Hunter

- Modified version of the Barbarian.
- Starts with 12 magazines, 2 extra projectile weapons.
- Martial
- Dual Fire

*** Street Samurai

- Modified version of the Fighter.
- Starts with 10 magazines.
- Martial

*** Technomancer

- Modified version of the Monk.
- Proficient with computers.
- 3 magazines.
- Lucky(Levels of Technomancer), Magical
- Treat ki as spells

** Calculate Ability Scores

Standard distribution:
15, 14, 13, 12, 10, 8

Then modify by the Being and Class.

** Choose Background

The SRD only has Acolyte.
- Additional Skill Proficiency
- 2 Languages or 2 Tools or 1 of each
- Alignment
- Faith
- Lifestyle
- Characteristics
- Features

** Choose Cyberware

- Choose any combination from Version 1 with up to -6 critical failure
  penalty (these rules have significantly changed).

** Choose Equipment

- 1 projectile weapon.
- 1 melee weapon.
- 1 armour.
- 1 libre comlink, the Flossy X7 with subvocal mic.
- 1 medkit (modified version of the Healing Potion).
- 1000 Nuyen.


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Followup playtests one and two
#+DATE: <2019-07-31 Wed 00:00>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: SPOILERS! Notes from playtests.
#+KEYWORDS: playtests

* Update

Please note this has prelimiary campaign details and may contain
spoilers.

* Dear Players

Thanks everyone for coming to my play tests for my rules
adaptation/conversion. For the rules, I mostly used the 5.1 SRD [1]
and 5esrd.com [2].

The source lives here [3]. I plan on adding all the data to a project
called dokk that would allow web clients (or similar) to consume the
data.

Thanks for reminding me about the Gunslinger class [4].

Recap:

* Playtest 1, Steal the MacGuffin

Big Cheese hired the team and provided a grumpy but competent driver
for their van.

In the early afternoon on a cloudy day in July, a van dropped off Zuko
and Cendre in a busy downtown area to obtain the briefcase held by
"Big Mac" by whatever means. As they approached, a not-so-well-dressed
dwarf, Bystander A followed Zuko down the street. Cendre split off and
circled back to tail Bystander A. A group of rent-a-cops, Thugs C,
followed Cendre. Zuko walked through an extrnal passage way under the
middle of one of the buildings and used a [SPELLNAME] to distract
Bystander A. Then he entered the cafe, full of customers. Bystander A
asked for help, and Zuko told him to go into the corner of the
cafe. Meanwhile, Cendre approached Thugs C, to exchange words, but the
group passed him by while one told him to leave the problem to
them. Just as Thugs C, surrounded the cafe from both sides, Bystander
B, a mechanized drone window washer operator jumped down from one of
the buildings, killing one and mortally injuring another of Thugs
C. Bystander B continued into the passage towards the cafe to attack
the remaining members of Thugs C. Zuko and Bystander B killed all but
one of Thugs C from the cafe. This left two survivors from Thugs C,
who retreated.

Meanwhile, Cendre engaged in close melee with Big Mac, who nearly
clobbered Cendre to death with his warhammer, though Cendre snatched
the MacGuffin. But during the struggle, Agent D appeared and Big Mac
fled the scene.

Bystander A and B left together.

Zuko and Cendre returned to the van with the MacGuffin.

* Playtest 2, Surprise Office Party

Our team drove back to the office building and after the driver
cleared the security checks and parked, he left the group. Cendre,
badly injured, remained in the van to rest.

Ardric, Zuko, and Denzen headed up to the 19th floor of an office
building. Security A and B greeted them at the elevator, then Security
A led them down to the office of Big Cheese. Ardric and Denzen waited
in the hall with Security A. Zuko went into the office and presented
the MacGuffin.

Just then, an armed group, Paramilitary C blocked both ends of the
hallway and started firing. Security A fell without a fight, but
Security B took out one of the Paramilitary C. Eventually our team all
took cover in Big Cheese's office behind the desk, and gradually
picked off the rest of Paramilitary C.

Zuko completed the exchange with Big Cheese, but not before failing to
negociate additional payment for acting as bodyguards for whatever the
MacGuffin might have contained. Our team exited the building and left
in the van.

[1] http://media.wizards.com/2016/downloads/DND/SRD-OGL_V5.1.pdf
[2] https://www.5esrd.com/
[3] https://notabug.org/vaeringjar/dokk-ttrpg
[4] https://www.dandwiki.com/wiki/Gunslinger_(5e_Class)


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Followup playtests three and four
#+DATE: <2019-08-12 Mon 00:00>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: SPOILERS! Notes from playtests.
#+KEYWORDS: playtests

* Update

Please note this has prelimiary campaign details and may contain
spoilers.

* Playtest 3, Search the Wreckage

Seattle PD drone office Agent Smithereens hired Denzen and Ardric to
investigate an airship crash at SEATAC, with the original flight
planned from Anchorage to Seattle. Before the airship landed an
explosion killed or hospitalized all or most of the crew and
passengers. Aboard the airship, retired Chief Ocsir B Tony was
bringing something back of immense importance to the Seattle PD.

Denzen and Ardric took an underground train directly to the airport,
accompanied by drones, mostly about the size of a toaster. They
surveyed the wreckage while the drones took forensic data. Eventually
they figured out that two folks did not end up among the dead or
hospitalized, one was a passenger and the other was of the crew, Lt
Plato. When they finally made it to the bridge, they fought a combat
mage dressed in riot gear who EMPed the drones. During the skirmish,
another person showed up with a stun carbine and attacked everyone
around. Denzen and Ardric defeated the combat mage, the missing
passenger. The second person reveiled themselves as Lt Plato, held up
in the sickbay's tiny bathroom.

Denzen and Ardric continued to search the wreckage and found the
hidden possessions of Chief Tony, a case that looked identical to the
one that our heroes delivered to Big Cheese. They delivered their
report to Agent Smithereens and kept the case a secret.

* Playtest 4, Take the Train

During the same afternoon that Denzen and Ardric returned from the
wreckage of the airship, Big Cheese hired Cendre and Zuko to take the
MacGuffin to Vancouver via a maglev express. After arriving, they
would get information about where and to whom to take the
MacGuffin. She placed the MacGuffin securely inside a HoverDrone and
gave the party a lift directly to the train station. She had already
purchased tickets to take the 5:00pm maglev express from Seattle to
Vancouver BC. ETA 5:55pm.

The party settled in their sleeper car, the last car of five trailing
the engine. Shortly into the trip, Big Cheese sent a message to the
group: "The train has been highjacked, but I'm not sure who did
it. Make your way to the engine car to assess the situation."  She
added that if searched by security, they might lose the MacGuffin and
their money. So Zuko, Cendre, and the drone controlled by Cendre
decided to make their way to the other end of the train.

The train was mostly full of business folks, but a grifter asking for
money sold his coat to Zuko and followed the group for several
cars. In Coach 1, Cendre said "bomb" and acted pointing a gun in the
back of Mr Conductor and nearly caused a scene. Next, in the Business
Car, two trolls who were told to wait their turn to use the toilet
(because racism) caused a scare when they demanded the party move
aside and let them pass. Zuko set off a smoke spell while Cendre and
one of the trolls roughed each other up.

Finally in the dining car, the party witnessed the cause of the panic,
Big Troll, kill the bartender. With no other witnesses, Big Troll
decided to engage into combat along with his war hound drone. After
several rounds of fighting, Mr Conductor showed up and deployed his
security drones and destroyed the other drone, but Zuko was able to
convince him that they were friendly this time. Big Troll fled to the
engine car and then Cendre killed him before he could finish placing
the bomb on the train. Mr Conductor's security drones grabbed the bomb
and exited via an escape hatch with only moments to spare before it
detonated.


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Followup playtest eight
#+DATE: <2019-11-04 Mon 00:00>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: SPOILERS! Notes from playtests.
#+KEYWORDS: playtests

* Update

Please note this has prelimiary campaign details and may contain
spoilers.

* Dear Players

Thanks to everyone who played. Our recent game we technically finished
off the end of Chapter 7 and made it partially through Chapter 8. So,
next time we will see more of Chapter 8.

At this point, it will become more and more difficult to keep the two
groups unaware of the unfolding of the plot, so possible minor
spoilers ahead for PCs Zuko and Cendre. However, I plan to continue to
keep Zuko and Cendre's events secret until they rejoin.

* Playtest 8

** Escape from SPD

PCs Ardric, Denzen, and Charles boarded the tram to Seatac to escape
the insane plan to vacuum out all the air from the floors with blazing
fire at the SPD. Just like folks living in California during the 2010s
might meet private fire fighters, all types of public services have
become privatised by the 2060s.

Passengers aboard the tram included Smithereens, the three PCs, an
unnamed SPD rigger in the control room, a paramedic, and the two
officers who had fought along side the PCs during the shootout in the
SPD of which one had been severely wounded.

Agent Smithereens, fed up with working overtime and the disaster
waiting upon his return, delegated some of the work and temporarily
deputised the PCs due to a lack of staffing. He then disappeared to
the control room.

So the PCs decided to question the survivors, particularly the wounded
officer, Agent X45611, who had been shot four times in the
chest. Ardric asked if the paramedic if there was anything he could do
to help to which the paramedic said he had done all he could with
painkillers and welcomed any help. Ardric swiped the private
cryptokeys of Agent X45611.

Denzen gave Ardric a medkit, readily available onboard the tram and
while administering it, an orange glow passed from Ardric to Agent
X45611. Immediately, Agent X45611 began to feel better, his bullet
wounds healed, though the effects from the painkillers still causing a
massive high. The paramedic thought he had met a very powerful mage,
regardless of Ardric's denial of magic abilities.

Agent Smithereens exited the control room, asking for an
explanation. But before any real conversation, the other officer in
the passenger section drew his weapon and attempted to fire at
Smithereens in the back of the head. What happened next was a series
of blunders that only could have been upstaged by cowboys ricocheting
shots off tin cans and spooking horses. It took the entire group to
wrestle down the hostile officer. But as soon as they did, he bit a
suicide tablet. The PCs took off the helmet of the dead body and Agent
X45611 said the man wasn't his coworker. The PCs also took a glimpse
at Agent X45611's face to verify, successfully, that he was not also
an impostor.

** North Seatac Park

The PCs, suspicious of what else might trap them had the tram stop
temporarily. They found out that an unusually large force of 80
officers was waiting for them at the other end of the tunnel. This
news set off suspicions for all the PCs as well as the SPD
rigger. They decided to exit the tunnel via one of the escape hatches
which led them out into North Seatac Park.

Agent Smithereens had securely controlled the PCs' van to the edge of
the park, as well as an undisclosed SPD vehicle. But while leaving the
park, the group was ambushed by snipers. After several minutes of
crawling around in the bushes, the group took out three (or four if
you believe the SPD) >=) drones. But during the ambush, the SPD rigger
and the paramedic had both been hit hard by sniper fire. The PCs
figured out that they each had the ability to heal severe injuries,
probably from the case XJammer had opened the night before back at
their HQ.

The PCs parted ways from the SPD officers and headed back to their HQ
in the van. Soon after they received a message from the address Big
Mac gave them. "Meet me at the void room".


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Planning playtest one
#+DATE: <2019-07-22 Mon 00:00>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: SPOILERS! Notes from playtests.
#+KEYWORDS: playtests

* Steal the MacGuffin 2019-07-22

Intending to limit the archetypes to only these:
- Combat Mage (Wizard)
- Street Samurai (Fighter)

Additional notes:
- Cold open the game.
- Players already know each other.
- Start with level 2. Multiclass available.
- Disregard encumberance, within practical reason.
- Combat Mages can only carry 1 magazine to begin.
- Does not need to worry about material components.
- Street Samurai starts with 10 magazines.

* Campaign

- Cold opening.
- Early afternoon, spring, overcast, light breeze. 2070ish.
- Cross and move down the street of the downtown area.
- Steal the briefcase from the target.
- Quietly move back up the street and exit in the vehicle.

- Return to the rendezvous location, an office building.
- Negotiate the payment. Find out the case holds a device that restores side effects from cyberware.
- Double cross by one of the others in the room.
- Attempt to exit with the MacGuffin.
- Return to vehicle and drive off.

- We should create more fighting styles.

* Characters

** Zuko (Agent I)

MP5 p308, SA, BF (2 rounds), FA (2 turns), 30/120, nd6+2 for n=Roll-DC/2 +1 for n <= bullets target difference
Lined Coat, AC 13, resistance to bullets
Cyber Eye (military eye)
Katana, 1d8+2(1d10+2), slashing, 2lbs
comlink
medkit (healing potion)

pres
mending
fireb

copperlang
detect mag
burning hand
shield
jump
feather

** Cendre (Agent S++)

Manhunter heavy pistol, SA, 50/150, 1d10+1
Consealed holster
Armoured duster (lined coat)
Knife, cougar fine blade, 1d6+3, 30/60
comlink
medkit (healing potion)

Eyes x2, (attack +1 for 1, +3 for both) (perception +5 per) lowlight, darkvision, infra
Ears x2 (perception +5) gains echo location at higher levels.
Datajack

- Notes from paper

* Entering Combat

In order:
- surprise
- initiative
- turns
- repeat

* Turns

Unordered:
- Move
- Action
- Bonus Action
- Interact With Object
- Reactions (interruptions from other actors)

* Feedback from players

- Needs more work, but not disappointed.
- Some of the SR4 to D&D conversion rules can probably map to existing
  rules.
- FullAuto SuppressiveFire damage seems lethal enough, but since it
  happens over the 6 seconds of a turn it needs a sustained action
  rule.
- Feedback turned into a discussion about whether SR or D&D culturally
  appropriates more and how much is okay and what is offensive.


code:
#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Planning playtest two
#+DATE: <2019-07-29 Mon 00:00>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: SPOILERS! Notes from playtests.
#+KEYWORDS: playtests

* Agent B as Denen

2 Uzis BF, 30/120, 30 magazine, 2d6+2
1 Antioch-2 Grenade Launcher
0 Machette 1d6+3, 20/40
1 Club
1 Military Eye

* Agent E as TBD

Remmington Roomsweeper, similar to Manhunter, 50/150, 1d10+1, 8m

* Feedback

Make surpressive fire a skill.
Gunslinger feats etc.


code:
#+SETUPFILE: ../../template/level-1.org
#+OPTIONS: toc:auto
#+TITLE: BaseScores
#+Description: List of the main beings.

* BaseScores

#+BEGIN_QUOTE
When it comes down to it, every one of us belong to the same species,
we just have more diversity since Greenland melted... We got folks
with pointer ears and better eyesight. But those undead and dragons,
they're something else entirely!
#+END_QUOTE

** Strength

** Dexterity

** Constitution

** Wisdom

** Intelligence

** Charisma


code: * stub for beings


code:
#+SETUPFILE: ../../template/level-1.org
#+OPTIONS: toc:auto
#+TITLE: Beings
#+Description: List of the main beings.

* Anthropomorphs

The vast majority of folks are human, humanlike, or humanoid. When
Apophis scarred Earth and Greenland melted, some folks gradually
started changing. Others were just born like that.

#+BEGIN_QUOTE
When it comes down to it, every one of us belong to the same species,
we just have more diversity since Greenland melted... We got folks
with pointer ears and better eyesight. But those undead and dragons,
they're something else entirely!
#+END_QUOTE

** Humans

Generally the smelliest. They either stink or they wear something
scented to cover up that they stink. They also remain oblivious of
this fact.

** Dwarfs

Generally always have beards due to their incredibly fast growing hair
of often 1 cm per day, regardless of the gender social norms.
Mythological and folklore stereotypes do not always reflect reality
for height.

** Elves

Generally have the biggest and pointiest ears.

** Orks

Generally have the biggest teeth.

** Trolls

Generally have the biggest noses.

** Sasquatches

Generally the hairiest.

** Android

Generally constructed to look and resemble one of the other beings
along with their traits. Sometimes also constructed in a way to look
like an artificial being, often with less fleshy/biological traits and
more plastic or metalic looking surfaces.

----------------------------------------------------------------------

* Metamorphs

After a fighting another metamorph or after achieving a significant
campaign milestone, characters can sometimes choose or be subject to
transform into a new Being.

#+BEGIN_QUOTE
One of my best customers is undead, so what!
#+END_QUOTE

** Dragons

Generally folks who have amassed a great amount of wealth. They can
transform from or to their large reptilian or serpentine form and
their original being as an action.

** Giants

Generally folks who have a specific agenda, such as building and
ruling a megacorp. They can transform from or to their large monstrous
form and their original being as an action.

** Undead

They never seem to die or submit to pain, even when their HP reaches
zero.

** Werefolk

Often, but not always wolf-based such as the classic werewolf,
werefolk transform into a monstrous creature.

* See also

/See the [[file:../tables/Beings.org][Beings table]]./


code:
#+SETUPFILE: ../../template/level-1.org
#+TITLE: Fall of the Whittier Arcology
#+Description: Zombie infestation in the Whittier Arcology.

* Stub