Compare commits

..

46 Commits

Author SHA1 Message Date
6a8bebbddb
Fix footer tab highlighting logic for improved navigation
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m10s
2025-05-10 23:40:35 +02:00
3bae4ef3c4
Refactor headings for automatic and suppression fire sections to improve consistency in player guide
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m23s
2025-05-10 15:13:04 +02:00
28fb8b918e
Improve readability and structure of player guide content
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m14s
2025-05-09 15:12:19 +02:00
1e46bd764a
Add attributes overview and update skills page weight
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m17s
2025-05-06 12:37:22 +02:00
c7bb074b1d
Refactor Ruby setup in pages-deploy.yaml for improved readability and add renovate.json configuration file
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m27s
2025-05-02 12:01:15 +02:00
2e57f3a034
Update Ruby version to 3.3.8 in pages-deploy.yaml
Some checks failed
Deploy Jekyll site to Pages / build (push) Failing after 27s
2025-05-01 14:13:34 +02:00
7a836a830c
Update Ruby installation source URL in pages-deploy.yaml
Some checks failed
Deploy Jekyll site to Pages / build (push) Failing after 29s
2025-05-01 14:12:17 +02:00
4585f11afe
Remove detailed backstory for Carver Riggs from crash.md to streamline character information
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m17s
2025-05-01 14:09:40 +02:00
6a1ad782ea
Update character name from Carver Siggs to Carver Riggs in crash.md and carver.json
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m59s
2025-04-15 20:09:10 +02:00
e60bd96882
Enhance character sheet interactivity by adding cursor pointer style to housing and lifestyle elements
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m31s
2025-04-15 19:50:16 +02:00
30a56664d1
Update character title from Carver Wright to Carver Siggs in crash.md 2025-04-15 19:50:07 +02:00
d69b3f7cc5
Enhance character description for Carver Riggs by adding formatting for improved readability
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m27s
2025-04-15 15:57:23 +02:00
1bafdf4cad
Add detailed backstory for Carver Riggs, enhancing character depth
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m30s
2025-04-15 15:50:17 +02:00
09bb5a9aa2
Update character details for Carver Siggs: change name and age
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 6m3s
2025-04-15 15:21:40 +02:00
e7396d139f
Enhance lifepaths section by adding detailed descriptions for origins
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 6m24s
2025-04-15 11:07:02 +02:00
63f1a3ea87
Enhance markdown formatting in lifepaths and player guides by adding CSS classes for better styling
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m26s
2025-04-12 22:24:18 +02:00
9fb96a5a2b
Add prerequisites, NET actions, and tips sections to Netrunner guide
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m50s
2025-04-12 22:15:13 +02:00
f54e0b7c74
Fix path formatting in service worker cache URLs
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m32s
2025-04-12 00:53:15 +02:00
99baeba494
Add skill overview and attributes sections to player guide; create skill overview page and JSON data for skills
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m30s
2025-04-12 00:45:12 +02:00
1cff1629ba
Enhance player guide: add detailed movement and initiative sections, including metrics and action breakdowns
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 2m35s
2025-04-11 16:03:27 +02:00
2b136d213e
Remove test line from Chase character sheet markdown 2025-04-11 16:02:18 +02:00
832be0f070
Refactor player guide structure: create player-guide.html, update permalinks, and remove obsolete players-guide.md
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m27s
2025-04-11 00:04:57 +02:00
a1b44a61ab
Enhance character sheet layout and tooltips; add housing description to JSON data
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m22s
2025-04-08 13:05:29 +02:00
5d2641370c
Merge pull request 'revert ba3804df2220de6cb62cb498552f311d4d67f9f7' (#1) from revert-ba3804df2220de6cb62cb498552f311d4d67f9f7 into develop
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m13s
Reviewed-on: #1
2025-03-20 15:35:28 +00:00
7772f697d2
revert ba3804df2220de6cb62cb498552f311d4d67f9f7
revert Remove unused CSS imports from main stylesheet for cleaner code
2025-03-20 15:34:38 +00:00
ba3804df22
Remove unused CSS imports from main stylesheet for cleaner code
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m4s
2025-03-20 16:16:39 +01:00
86d7a9215a
Fix character profile data fetching URL to correctly append the character ID and file extension 2025-03-20 16:16:31 +01:00
40ff7f5be7
Refactor character profile component for dynamic ID handling and improve data fetching logic
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m5s
2025-03-20 15:59:38 +01:00
653b2d53e0
Update character sheet font to Oxanium and apply BlenderProBook globally for improved readability
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 4m48s
2025-03-20 15:11:20 +01:00
12840382d4
Update character profile button styling and text for improved clarity and engagement
Some checks failed
Deploy Jekyll site to Pages / build (push) Has been cancelled
2025-03-20 15:07:59 +01:00
a83f2c39fd
Update theme color in manifest for improved visual consistency
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m41s
2025-03-20 13:29:44 +01:00
60e0818b6d
Enhance character profile component with responsive image handling and navigation button
Some checks failed
Deploy Jekyll site to Pages / build (push) Has been cancelled
2025-03-20 13:27:27 +01:00
c518cbf550
Enhance character profile integration with dynamic data fetching and role identification
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m31s
2025-03-20 13:18:39 +01:00
344caf5b52
Enhance character sheet layout with dark background and updated styling for details
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m11s
2025-03-20 13:10:48 +01:00
7857016243
Enhance character sheet layout with responsive styles and improved data binding
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m22s
2025-03-20 12:28:08 +01:00
ecf64c679f
Add character sheets and guides with layout adjustments and weight properties
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 4m58s
2025-03-20 11:30:58 +01:00
f1cf7f2867
Refactor footer scripts into default layout and enhance service worker registration with sync capabilities 2025-03-20 11:30:49 +01:00
63de9a9476
Add sitemap support and enhance service worker caching strategy 2025-03-20 11:30:27 +01:00
f915dad908
Add character data and enhance character sheet layout with dynamic content
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m10s
2025-03-20 09:30:07 +01:00
448b6db79e Add alignment style to lifepaths page for improved layout
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m40s
2025-03-18 22:23:51 +01:00
7e5dae0620 Add PWA support: implement service worker, cache assets, and add offline functionality
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m21s
2025-03-18 22:14:42 +01:00
fae93a92de Implement PWA features: add service worker, manifest, and offline page; enhance footer and header navigation
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m57s
2025-03-18 21:51:15 +01:00
20b46587ee Add character profiles, new pages, and update layout styles
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 4m37s
2025-03-17 18:47:11 +01:00
72158d4464 Add breadcrumb navigation and enhance button functionality
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 5m12s
2025-03-17 00:49:38 +01:00
95fdd54d46 Update jekyll-theme-cyberpunk to use local path
All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 4m40s
2025-03-17 00:24:31 +01:00
4a25e9fadf Automatically deploy page
Some checks failed
Deploy Jekyll site to Pages / build (push) Failing after 4m28s
2025-03-17 00:11:55 +01:00
55 changed files with 1427 additions and 12666 deletions

View File

@ -0,0 +1,56 @@
name: Deploy Jekyll site to Pages
on:
push:
branches:
- develop
workflow_dispatch:
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
env:
RUBY_VERSION: "3.3.8"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: "develop"
- name: checkout pages
uses: actions/checkout@v4
with:
ref: "pages"
path: "pages"
- name: Setup Ruby
run: |
apt-get update
apt-get install curl wget tar build-essential zlib1g-dev gpg -y
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
curl -sSL https://get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
rvm mount -r https://git.morlana.online/api/packages/Morlana/generic/ruby-ubuntu-22.04-aarch64/$RUBY_VERSION/ruby-$RUBY_VERSION.tar.bz2
rvm use $RUBY_VERSION && ruby -v && gem -v
gem install bundler jekyll webrick
- name: Build with Jekyll
run: |
source /etc/profile.d/rvm.sh
rvm use $RUBY_VERSION && ruby -v && gem -v
bundle install
bundle exec jekyll build --destination pages
env:
JEKYLL_ENV: production
- name: push pages
run: |
cp renovate.json pages/.
cd pages
git config user.name "${{ gitea.actor }}"
git config user.email ""${{ gitea.actor }}"@noreply.git.morlana.online"
git add .
git commit -m "jekyll build from Action ${GITHUB_SHA}"
git push

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
_site
.sass-cache
.jekyll-cache
.jekyll-metadata
vendor

1
.prettierignore Normal file
View File

@ -0,0 +1 @@
*.md

205
404.html
View File

@ -1,89 +1,9 @@
<!DOCTYPE html> ---
<html lang="de"> title: Page not found
<head> permalink: /404.html
<meta charset="UTF-8"> layout: page
<meta name="viewport" content="width=device-width, initial-scale=1.0"> ---
<title>Page not found - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>404.html</span>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Page not found</h1>
<style type="text/css" media="screen"> <style type="text/css" media="screen">
.container { .container {
margin: 10px auto; margin: 10px auto;
@ -104,118 +24,3 @@
<p><strong>Page not found :(</strong></p> <p><strong>Page not found :(</strong></p>
<p>The requested page could not be found.</p> <p>The requested page could not be found.</p>
</div> </div>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

33
Gemfile Normal file
View File

@ -0,0 +1,33 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.4.1"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "jekyll-theme-cyberpunk", path: "."
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin]
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]

168
Gemfile.lock Normal file
View File

@ -0,0 +1,168 @@
PATH
remote: .
specs:
jekyll-theme-cyberpunk (0.1.0)
jekyll (>= 4.4.1)
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
base64 (0.2.0)
bigdecimal (3.1.9)
colorator (1.1.0)
concurrent-ruby (1.3.5)
csv (3.3.2)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.17.1)
ffi (1.17.1-aarch64-linux-gnu)
ffi (1.17.1-aarch64-linux-musl)
ffi (1.17.1-arm-linux-gnu)
ffi (1.17.1-arm-linux-musl)
ffi (1.17.1-arm64-darwin)
ffi (1.17.1-x86-linux-gnu)
ffi (1.17.1-x86-linux-musl)
ffi (1.17.1-x86_64-darwin)
ffi (1.17.1-x86_64-linux-gnu)
ffi (1.17.1-x86_64-linux-musl)
forwardable-extended (2.6.0)
google-protobuf (4.30.1)
bigdecimal
rake (>= 13)
google-protobuf (4.30.1-aarch64-linux)
bigdecimal
rake (>= 13)
google-protobuf (4.30.1-arm64-darwin)
bigdecimal
rake (>= 13)
google-protobuf (4.30.1-x86-linux)
bigdecimal
rake (>= 13)
google-protobuf (4.30.1-x86_64-darwin)
bigdecimal
rake (>= 13)
google-protobuf (4.30.1-x86_64-linux)
bigdecimal
rake (>= 13)
http_parser.rb (0.8.0)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
jekyll (4.4.1)
addressable (~> 2.4)
base64 (~> 0.2)
colorator (~> 1.0)
csv (~> 3.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
json (~> 2.6)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.3, >= 0.3.6)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (3.1.0)
sass-embedded (~> 1.75)
jekyll-watch (2.2.1)
listen (~> 3.0)
json (2.10.2)
kramdown (2.5.1)
rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (6.0.1)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.4.1)
rouge (4.5.1)
safe_yaml (1.0.5)
sass-embedded (1.85.1)
google-protobuf (~> 4.29)
rake (>= 13)
sass-embedded (1.85.1-aarch64-linux-android)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-aarch64-linux-gnu)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-aarch64-linux-musl)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-arm-linux-androideabi)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-arm-linux-gnueabihf)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-arm-linux-musleabihf)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-arm64-darwin)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-riscv64-linux-android)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-riscv64-linux-gnu)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-riscv64-linux-musl)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-x86_64-darwin)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-x86_64-linux-android)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-x86_64-linux-gnu)
google-protobuf (~> 4.29)
sass-embedded (1.85.1-x86_64-linux-musl)
google-protobuf (~> 4.29)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.6.0)
webrick (1.9.1)
PLATFORMS
aarch64-linux
aarch64-linux-android
aarch64-linux-gnu
aarch64-linux-musl
arm-linux-androideabi
arm-linux-gnu
arm-linux-gnueabihf
arm-linux-musl
arm-linux-musleabihf
arm64-darwin
riscv64-linux-android
riscv64-linux-gnu
riscv64-linux-musl
ruby
x86-linux
x86-linux-gnu
x86-linux-musl
x86_64-darwin
x86_64-linux-android
x86_64-linux-gnu
x86_64-linux-musl
DEPENDENCIES
http_parser.rb (~> 0.6.0)
jekyll (~> 4.4.1)
jekyll-feed (~> 0.12)
jekyll-theme-cyberpunk!
tzinfo (>= 1, < 3)
tzinfo-data
wdm (~> 0.1)
BUNDLED WITH
2.6.5

33
_config.yml Normal file
View File

@ -0,0 +1,33 @@
# Welcome to Jekyll!
#
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: ThePhoenixDivision
email: contact@morlana.net
description: >-
We will share our adventures in Cyberpunk Red here.
baseurl: "/cpred"
url: "https://phoenixdivision.morlana.space"
twitter_username: abc
github_username: abc
# Build settings
theme: jekyll-theme-cyberpunk
plugins:
- jekyll-feed
markdown: kramdown
highlighter: rouge
collections:
pages:
output: true
permalink: /:name/
footer_links:
- title: "Impressum"
url: "https://legal.thephoenixdi.vision"

View File

@ -0,0 +1,58 @@
<h2 class="cyber-h">Attribute</h2>
<h3 class="cyber-h">Was sind Attribute?</h3>
<p>Attribute (kurz ATT) sind Werte, welche die Fähigkeiten eines Charakters zu allen anderen im Spieluniversum ins Verhältnis setzen. Attribute helfen dabei, die Fähigkeiten der Charaktere vergleichbar zu machen. In einer <b>Cyberpunk-RED-Kampagne</b> weisen die Charaktere zehn Hauptattribute aus vier Gruppen auf: <b>Geistig</b>, <b>Kampf</b>, <b>Schicksal</b> und <b>Körperlich</b>.</p>
<h4 class="cyber-h">Geistige Gruppe</h4>
<ul>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Wie schlau du allgemein bist: Schlauheit, Aufmerksamkeit, Wahrnehmung, Lernfähigkeit.">Intelligenz (INT)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Deine Entschlossenheit und Fähigkeit, mit Gefahren und Stress umzugehen. Beeinflusst Mut und Durchhaltevermögen.">Wille (WIL)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Wie gut du mit Druck und sozialen Situationen umgehen kannst, inkl. Ausstrahlung.">Coolness (COOL)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Fähigkeit, dich in andere hineinzuversetzen und sozial zu handeln. Nimmt durch Cyberware ab.">Empathie (EMP)</span></li>
</ul>
<h4 class="cyber-h">Kampfgruppe</h4>
<ul>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Fähigkeit, mit Werkzeugen und Technik umzugehen z.B. Hacking, Reparatur.">Technik (TECH)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Reaktionszeit und Koordination wichtig fürs Zielen, Ausweichen und schnelle Aktionen.">Reflexe (REF)</span></li>
</ul>
<h4 class="cyber-h">Schicksalsgruppe</h4>
<ul>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Repräsentiert dein Glück kann für Würfe verwendet werden und regeneriert sich pro Sitzung.">Glück (GLK)</span></li>
</ul>
<h4 class="cyber-h">Körperliche Gruppe</h4>
<ul>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Wie robust du bist: Körpermasse, Widerstandsfähigkeit, Schadenseinstecken.">Kraft (KRA)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Deine Koordination und Fähigkeit für physische Aufgaben, wie Nahkampf, Balance, Parcours.">Geschicklichkeit (GES)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Wie schnell du dich bewegst Laufen, Springen, Schwimmen.">Bewegung (BEW)</span></li>
</ul>
<h4 class="cyber-h">Menschlichkeit (MEN)</h4>
<p>
<span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Ein Maß für deine emotionale Stabilität. Nimmt durch Trauma oder Cyberware ab.">
Menschlichkeit
</span> wird aus
<span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Fähigkeit, sich in andere hineinzuversetzen und sozial zu interagieren.">Empathie (EMP)</span> ×10
berechnet.
</p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr><th>Empathie (EMP)</th><th>Menschlichkeit (MEN)</th></tr>
</thead>
<tbody>
<tr><td>1</td><td>10</td></tr>
<tr><td>2</td><td>20</td></tr>
<tr><td>3</td><td>30</td></tr>
<tr><td>4</td><td>40</td></tr>
<tr><td>5</td><td>50</td></tr>
<tr><td>6</td><td>60</td></tr>
<tr><td>7</td><td>70</td></tr>
<tr><td>8</td><td>80</td></tr>
<tr><td>9</td><td>90</td></tr>
<tr><td>10</td><td>100</td></tr>
</tbody>
</table>
<p>Sinkt die Menschlichkeit um mehr als 10 Punkte, sinkt auch <b>EMP</b> (z.B. bei 39MEN fällt EMP auf 3).</p>

View File

@ -0,0 +1,27 @@
<div class="cyber-tile cyber-tile-big {{ include.bg_color }} {{ include.fg_color }} {{ include.class }}" style="min-height: auto;">
{% if include.image %}
<img class="responsive-img" src="{{ include.image | relative_url }}" alt="Character Picture">
{% endif %}
<p><span class="cyberpunk-font">Name:</span>&nbsp;&nbsp;<span id="name-{{ include.id }}"></span></p>
<p><span class="cyberpunk-font">Handle:</span>&nbsp;&nbsp;<span id="streetname-{{ include.id }}"></span></p>
<p><span class="cyberpunk-font">Role:</span>&nbsp;&nbsp;<span id="role-{{ include.id }}"></span></p>
<p><span class="cyberpunk-font">Age:</span>&nbsp;&nbsp;<span id="age-{{ include.id }}"></span></p>
{% if include.page %}
<button class="cyber-button bg-purple fg-white" onclick="window.location.href='{{ include.page | relative_url }}'">
Screamsheet
<span class="glitchtext">teehsmaercS</span>
<span class="tag">NETR</span>
</button>
{% endif %}
</div>
<script>
fetch("{{ '/assets/game-data/characters/' | append: include.id | append: '.json' | relative_url }}")
.then(response => response.json())
.then(character => {
document.getElementById('name-{{ include.id }}').innerText = character.name;
document.getElementById('streetname-{{ include.id }}').innerText = character.handle;
document.getElementById('age-{{ include.id }}').innerText = character.age;
const mainRole = character.roles.find(role => role.main);
document.getElementById('role-{{ include.id }}').innerText = mainRole.name + " Rang: " + mainRole.rank;
});
</script>

19
_includes/footer.html Normal file
View File

@ -0,0 +1,19 @@
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 {% if page.url == "/" %}bg-red{% else %}bg-dark{% endif %}"><a href="{{ "/" | relative_url }}" class="cyber-a"><i class="material-icons">home</i></a></li>
{% for tab in sorted_pages %}
{% if tab.title and tab.permalink and tab.nav != false %}
<li class="tab col s1 {% if page.url contains tab.url %}bg-red{% else %}bg-dark{% endif %}">
<a href="{{ tab.url | relative_url }}" target="_self" class="cyber-a">
{% if tab.icon %}
<i class="material-icons">{{ tab.icon }}</i>
{% else %}
{{ tab.title }}
{% endif %}
</a>
</li>
{% endif %}
{% endfor %}
</ul>
<span></span>
</footer>

12
_includes/head.html Normal file
View File

@ -0,0 +1,12 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ page.title }} - {{ site.title }}</title>
<link rel="manifest" href="{{ '/assets/manifest.json' | relative_url }}">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="{{ "/assets/css/normalize.css" | relative_url }}">
<link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="{{ "/assets/css/cyberpunk.css" | relative_url }}">

39
_includes/header.html Normal file
View File

@ -0,0 +1,39 @@
{% assign menu_pages = site.pages | where_exp: "page", "page.path contains 'pages/'" %}
{% assign sorted_pages = menu_pages | sort: "weight" %}
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="{{ "/" | relative_url }}" class="cyberpunk-font-og f-x2-5">{{ site.title }}</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="{{ "/" | relative_url }}" class="cyber-a{% if page.url == "/" %} fg-yellow{% endif %}">Home</a></li>
{% for tab in sorted_pages %}
{% if tab.title and tab.permalink and tab.nav != false %}
<li><a href="{{ tab.url | relative_url }}" class="cyber-a{% if page.url contains tab.url %} fg-yellow{% endif %}">{{ tab.title }}</a></li>
{% endif %}
{% endfor %}
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="{{ "/" | relative_url }}">Home</a>
{% assign segments = page.url | split: "/" %}
{% assign path = "" %}
{% for segment in segments offset: 1 %}
{% assign path = path | append: "/" | append: segment %}
{% assign breadcrumb_page = site.pages | where: "url", path | first %}
{% if breadcrumb_page and breadcrumb_page.title %}
<a href="{{ path | relative_url }}">{{ breadcrumb_page.title }}</a>
{% else %}
<span>{{ segment }}</span>
{% endif %}
{% endfor %}
</div>
-->
</header>

View File

@ -1,98 +1,3 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tech Guide - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a fg-yellow">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<a href="/cpred/player-guides">Player Guides</a>
<a href="/cpred/player-guides/tech">Tech Guide</a>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Tech Guide</h1>
<div id="toc"></div>
<h2 class="cyber-h">Die Umgebung checken</h2> <h2 class="cyber-h">Die Umgebung checken</h2>
<p> <p>
@ -104,7 +9,7 @@
Werkzeug, eine Waffe oder eine andere Möglichkeit, um deine Reichweite zu erhöhren. Werkzeug, eine Waffe oder eine andere Möglichkeit, um deine Reichweite zu erhöhren.
</p> </p>
<p> <p>
<b>Maßangaben</b><br /> <b>Maßangaben</b><br>
In Cyberpunk RED wird ausschließlich das metrische System verwendet. Wenn Bodenpläne und Miniaturen verwendet werden, In Cyberpunk RED wird ausschließlich das metrische System verwendet. Wenn Bodenpläne und Miniaturen verwendet werden,
dann entspricht jedes Feld 2 Metern. dann entspricht jedes Feld 2 Metern.
</p> </p>
@ -118,9 +23,9 @@
<p> <p>
Die erste Skalierung ist die <b>Narrative Bewegung</b>. Immer wenn im Abenteuer eine Beschreibung (Narrativ) verwendet Die erste Skalierung ist die <b>Narrative Bewegung</b>. Immer wenn im Abenteuer eine Beschreibung (Narrativ) verwendet
wird, also wenn etwa der Spielleiter eine Situation schildet oder wenn die Spieler im Abenteuer untereinander reden, wird, also wenn etwa der Spielleiter eine Situation schildet oder wenn die Spieler im Abenteuer untereinander reden,
wird eine Bewegung in realen Begriffen ausgedrückt.<br /> wird eine Bewegung in realen Begriffen ausgedrückt.<br>
Zum Beispiel: Autos bewegen sich in Kilometern pro Stunde, Gehen wird in ähnlichen, wenn auch kleinerem Maß Zum Beispiel: Autos bewegen sich in Kilometern pro Stunde, Gehen wird in ähnlichen, wenn auch kleinerem Maß
gemessen.<br /> gemessen.<br>
Zu Spielzwecken werden diese Bewegungsarten in Kategorien eingeteilt. Zu Spielzwecken werden diese Bewegungsarten in Kategorien eingeteilt.
</p> </p>
@ -146,22 +51,22 @@
<h3 class="cyber-h">Relative Bewegung</h3> <h3 class="cyber-h">Relative Bewegung</h3>
<p> <p>
Die zweite Skalierung ist die <b>Relative Bewegung</b>.<br /> Die zweite Skalierung ist die <b>Relative Bewegung</b>.<br>
Dabei wird ein <code>BEW</code> Attribut mit einem anderen <code>BEW</code> Attribut verglichen, um zu bestimmen, wer Dabei wird ein <code>BEW</code> Attribut mit einem anderen <code>BEW</code> Attribut verglichen, um zu bestimmen, wer
grundsätzlich schneller ist. Sie eignet Dabei wird ein <code>BEW</code> Attribut mit einem anderen <code>BEW</code> grundsätzlich schneller ist. Sie eignet Dabei wird ein <code>BEW</code> Attribut mit einem anderen <code>BEW</code>
Attribut verglichen, um zu bestimmen, wer grundsätzlich schneller ist. Attribut verglichen, um zu bestimmen, wer grundsätzlich schneller ist.
Sie eignet sich für einfache, längere Geschwindigkeitsvergleich, beispielsweise um das Ergebnis eines Wettrennens zu Sie eignet sich für einfache, längere Geschwindigkeitsvergleich, beispielsweise um das Ergebnis eines Wettrennens zu
bestimmen. Damit wird der Lamborghini mit dem Volkswagen verglichen:<br /> bestimmen. Damit wird der Lamborghini mit dem Volkswagen verglichen:<br>
Der <code>BEW</code> Wert des einen ist höher als der des anderen und das bildet die Vergleichsgrundlage. Der <code>BEW</code> Wert des einen ist höher als der des anderen und das bildet die Vergleichsgrundlage.
</p> </p>
<h3 class="cyber-h">Absolute Bewegung</h3> <h3 class="cyber-h">Absolute Bewegung</h3>
<p> <p>
Schließlich gibt es noch die <b>Absolute Bewegung</b>:<br /> Schließlich gibt es noch die <b>Absolute Bewegung</b>:<br>
Ein Maß für die tatsächliche Entfernung, das im Kampf und bei der Verwendung von Minaturen zum Einsatz kommt. In jedem Ein Maß für die tatsächliche Entfernung, das im Kampf und bei der Verwendung von Minaturen zum Einsatz kommt. In jedem
Zug erhält ein Charakter eine Bewegungsaktion, die ausschließlich dazu dient, sich bis zu <code>BEW x 2 Meter</code> Zug erhält ein Charakter eine Bewegungsaktion, die ausschließlich dazu dient, sich bis zu <code>BEW x 2 Meter</code>
bzw. <code>BEW x 1 Feld</code> zu bewegen (auch diagonal).<br /> bzw. <code>BEW x 1 Feld</code> zu bewegen (auch diagonal).<br>
Bewegungsaktionen sowie alle anderen Aktionen, die ein Charakter in einem Zug durchführen kann, werden weiter unten im Bewegungsaktionen sowie alle anderen Aktionen, die ein Charakter in einem Zug durchführen kann, werden weiter unten im
Abschnitt "Du bist dran" beschrieben. Abschnitt "Du bist dran" beschrieben.
</p> </p>
@ -170,7 +75,7 @@
<p> <p>
In Cyberpunk RED wird die Zeit in zweierlei Methoden gemessen. Die erste (die <b>Rollenspielzeit</b>) läuft so ab, wie In Cyberpunk RED wird die Zeit in zweierlei Methoden gemessen. Die erste (die <b>Rollenspielzeit</b>) läuft so ab, wie
du es im echten Leben gewohnt bist.<br /> du es im echten Leben gewohnt bist.<br>
Die zweite (die <b>Kampfzeit</b>), wird wesentlich detaillierter gemessen. Die Kampfzeit wird in <b>Züge</b> Die zweite (die <b>Kampfzeit</b>), wird wesentlich detaillierter gemessen. Die Kampfzeit wird in <b>Züge</b>
unterteilt, von denen jeder ungefähr <code>3 Sekunden</code> dauert. Die Zeit, die jeder Kampfbeteiligte benötigt, um unterteilt, von denen jeder ungefähr <code>3 Sekunden</code> dauert. Die Zeit, die jeder Kampfbeteiligte benötigt, um
einen Zug zu machen, wird <b>Runde</b> genannt. einen Zug zu machen, wird <b>Runde</b> genannt.
@ -185,7 +90,7 @@
den <b>Initiativdurchgang</b>: eine geistige Aufstellung, wer wann loslegt. den <b>Initiativdurchgang</b>: eine geistige Aufstellung, wer wann loslegt.
</p> </p>
<p>Zu Beginn eines Kampfes wüfeln alle ihre Initiative aus:<br /></p> Zu Beginn eines Kampfes wüfeln alle ihre Initiative aus:<br>
<div class="code-block" data-title="Dein Initiativwert">REF + 1W10</div> <div class="code-block" data-title="Dein Initiativwert">REF + 1W10</div>
<p> <p>
@ -309,20 +214,20 @@
<h5 class="caber-h">Bewegung und Angriffsfolge aufteilen</h5> <h5 class="caber-h">Bewegung und Angriffsfolge aufteilen</h5>
<p> <p>
Jeder Charakter erhält in seinem Zug eine <b>Bewegungsaktion</b> und eine <b>Aktion</b>.<br /> Jeder Charakter erhält in seinem Zug eine <b>Bewegungsaktion</b> und eine <b>Aktion</b>.<br>
<b>Bewegungsaktionen</b> lassen sich aufteilen, da der Kampf in Cyberpunk RED schnell und flüssig ist. Immer wenn du <b>Bewegungsaktionen</b> lassen sich aufteilen, da der Kampf in Cyberpunk RED schnell und flüssig ist. Immer wenn du
dich mithilfe deiner Bewegungsaktion bewegst, kannst du deine Aktion während dieser Bewegungsaktion durchführen und dich mithilfe deiner Bewegungsaktion bewegst, kannst du deine Aktion während dieser Bewegungsaktion durchführen und
dich danach weiterbewegen.<br /> dich danach weiterbewegen.<br>
<b>Das wird Aufteilen genannt - und das gilt nicht nur für Bewegungsaktionen.</b> <b>Das wird Aufteilen genannt - und das gilt nicht nur für Bewegungsaktionen.</b>
</p> </p>
<p> <p>
Manche Angriffsarten sind schneller als andere, so dass man mit einer einzigen Angreifen-Aktion zweimal Manche Angriffsarten sind schneller als andere, so dass man mit einer einzigen Angreifen-Aktion zweimal
zuschlagen/schießen kann. Diese werden Angriffsfolge-2-Angriffe (kurz: <code>AF2</code>) genannt. Alle Angriffe, die zuschlagen/schießen kann. Diese werden Angriffsfolge-2-Angriffe (kurz: <code>AF2</code>) genannt. Alle Angriffe, die
durch AF2-Quellen erfolgen, können im Verlauf einer Bewegungsaktion <i>aufgeteilt</i> werden.<br /> durch AF2-Quellen erfolgen, können im Verlauf einer Bewegungsaktion <i>aufgeteilt</i> werden.<br>
<i>Du kannst dich bewegen, schießen, dich bewegen, schießen, dich bewegen.</i><br /> <i>Du kannst dich bewegen, schießen, dich bewegen, schießen, dich bewegen.</i><br>
Du kannst sogar jeweils einen ANgriff mit zwei verschiedenen AF2-Quellen durchführen, indem du deine beiden Angriffe Du kannst sogar jeweils einen ANgriff mit zwei verschiedenen AF2-Quellen durchführen, indem du deine beiden Angriffe
über über beide Aktionen "aufteilst", wodurch du beide in einem einzigen Zug einsetzen kannst.<br /> über über beide Aktionen "aufteilst", wodurch du beide in einem einzigen Zug einsetzen kannst.<br>
<span class="cyber-att-2">Ja, genau: Du kannst mit der Schweren Pistole in deiner linken Hand den Gang hinunterfeuern <span class="cyber-att-2">Ja, genau: Du kannst mit der Schweren Pistole in deiner linken Hand den Gang hinunterfeuern
und dann diesen diesen ekelhaften Gang entlanggehen und dein Opfer mit der Machete in deiner rechten Hand und dann diesen diesen ekelhaften Gang entlanggehen und dein Opfer mit der Machete in deiner rechten Hand
erstechen.</span> erstechen.</span>
@ -330,8 +235,8 @@
<h5 class="cyber-h">Andere Bewegungsarten</h5> <h5 class="cyber-h">Andere Bewegungsarten</h5>
<p>Schwimmen, Kleetern und Springen mit Anlauf kosten 2 Meter für jeden zurückgelegten Meter (2 Felder pro zurückgelegten Schwimmen, Kleetern und Springen mit Anlauf kosten 2 Meter für jeden zurückgelegten Meter (2 Felder pro zurückgelegten
Feld). Wenn du aus dem Stand springst, legst du die Hälfte der Distanz zurück, die du mit ANlauf gesprungen wärst.</p> Feld). Wenn du aus dem Stand springst, legst du die Hälfte der Distanz zurück, die du mit ANlauf gesprungen wärst.
<h4 class="cyber-h">Gezielte Schüsse</h4> <h4 class="cyber-h">Gezielte Schüsse</h4>
@ -391,8 +296,8 @@ Feld). Wenn du aus dem Stand springst, legst du die Hälfte der Distanz zurück,
<h3 class="cyber-h">Nahkampf</h3> <h3 class="cyber-h">Nahkampf</h3>
<div class="code-block" data-title="Nahkampf abwickeln"> <div class="code-block" data-title="Nahkampf abwickeln">
GES des Angreifers + passende Nahkampfwaffenfertigkeit + 1W10<br /> GES des Angreifers + passende Nahkampfwaffenfertigkeit + 1W10<br>
<b>GEGEN</b><br /> <b>GEGEN</b><br>
GES des Verteidigers + Fertigkeit Ausweichen + 1W10 GES des Verteidigers + Fertigkeit Ausweichen + 1W10
</div> </div>
@ -406,9 +311,9 @@ Feld). Wenn du aus dem Stand springst, legst du die Hälfte der Distanz zurück,
<p> <p>
Wenn du den Wurf des Verteidigers übertriffst (bei Gleichstand gewinnt der Verteidiger), richtest du Schaden am Wenn du den Wurf des Verteidigers übertriffst (bei Gleichstand gewinnt der Verteidiger), richtest du Schaden am
Verteidiger an.<br /> Verteidiger an.<br>
Die Panzerung des Verteidigers reduziert den von dir verursachten Schaden, und der Rest wird dem Verteidiger als Die Panzerung des Verteidigers reduziert den von dir verursachten Schaden, und der Rest wird dem Verteidiger als
Schaden zugefügt.<br /> Schaden zugefügt.<br>
</p> </p>
<h4 class="cyber-h">Faustkampf, Boxen mit blosser Faust, Packen, Würgen, Wurf</h4> <h4 class="cyber-h">Faustkampf, Boxen mit blosser Faust, Packen, Würgen, Wurf</h4>
@ -441,320 +346,3 @@ Feld). Wenn du aus dem Stand springst, legst du die Hälfte der Distanz zurück,
<li><strong>Stürzen</strong>: 2W6 Schaden pro 10 Meter, Panzerung zählt. Bei Fehlschlag: Beinbruch.</li> <li><strong>Stürzen</strong>: 2W6 Schaden pro 10 Meter, Panzerung zählt. Bei Fehlschlag: Beinbruch.</li>
<li><strong>Gifte &amp; Drogen</strong>: Angriff gegen Widerstand. Bei Fehlschlag wirkt das Mittel sofort.</li> <li><strong>Gifte &amp; Drogen</strong>: Angriff gegen Widerstand. Bei Fehlschlag wirkt das Mittel sofort.</li>
</ul> </ul>
<h2 class="cyber-h" id="tech-rollenfähigkeit-bastler">Tech (Rollenfähigkeit: <code class="language-plaintext highlighter-rouge">Bastler</code>)</h2>
<p>Techs nutzen die Rollenfähigkeit <code class="language-plaintext highlighter-rouge">Bastler</code>, um Geräte zu <strong>reparieren</strong>, <strong>verbessern</strong>, <strong>erfinden</strong> und <strong>bauen</strong>.</p>
<p>Jedes Mal, wenn ein Tech seinen <code class="language-plaintext highlighter-rouge">Bastler</code>-Rang erhöht, erhält er <strong>1 Rang in zwei Bastler-Spezialisierungen</strong> seiner Wahl:</p>
<ul>
<li><strong>Feldkompetenz</strong></li>
<li><strong>Aufrüstungskompetenz</strong></li>
<li><strong>Herstellungskompetenz</strong></li>
<li><strong>Erfindungskompetenz</strong></li>
</ul>
<hr />
<h3 class="cyber-h" id="bastler-spezialisierungen">Bastler-Spezialisierungen</h3>
<h4 class="cyber-h" id="feldkompetenz"><strong>Feldkompetenz</strong></h4>
<blockquote>
<p>Spezialisiert auf schnelle Notfallreparaturen in stressigen Situationen.</p>
</blockquote>
<ul>
<li>Addiere deinen Rang in Feldkompetenz auf alle Proben mit:
<ul>
<li>Basistechnik</li>
<li>Cybertech</li>
<li>Elektronik/Sicherheitstechnik</li>
<li>Waffentechnik</li>
<li>Boden-, Wasser- oder Luftfahrzeugtechnik</li>
</ul>
</li>
<li>Bei mindestens 1 Rang darfst du innerhalb von 10 Minuten behelfsmäßig reparieren.</li>
</ul>
<hr />
<h4 class="cyber-h" id="aufrüstungskompetenz"><strong>Aufrüstungskompetenz</strong></h4>
<blockquote>
<p>Verbessere bestehende Gegenstände auf vielfältige Weise.</p>
</blockquote>
<ul>
<li>Beispiele für Aufrüstungen:
<ul>
<li>Reduziere Menschlichkeitsverlust bei Cyberware</li>
<li>Erhöhe Slots für Optionen oder Programme</li>
<li>Verbessere Qualität oder Schaden</li>
<li>Füge neue Funktionen hinzu (z.B. versteckbare Waffen)</li>
</ul>
</li>
</ul>
<p><strong>Probe:</strong><br />
<code class="language-plaintext highlighter-rouge">TECH + zugehörige Reparatur-Fertigkeit + Spezialisierung + 1W10</code></p>
<hr />
<h4 class="cyber-h" id="herstellungskompetenz"><strong>Herstellungskompetenz</strong></h4>
<blockquote>
<p>Stelle Gegenstände aus Materialien und Ideen her.</p>
</blockquote>
<ul>
<li>Kaufe Materialien und kombiniere sie mit Tech-Wissen.</li>
<li>Preisstufe legt SG &amp; Zeit fest (siehe Tabelle unten).</li>
<li>Misslingt der Wurf: Materialverlust.</li>
</ul>
<p><strong>Probe:</strong><br />
<code class="language-plaintext highlighter-rouge">TECH + Reparatur-Fertigkeit des Gegenstands + Spezialisierung + 1W10</code></p>
<hr />
<h4 class="cyber-h" id="erfindungskompetenz"><strong>Erfindungskompetenz</strong></h4>
<blockquote>
<p>Erfinde völlig neue Gegenstände oder Aufrüstungen.</p>
</blockquote>
<ul>
<li>Du beschreibst die Funktion möglichst genau.</li>
<li>SL legt Preisstufe und SG fest.</li>
<li>Gilt wie Herstellung, nur mit mehr Kreativität.</li>
</ul>
<p><strong>Probe:</strong><br />
<code class="language-plaintext highlighter-rouge">TECH + Reparatur-Fertigkeit der Erfindung oder des aufgerüsteten Objekts + Spezialisierung + 1W10</code></p>
<hr />
<h3 class="cyber-h" id="sg-tabelle-für-aufrüsten-herstellen--erfinden">SG-Tabelle für Aufrüsten, Herstellen &amp; Erfinden</h3>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Preisstufe</th>
<th>SG</th>
<th>Zeit</th>
</tr>
</thead>
<tbody>
<tr>
<td>Billig/Alltäglich</td>
<td>9</td>
<td>1 Stunde</td>
</tr>
<tr>
<td>Teuer</td>
<td>13</td>
<td>6 Stunden</td>
</tr>
<tr>
<td>Premium</td>
<td>17</td>
<td>1 Tag</td>
</tr>
<tr>
<td>Kostspielig</td>
<td>21</td>
<td>1 Woche</td>
</tr>
<tr>
<td>Sehr Kostspielig</td>
<td>24</td>
<td>2 Wochen</td>
</tr>
<tr>
<td>Luxus</td>
<td>29</td>
<td>1 Monat</td>
</tr>
<tr>
<td>Superluxus</td>
<td>29</td>
<td>1 Monat / 10.000 Euro im Preis</td>
</tr>
</tbody>
</table>
<script>
document.addEventListener("DOMContentLoaded", function () {
const tocContainer = document.getElementById("toc");
if (!tocContainer) return;
const headings = Array.from(document.querySelectorAll("h1, h2, h3, h4, h5, h6"));
if (headings.length === 0) return;
const tocList = document.createElement("ul");
tocList.className = "cyber-ul";
/*tocList.style.listStyle = "none";
tocList.style.paddingLeft = "0";
tocList.style.border = "1px solid #ccc";
tocList.style.borderRadius = "8px";
tocList.style.padding = "1em";
tocList.style.backgroundColor = "#f9f9f9";
tocList.style.fontFamily = "sans-serif";*/
const createId = (text) => {
return text.toLowerCase().trim().replace(/[^a-z0-9]+/g, "-");
};
headings.forEach((heading) => {
const level = parseInt(heading.tagName.substring(1));
const text = heading.textContent;
let id = heading.id || createId(text);
// Wenn ID noch nicht vergeben, setzen
if (!heading.id) heading.id = id;
const li = document.createElement("li");
li.style.marginLeft = `${(level - 1) * 1.2}em`;
li.style.marginBottom = "0.3em";
const link = document.createElement("a");
link.className = "cyber-a";
link.href = `#${id}`;
link.textContent = text;
link.style.textDecoration = "none";
link.style.color = "#333";
link.style.fontSize = `${1.1 - level * 0.05}em`;
link.addEventListener("mouseover", () => (link.style.color = "#007acc"));
link.addEventListener("mouseout", () => (link.style.color = "#333"));
li.appendChild(link);
tocList.appendChild(li);
});
const heading = document.createElement("strong");
heading.textContent = "Inhaltsverzeichnis";
heading.style.display = "block";
heading.style.marginBottom = "0.5em";
tocContainer.appendChild(heading);
tocContainer.appendChild(tocList);
});
</script>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-red">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

0
_includes/sidebar.html Normal file
View File

View File

@ -0,0 +1,46 @@
<div id="skill-overview">
</div>
<script>
fetch("{{ '/assets/game-data/skills.json' | relative_url }}")
.then(response => response.json())
.then(skills => {
const skillDiv = document.getElementById('skill-overview');
for (const skillgroup of skills.Fertigkeiten) {
const groupSection = document.createElement('section');
const groupTitle = document.createElement('h2');
groupTitle.className = "cyber-h";
groupTitle.textContent = skillgroup.Gruppe;
groupSection.appendChild(groupTitle);
const skillTable = document.createElement('table');
skillTable.className = "cyber-table ac-red";
skillTable.setAttribute("style", "width: auto;");
const tableHeader = document.createElement('tr');
const headerName = document.createElement('th');
headerName.textContent = "Fertigkeit";
const headerType = document.createElement('th');
headerType.textContent = "Attribut";
const headerDescription = document.createElement('th');
headerDescription.textContent = "Beschreibung";
tableHeader.appendChild(headerName);
tableHeader.appendChild(headerType);
tableHeader.appendChild(headerDescription);
skillTable.appendChild(tableHeader);
for (const skill of skillgroup.Fertigkeiten) {
const skillRow = document.createElement('tr');
const skillName = document.createElement('td');
skillName.textContent = skill.Name;
const skillType = document.createElement('td');
skillType.textContent = skill.Attribut;
const skillDescription = document.createElement('td');
skillDescription.textContent = skill.Beschreibung;
skillRow.appendChild(skillName);
skillRow.appendChild(skillType);
skillRow.appendChild(skillDescription);
skillTable.appendChild(skillRow);
}
groupSection.appendChild(skillTable);
skillDiv.appendChild(groupSection);
}
});
</script>

View File

@ -0,0 +1,78 @@
---
layout: page
---
<div class="row">
{% if page.image %}
<div class="col s6 m4 l1 responsive-img">
<img class="responsive-img" src="{{ page.image | relative_url }}" alt="Picture of {{ page.title }}" />
</div>
{% endif %}
<div class="bg-dark fg-yellow cyber-tile col {% if page.image %}s12 m8 l11{% else %}s12 m12 l12{% endif %}">
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Straßenname:</strong>
<span id="streetname" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Alter:</strong>
<span id="age" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Rolle:</strong>
<span id="role" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Rollenfähigkeit:</strong>
<span id="role-ability" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Unterkunft:</strong>
<span id="housing" class="oxanium-font character-details-value tooltipped" data-position="bottom" style="cursor: pointer;"></span>
<span style="background-color: white; color: blue; font-size: .64em; display: flex; align-items: flex-start; height: fit-content; align-self: flex-start; border-radius: 50%; padding: 0px 4px; ">i</span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Lebensstil:</strong>
<span id="lifestyle" class="oxanium-font character-details-value tooltipped" data-position="bottom" style="cursor: pointer;"></span>
<span style="background-color: white; color: blue; font-size: .64em; display: flex; align-items: flex-start; height: fit-content; align-self: flex-start; border-radius: 50%; padding: 0px 4px; ">i</span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Lebenskosten:</strong>
<span id="costs" class="oxanium-font character-details-value"></span>
</p>
</div>
</div>
{{ content }}
<script>
let char, housing, lifestyle;
fetch("{{ page.datasource | relative_url }}")
.then(response => response.json())
.then(character => {
char = character;
return fetch("{{ '/assets/game-data/housings.json' | relative_url }}");
}).then(response => response.json())
.then(housings => {
housing = housings[char.housing.type];
return fetch("{{ '/assets/game-data/lifestyles.json' | relative_url }}");
}).then(response => response.json())
.then(lifestyles => {
lifestyle = lifestyles[char.lifestyle];
document.getElementById('streetname').innerText = char.handle;
document.getElementById('age').innerText = char.age;
const mainRole = char.roles.find(role => role.main);
document.getElementById('role').innerText = mainRole.name + " Rang: " + mainRole.rank;
document.getElementById('housing').innerText = char.housing.type;
if (housing.description)
document.getElementById('housing').setAttribute("data-tooltip", housing.description);
document.getElementById('lifestyle').innerText = char.lifestyle;
if (housing.description)
document.getElementById('lifestyle').setAttribute("data-tooltip", lifestyle.description);
let costs = lifestyle.cost;
if (!char.housing.owned) {
costs += housing.rent;
}
document.getElementById('costs').innerText = costs + " ed";
});
</script>

47
_layouts/default.html Normal file
View File

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="de">
<head>
{% include head.html %}
</head>
<body>
{% include header.html %}
<main class="container">
{{ content }}
</main>
{% include footer.html %}
<script src="{{ "/assets/js/materialize.min.js" | relative_url }}"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("{{ '/assets/js/service-worker.js' | relative_url }}")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

21
_layouts/home.html Normal file
View File

@ -0,0 +1,21 @@
---
layout: default
---
{% if site.posts and site.posts.size > 0 %}
{% for post in site.posts %}
<article>
<h1 class="cyber-h" style="margin-bottom: 0;"><a href="{{ post.url | relative_url }}">{{ post.title }}</a></h1>
<p style="margin-top: 0;"><small>{{ post.date | date: "%d.%m.%Y" }}</small></p>
<p>{{ post.excerpt }}</p>
<button class="cyber-button bg-red fg-white m-2 vt-bot" data-href="{{ post.url | relative_url }}">
Weiterlesen...
<span class="glitchtext">$_glitch;</span>
<span class="tag"></span>
</button>
</article>
<hr>
{% endfor %}
{% else %}
<div class="cyber-att-2" style="margin: 32px 0;">Es gibt noch keine Neuigkeiten...</div>
{% endif %}

6
_layouts/page.html Normal file
View File

@ -0,0 +1,6 @@
---
layout: default
---
<h1 class="cyber-h">{{ page.title }}</h1>
{{ content }}

9
_layouts/post.html Normal file
View File

@ -0,0 +1,9 @@
---
layout: default
---
<article class="cyber-tile-big bg-dark" style="display: flex; flex-direction: column; margin: 0 auto;">
<h1 class="cyber-h">{{ page.title }}</h1>
<p><strong>Datum:</strong> <span class="cyber-glitch-4">{{ page.date | date: "%d.%m.%Y" }}</span></p>
{{ content }}
</article>

66
_layouts/toc.html Normal file
View File

@ -0,0 +1,66 @@
---
layout: page
---
<div id="toc"></div>
{{ content }}
<script>
document.addEventListener("DOMContentLoaded", function () {
const tocContainer = document.getElementById("toc");
if (!tocContainer) return;
const headings = Array.from(document.querySelectorAll("h1, h2, h3, h4, h5, h6"));
if (headings.length === 0) return;
const tocList = document.createElement("ul");
tocList.className = "cyber-ul";
/*tocList.style.listStyle = "none";
tocList.style.paddingLeft = "0";
tocList.style.border = "1px solid #ccc";
tocList.style.borderRadius = "8px";
tocList.style.padding = "1em";
tocList.style.backgroundColor = "#f9f9f9";
tocList.style.fontFamily = "sans-serif";*/
const createId = (text) => {
return text.toLowerCase().trim().replace(/[^a-z0-9]+/g, "-");
};
headings.forEach((heading) => {
const level = parseInt(heading.tagName.substring(1));
const text = heading.textContent;
let id = heading.id || createId(text);
// Wenn ID noch nicht vergeben, setzen
if (!heading.id) heading.id = id;
const li = document.createElement("li");
li.style.marginLeft = `${(level - 1) * 1.2}em`;
li.style.marginBottom = "0.3em";
const link = document.createElement("a");
link.className = "cyber-a";
link.href = `#${id}`;
link.textContent = text;
link.style.textDecoration = "none";
link.style.color = "#333";
link.style.fontSize = `${1.1 - level * 0.05}em`;
link.addEventListener("mouseover", () => (link.style.color = "#007acc"));
link.addEventListener("mouseout", () => (link.style.color = "#333"));
li.appendChild(link);
tocList.appendChild(li);
});
const heading = document.createElement("strong");
heading.textContent = "Inhaltsverzeichnis";
heading.style.display = "block";
heading.style.marginBottom = "0.5em";
tocContainer.appendChild(heading);
tocContainer.appendChild(tocList);
});
</script>

11
_pages/attributes.md Normal file
View File

@ -0,0 +1,11 @@
---
layout: page
title: Attribute
permalink: /attributes/
icon: fact_check
weight: 5
---
Fertigkeiten sind Dinge, die dein Charakter kennt oder kann. Sie stehen für Wissen und Leistungen. Jede Fertigkeit ist mit einem Attribut verbunden, das ihre Ausführung beeinflusst.
{% include attributes-overview.html %}

16
_pages/characters.md Normal file
View File

@ -0,0 +1,16 @@
---
layout: page
title: Charaktere
permalink: /characters/
icon: account_circle
weight: 3
---
<div class="row" style="column-gap: 5px;">
<div class="col s12 l6">
{% include character-profile.html id="chase" page="/characters/chase" image="/assets/img/Netrunner.png" bg_color="bg-red" fg_color="fg-dark" %}
</div>
<div class="col s12 l6">
{% include character-profile.html id="carver" page="/characters/crash" image="/assets/img/Tech.png" bg_color="bg-red" fg_color="fg-purple" %}
</div>
</div>

8
_pages/chase.md Normal file
View File

@ -0,0 +1,8 @@
---
layout: character-sheet
title: Chase Révolte
permalink: /characters/chase
image: /assets/img/Netrunner.png
datasource: /assets/game-data/characters/chase.json
nav: false
---

8
_pages/crash.md Normal file
View File

@ -0,0 +1,8 @@
---
layout: character-sheet
title: Carver Riggs
permalink: /characters/crash
image: /assets/img/Tech.png
datasource: /assets/game-data/characters/carver.json
nav: false
---

232
_pages/lifepaths.md Normal file
View File

@ -0,0 +1,232 @@
---
layout: page
title: Lebensweg
permalink: /lifepaths/
icon: merge
weight: 1
---
- [Kulturelle Herkunft](#kulturelle-herkunft){:.cyber-a}
- [Deine Persönlichkeit](#deine-persönlichkeit){:.cyber-a}
- [Kleidung und persönlicher Stil](#kleidung-und-persönlicher-stil){:.cyber-a}
- [Deine Motivation und Beziehungen](#deine-motivation-und-beziehungen){:.cyber-a}
- [Was du am meisten schätzt](#was-du-am-meisten-schätzt){:.cyber-a}
- [Deine Familiäre Herkunft](#deine-familiäre-herkunft){:.cyber-a}
- [Dein Umfeld](#dein-umfeld){:.cyber-a}
- [Deine Familienkrise](#deine-familienkrise){:.cyber-a}
- [Deine Lebensziele](#deine-lebensziele){:.cyber-a}
- [Deine Freunde, Deine Feinde, Deine tragische(n) Liebschaft(en), Süße Rache](#deine-freunde-deine-feinde-deine-tragischen-liebschaften-süße-rache){:.cyber-a}
{:.cyber-ul}
## Kulturelle Herkunft
{:.cyber-h}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Deine (allgemeine) Kulturregion | Sprachen, die du vielleicht kennst (Wähle eine aus deiner Gruppe aus) |
| ---- | ------------------------------- | ---------------------------------------------------------------------------------------------- |
| 1 | Nordamerikansich | Chinsesisch, Cree, Englisch, Französisch, Kreol, Navajo, Spanisch |
| 2 | Süd-/Mittelamerikanisch | Deutsch, Englisch, Guarani, Kreol, Maya, Portugiesisch, Quechua, Spanisch |
| 3 | Westeuropäisch | Deutsch, Englisch, Französisch, Holländisch, Italienisch, Norwegisch, Portugiesisch, Spanisch |
| 4 | Osteuropäisch | Englisch, Finnisch, Polnisch, Rumänisch, Russisch, Ukrainisch |
| 5 | Nahöstlich/Nordafrikanisch | Arabisch, Berberisch, Englisch, Farsi, Französisch, Hebräisch, Türkisch |
| 6 | Schwarzafrikansich | Arabisch, Englisch, Französisch, Hausa, Lingala, Oromo, Portugiesisch, Swahili, Twi, Yoruba |
| 7 | Südasiatisch | Bengali, Dari, Englisch, Hindi, Nepalisch, Singhalesisch, Tamil, Urdu |
| 8 | Südostasiatisch | Arabisch, Burnesisch, Englisch, Filipino, Hindi, Indonesisch, Khmer, Malaysisch, Vietnamesisch |
| 9 | Ostasiatisch | Englisch, Japanisch, Kantonesisch, Koreanisch, Mandarin, Mongolisch |
| 10 | Ozeanisch/Pazifikinsulaner | Englisch, Französisch, Hawaiianisch, Maori, Pama-Nyunga, Tahitisch |
{:.cyber-table .ac-red style="width: auto;"}
## Deine Persönlichkeit
{:.cyber-h}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Wie bist du? |
| ---- | -------------------------------------- |
| 1 | Zurückhaltend und geheimnisvoll |
| 2 | Rebellisch, antisozial und gewalttätig |
| 3 | Arrogant, stolz und unnahbar |
| 4 | Launisch, impulsiv und eigenwillig |
| 5 | Pingelig, zimperlich und nervös |
| 6 | Gefestigt und ernst |
| 7 | Albern und unverdrossen |
| 8 | Raffiniert und tückisch |
| 9 | Intelektuell und abgeklärt |
| 10 | Freundlich und offen |
{:.cyber-table .ac-red style="width: auto;"}
## Kleidung und persönlicher Stil
{:.cyber-h}
<strong>Wirf 1W10 für jede Spalte oder wähle eine aus jeder Spalte.</strong>
| Wurf | Kleidungsstil | Frisur |
| ---- | ---------------------------------------------------- | ------------------- |
| 1 | Generisch-Modän (Standard, Farbenfroh, Modular) | Mohawk |
| 2 | Freizeit (Bequem, Beweglich, Athletisch) | Lang und verlottert |
| 3 | Stadtprotz (Protzig, Technologisch, Straßenkleidung) | Kurz und stachelig |
| 4 | Geschäftlich (Führung, Präsenz, Autorität) | Wild und wuschelig |
| 5 | Topmodisch (Exklusiv, Designer, Couture) | Kahl |
| 6 | Ausgefallen (Volkstümlich, Retro, Freigeistig) | Gestreift |
| 7 | Stadtstreicher-Chic (Obdachlos, Abgerissen, Unstet) | Wilde Farben |
| 8 | Gangfarben (Gefährlich, Gewalttätig, Rebellisch) | Sauber und kurz |
| 9 | Nomaden-Lederkluft (Western, Wild, Stammestracht) | Kurz und lockig |
| 10 | Asia Pop (Grell, Kostümartig, Jugendlich) | Lang und gerade |
{:.cyber-table .ac-red style="width: auto;"}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Vorlieben, ohne die man dich niemals sieht |
| ---- | ------------------------------------------ |
| 1 | Tätowierungen |
| 2 | Verspiegelte Sonnenbrille |
| 3 | Rituelle Narben |
| 4 | Nagelhandschuhe |
| 5 | Nasenringe |
| 6 | Piercing in der Zunge oder anderswo |
| 7 | Seltsame Fingernagelimplantate |
| 8 | Stiefel oder Stöckelschuhe mit Nägeln |
| 9 | Fingerlose Handschuhe |
| 10 | Komische Kontaktlinsen |
{:.cyber-table .ac-red style="width: auto;"}
## Deine Motivation und Beziehungen
{:.cyber-h}
<strong>Wirf 1W10 für jede Spalte oder wähle eine aus jeder Spalte.</strong>
| Wurf | Was schätzt du am meisten? | Was hältst du von den meisten Leuten? |
| ---- | -------------------------- | ------------------------------------------------------------------------------ |
| 1 | Geld | Ich bleibe neutral. |
| 2 | Ehre | Ich bleibe neutral. |
| 3 | Dein Wort | Ich mag so gut wie alle. |
| 4 | Ehrlichkeit | Ich hasse so gut wie alle. |
| 5 | Wissen | Menschen sind Werkzeuge. Benutze sie und wirf sie dann weg. |
| 6 | Rache | Jeder Mensch ist ein wertvolles Individuum. |
| 7 | Liebe | Menschen sind Hindernisse, die vernichtet werden müssen, wenn sie mich nerven. |
| 8 | Macht | Man kann Menschen nicht vertrauen. Verlass dich auf niemanden. |
| 9 | Familie | Lösch sie alle aus - sollen die Kakerlaken die Macht übernehmen. |
| 10 | Freundschaft | Menschen sind wunderbar! |
{:.cyber-table .ac-red style="width: auto;"}
### Was du am meisten schätzt
{:.cyber-h}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Welche Menschen sind für dich am wertvollsten? |
| ---- | ---------------------------------------------- |
| 1 | Ein Elternteil |
| 2 | Ein Bruder oder eine Schwester |
| 3 | Eine Liebschaft |
| 4 | Ein Freund |
| 5 | Du selbst |
| 6 | Ein Haustier |
| 7 | Ein Lehrer oder Mentor |
| 8 | Eine öffentliche Person |
| 9 | Ein persönliches Held |
| 10 | Niemand |
{:.cyber-table .ac-red style="width: auto;"}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Was ist dein wertvollster Besitz? |
| ---- | --------------------------------- |
| 1 | Eine Waffe |
| 2 | Ein Werkzeug |
| 3 | Ein Kleidungsstück |
| 4 | Eine Fotografie |
| 5 | Ein Buch oder Tagebuch |
| 6 | Eine Aufnahme |
| 7 | Ein Musikinstrument |
| 8 | Ein Schmuckstück |
| 9 | Ein Spielzeug |
| 10 | Ein Brief |
{:.cyber-table .ac-red style="width: auto;"}
## Deine Familiäre Herkunft
{:.cyber-h}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Ursprünfliche Herkunft | Beschreibung |
| ---- | ---------------------- | ------------ |
| 1 | Konzerngeschäftsführer | Wohlhabend und mächtig mit Dienern, Luxuswohnungen und alles vom Feinsten. Die private Sicherheit sorgt dafür, dass du immer geschützt warst. Du warst bestimmt auf einer Privatschule. |
| 2 | Konzernmanager | Gut betucht mit einer großen Behausung, sicherer Nachbarschaft, tollen Autos usw.<br> Manchmal stellten deine Eltern Bedienstete an, aber das war selten. Du wurdest privat wie auch von Konzernseite unterrichtet. |
| 3 | Konzerntechniker | Mittlere Mittelschicht mit gemütlicher Konwohnung oder Vororthaus in Beaverville, Minivan und Konzern-Technikum. Wie eine Mischung aus dem Leben im Amerika der 1950er Jahre und 1984. |
| 4 | Nomadenrudel | Du hattest eine Mischung aus stabilem Wohnwagen, Fahrzeugen und wuchtigen Straßenkombis als Zuhause. In jungen Jahren wurde dir Fahren und Kämpfen beigebracht, aber die Familie war immer da und passte auf dich auf. Essen war eigentlich immer frisch und reichlich. Meistens gab es Heimunterricht. |
| 5 | Gang-"Familie" | Ein brutales, gewalttätiges Zuhause an einem Ort, wo die Gang das Sagen hatte. Hunger, Kälte und Angst waren deine ständigen Begleiter. Du wusstes wahrscheinlich nicht, wer eigentlich deine Eltern waren. Bildung? Die Gang brachte dir bei, wie man kämpft, tötet und stiehlt - was brauchst du sonst noch? |
| 6 | Kriegszonenbewohner | Einen Hauch besser als das einer Gang-"Familie", ein verfallenes, schwer befestigtes Gebäude irgendwo in der Zone. Gelegentlich musstest du hungern, kamst aber halbwegs regelmäßig an ein Bett und an eine Mahlzeit ran. Heimunterricht. |
| 7 | Städtische Obdachlose | Du lebst in Autos, Müllcontainern oder vergessenen Frachtmodulen. Wenn du Glück hattest. Meistens littest du unter Hunger, Kälte und Angst, wenn du nicht hart genug warst, um dich um die Reste zu prügeln. Bildung? Die harte Schule des Lebens. |
| 8 | Megabauten | Du wuchst in einer der Megabauten auf, die nach dem Krieg hochgezogen wurden. Eine winzige Wohnung, Kibble und Scop als Nahrung, ein oftmals warmes Bett. Ein paar gebildetere Baubewohner oder ein lokaler Konzern könnten eine Schule eingerichtet haben. |
| 9 | Reclaimer | Du begannst auf der Straße, zogst dann aber in eine der verlassenen Geisterstädte um sie wiederaufzubauen. Das Leben eines Pioniers: gefährlich, aber mit reichlich einfachem Essen und einem sicheren Schlafplatz. Du wurdest daheim unterrichtet, wenn jemand die Zeit dafür fand. |
| 10 | Edgerunner | Je nachdem, welchen "Job" deine Eltern gerade hatten, veränderte sich dein Zuhause ständig. Mal ein Luxusappartment, mal eine städtische Konbude oder ein Müllcontainer, wenn ihr auf der Flucht wart. Kost und Logis schwankten zwischen Gourmet und Kibble. |
{:.cyber-table .ac-red style="width: auto;"}
## Dein Umfeld
{:.cyber-h}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Umfeld deiner Herkunft |
| ---- | ---------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Auf der Straße rumgetrieben, ohne Aufsicht durch Erwachsene. |
| 2 | In einer Konzone verbracht, durch Mauern vom Rest der City getrennt. |
| 3 | In einem Nomadenrudel, ständig auf Achse. |
| 4 | In einem Nomadenrudel mit Wurzeln im Transport (Schiffe, Flugzeuge, Wohnwagen). |
| 5 | In einem verfallenden, früher gehobenen Viertel, das zum Überleben jetzt die Booster zurückschlagen muss. |
| 6 | Inmitten einer Kriegszone, Leben in einem zerstörten Gebäude oder in irgendeinem anderen Gemäuer. |
| 7 | In einem riesigen "Megabau", der von einem Konzern oder der City kontrolliert wird. |
| 8 | In den Ruinen einer verlassenen Stadt, die von Reclaimers übernommen wurde. |
| 9 | In einer Schwimmenden Nation (einer treibenden, der Küste vorgelagerten Statd), die ein Treffpunkt für Menschen aller Couleur ist. |
| 10 | In einem luxuriösen "Sternenkratzer" eines Konzerns, hoch über dem Rest des wimmelnden Pöbels. |
{:.cyber-table .ac-red style="width: auto;"}
## Deine Familienkrise
{:.cyber-h}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Hintergrund |
| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Deine Familie hat alles durch Verrat verloren. |
| 2 | Deine Familie hat alles durch schlechtes Management verloren. |
| 3 | Deine Familie wurde verbannt oder auf anderem Wege aus ihrer Heimat / ihrer Nation / ihrem Konzern vertrieben. |
| 4 | Deine Familie wurde gefangen genommen und nur du konntest entkommen. |
| 5 | Deine Familie ist verschwunden. Du bist als Einziger übriggeblieben. |
| 6 | Deine Familie wurde getötet und nur du hast überlebt. |
| 7 | Deine Familie ist in eine Langzeitverschwörung, eine Organisation oder Vereinigung verwickelt, beispielsweise eine Verbrecherfamilie oder eine revolutionäre Gruppe. |
| 8 | Aufgrund eines Unglücks ist deine Familie in alle vier Himmelsrichtungen verstreut. |
| 9 | Deine Familie trägt die Last einer Erbfehde, die schon Generationen anhält. |
| 10 | Du bist Erbe der Familienschulden. Du musst die Schuld begleichen, bevor du dein Leben weiterführen kannst. |
{:.cyber-table .ac-red style="width: auto;"}
## Deine Lebensziele
{:.cyber-h}
<strong>Wirf 1W10 oder wähle eine aus.</strong>
| Wurf | Lebensziele |
| ---- | ------------------------------------------------------------------------------------------------ |
| 1 | Einen schlechten Ruf loswerden. |
| 2 | Macht und Kontroller erlangen. |
| 3 | Von der Straße wegkommen, was auch immer es kosten mag. |
| 4 | All jenen Schmerz und Leid zufügen, die dir in die Quere kommen. |
| 5 | Dein altes Leben hinter dir lassen und versuchen, es zu vergessen. |
| 6 | Die für dein mieses Leben Verantwortlichen jagen und sie dafür büßen lassen. |
| 7 | Bekommen, was dir rechtmäßig zusteht. |
| 8 | Wenn möglich, jemanden aus deinem Hintergrund retten, wie eine Liebschaft oder Familienmitglied. |
| 9 | Ruhm und Anerkennung gewinnen. |
| 10 | Gefürchtet und respektiert werden. |
{:.cyber-table .ac-red style="width: auto;"}
## Deine Freunde, Deine Feinde, Deine tragische(n) Liebschaft(en), Süße Rache
{:.cyber-h}
Diese Dinge werden per Zufall ausgewürfelt und müssen Vorort geklärt werden.
## Rollenbasierte Lebenswege
{:.cyber-h}
Rollenbasierte Lebenswege werden wie Freunde, Feinde und Liebschaften auch vor Ort bestimmt.

158
_pages/netrunner-guide.md Normal file
View File

@ -0,0 +1,158 @@
---
layout: toc
title: Netrunner Guide
permalink: /player-guides/netrunner
nav: false
---
{% include player-guide.html %}
## Netrunner (Rollenfähigkeit: `Interface`)
{:.cyber-h}
Die Rollenfähigkeit `Interface` erlaubt es Netrunnern, sogenannte **NET-Läufe** durchzuführen. Je höher der `Interface`-Rang, desto mehr **NET-Aktionen pro Zug** sind möglich und desto mehr **Interface-Programme (Apps)** stehen zur Verfügung.
### NET-Aktionen pro Zug
{:.cyber-h}
| Interface-Rang | NET-Aktionen |
|----------------|--------------|
| 13 | 2 |
| 46 | 3 |
| 79 | 4 |
| 10 | 5 |
{:.cyber-table .ac-red style="width: auto;"}
### Interface-Apps
{:.cyber-h}
| Fähigkeit | Beschreibung |
|---------------|--------------|
| **Hintertür** | Durchbrechen von Passwörtern und Hindernissen in Architekturen. |
| **Deckmantel** | Aktionen im Netz verbergen, bevor das Netz sie registriert. |
| **Kontrolle** | Kontrolle über vernetzte Geräte in der Architektur. |
| **Auswertung** | Zugriff auf Peripheriedaten aus Architekturen. |
| **Kundschafter** | „Karte“ der Architektur aufdecken. |
| **Scanner** | Nach Geräten oder Zugangspunkten suchen. |
| **Abfangen** | Eingehende Kommunikation oder Datenpakete abfangen. |
| **Virus** | Einen Virus in der Architektur platzieren. |
| **Schocker** | Einfacher Netrunner-Angriff auf Programme oder andere Netrunner. |
{:.cyber-table .ac-red style="width: auto;"}
## Netrun durchführen
{:.cyber-h}
## Voraussetzungen
{:.cyber-h}
Um als Netrunner effektiv arbeiten zu können, brauchst du:
- **Virtuellen Zugang** (z.B. über Virtuality-Brille)
- **Cyberdeck** mit geladenen Programmen
- Die Rollenfähigkeit **Interface**
{:.cyber-ul}
---
## NET-Aktionen pro Zug
{:.cyber-h}
Je nach Rang in deiner Rollenfähigkeit `Interface` hast du folgende Anzahl an **NET-Aktionen pro Runde**:
| Interface-Rang | NET-Aktionen |
|----------------|--------------|
| 13 | 2 |
| 46 | 3 |
| 79 | 4 |
| 10 | 5 |
{:.cyber-table .ac-red style="width: auto;"}
> Du darfst pro Zug **entweder** eine Fleischaktion **oder** so viele NET-Aktionen durchführen, wie dir zustehen. Zusätzlich steht dir immer **eine Bewegungsaktion** zur Verfügung.
---
## Liste der NET-Aktionen
{:.cyber-h}
### Allgemeine NET-Aktionen
{:.cyber-h}
- **Ein-/Ausklinken**: Zugangspunkt betreten oder verlassen (max. 6m Entfernung).
- **Interface-App einsetzen**: Eine App aus deinem Cyberdeck aktivieren.
- **Programm aktivieren/deaktivieren**: Aktiviert oder deaktiviert eines deiner Programme.
- **Sonstiges**: Z.B. Virus platzieren, Zugriff manipulieren.
{:.cyber-ul}
### Was ist keine NET-Aktion?
{:.cyber-h}
- **Dateikopie speichern**: Eine gefundene Datei auf deinem Cyberdeck speichern.
- **Bewegen in einer NET-Architektur**: In deinem Zug kannst du dich in einer NET-Architektur frei bewegen. An einem NET-Hindernis, das dich aufhält (wie zum Beispiel ein Passwort) kommst du nicht vorbei.
{:.cyber-ul}
---
## Interface-Apps (mit NET-Aktion einsetzbar)
{:.cyber-h}
Diese Apps (außer Schocker) benötigen:
**Interface + 1W10 gegen SG**
### Übersicht
{:.cyber-h}
| App | Funktion |
|----------------|----------|
| **Scanner** | Findet Zugangspunkte in der Umgebung. Wird als Fleischaktion eingesetzt. |
| **Hintertür** | Öffnet gesicherte Zugänge mit Passwörtern oder Sperren. |
| **Deckmantel** | Versteckt deine Aktionen und schützt vor Erkennung. |
| **Kontrolle** | Übernimmt Geräte, die über Kontrollknoten verbunden sind. |
| **Auswertung** | Erkennt und analysiert Daten oder Dateien. |
| **Kundschafter**| Deckt Teile der NET-Architektur („Karte“) auf. |
| **Virus** | Lässt einen Virus zurück, der Systeme beeinflusst. (SG vom SL abhängig) |
| **Abgang** | Verlässt ein Stockwerk der NET-Architektur bei Kampf gegen Schwarzes ICE. |
| **Schocker** | Führt einen Angriff auf Programme oder andere Netrunner aus. (s. Kampf im NET) |
---
## Kampf im NET
{:.cyber-h}
Wenn es zu Gewalt im Cyberspace kommt, läuft es wie folgt ab:
**Angreifer (z.B. Netrunner):**
`Interface + Programm-ANG + 1W10`
**Verteidiger (Ziel oder Schwarzes ICE):**
`Interface + 1W10` oder `Programm-VER + 1W10`
> Trifft der Angriff, wirkt der Effekt des Programms. Programme können zerstört werden, wenn ihre **Integrität (TP)** auf 0 fällt.
---
## Programme
{:.cyber-h}
Programme sind deine Werkzeuge im Cyberspace. Du kannst sie **aktivieren oder deaktivieren** (je 1 NET-Aktion).
- **Ein Programm kann nur einmal pro Fleischraum-Runde aktiviert werden.**
- Du kannst mehrere Kopien desselben Programms aktiv haben.
- **Angriffsprogramme** deaktivieren sich nach dem Einsatz automatisch.
{:.cyber-ul}
> Das **Installieren oder Deinstallieren eines Programms dauert eine Stunde.**
---
## Tipps für effektives Netrunning
{:.cyber-h}
- **Vorbereitung ist alles**: Lade deine Programme rechtzeitig.
- **Bleib in Deckung**: Im Fleischraum bist du während NET-Aktionen verwundbar.
- **Scannen zuerst**: Bevor du dich einklinkst, finde die Zugangspunkte mit dem Scanner.
- **ICE sind gefährlich**: Plane deinen Abgang und halte Ausweichrouten offen.
- **Steuer deine Umgebung**: Mit Kontroll-Apps kannst du Kameras, Türen und Fallen übernehmen.
{:.cyber-ul}
---

11
_pages/player-guides.md Normal file
View File

@ -0,0 +1,11 @@
---
layout: page
title: Player Guides
permalink: /player-guides
icon: assist_walker
nav: true
---
- [Netrunner Guide]({{ "/player-guides/netrunner" | relative_url }}){:.cyber-a}
- [Tech Guide]({{ "/player-guides/tech" | relative_url }}){:.cyber-a}
{:.cyber-ul}

9
_pages/roles.md Normal file
View File

@ -0,0 +1,9 @@
---
layout: page
title: Rollen
permalink: /roles/
icon: manage_accounts
weight: 4
---
TBD

11
_pages/skills.md Normal file
View File

@ -0,0 +1,11 @@
---
layout: page
title: Fertigkeiten
permalink: /skills/
icon: fact_check
weight: 6
---
Fertigkeiten sind Dinge, die dein Charakter kennt oder kann. Sie stehen für Wissen und Leistungen. Jede Fertigkeit ist mit einem Attribut verbunden, das ihre Ausführung beeinflusst.
{% include skill-overview.html %}

98
_pages/tech-guide.md Normal file
View File

@ -0,0 +1,98 @@
---
layout: toc
title: Tech Guide
permalink: /player-guides/tech
nav: false
---
{% include player-guide.html %}
## Tech (Rollenfähigkeit: `Bastler`)
{:.cyber-h}
Techs nutzen die Rollenfähigkeit `Bastler`, um Geräte zu **reparieren**, **verbessern**, **erfinden** und **bauen**.
Jedes Mal, wenn ein Tech seinen `Bastler`-Rang erhöht, erhält er **1 Rang in zwei Bastler-Spezialisierungen** seiner Wahl:
- **Feldkompetenz**
- **Aufrüstungskompetenz**
- **Herstellungskompetenz**
- **Erfindungskompetenz**
---
### Bastler-Spezialisierungen
{:.cyber-h}
#### **Feldkompetenz**
{:.cyber-h}
> Spezialisiert auf schnelle Notfallreparaturen in stressigen Situationen.
- Addiere deinen Rang in Feldkompetenz auf alle Proben mit:
- Basistechnik
- Cybertech
- Elektronik/Sicherheitstechnik
- Waffentechnik
- Boden-, Wasser- oder Luftfahrzeugtechnik
- Bei mindestens 1 Rang darfst du innerhalb von 10 Minuten behelfsmäßig reparieren.
---
#### **Aufrüstungskompetenz**
{:.cyber-h}
> Verbessere bestehende Gegenstände auf vielfältige Weise.
- Beispiele für Aufrüstungen:
- Reduziere Menschlichkeitsverlust bei Cyberware
- Erhöhe Slots für Optionen oder Programme
- Verbessere Qualität oder Schaden
- Füge neue Funktionen hinzu (z.B. versteckbare Waffen)
**Probe:**
`TECH + zugehörige Reparatur-Fertigkeit + Spezialisierung + 1W10`
---
#### **Herstellungskompetenz**
{:.cyber-h}
> Stelle Gegenstände aus Materialien und Ideen her.
- Kaufe Materialien und kombiniere sie mit Tech-Wissen.
- Preisstufe legt SG & Zeit fest (siehe Tabelle unten).
- Misslingt der Wurf: Materialverlust.
**Probe:**
`TECH + Reparatur-Fertigkeit des Gegenstands + Spezialisierung + 1W10`
---
#### **Erfindungskompetenz**
{:.cyber-h}
> Erfinde völlig neue Gegenstände oder Aufrüstungen.
- Du beschreibst die Funktion möglichst genau.
- SL legt Preisstufe und SG fest.
- Gilt wie Herstellung, nur mit mehr Kreativität.
**Probe:**
`TECH + Reparatur-Fertigkeit der Erfindung oder des aufgerüsteten Objekts + Spezialisierung + 1W10`
---
### SG-Tabelle für Aufrüsten, Herstellen & Erfinden
{:.cyber-h}
| Preisstufe | SG | Zeit |
|--------------------|----|----------------|
| Billig/Alltäglich | 9 | 1 Stunde |
| Teuer | 13 | 6 Stunden |
| Premium | 17 | 1 Tag |
| Kostspielig | 21 | 1 Woche |
| Sehr Kostspielig | 24 | 2 Wochen |
| Luxus | 29 | 1 Monat |
| Superluxus | 29 | 1 Monat / 10.000 Euro im Preis |
{:.cyber-table .ac-red style="width: auto;"}

74
_sass/_layout.scss Normal file
View File

@ -0,0 +1,74 @@
* {
font-family: BlenderProBook, sans-serif;
}
strong {
font-weight: 600;
}
body {
height: 100vh;
min-height: 100vh;
max-height: 100vh;
display: flex;
flex-direction: column;
overflow-y: scroll;
font-family: BlenderProBook, sans-serif;
}
main {
flex-grow: 1;
font-family: BlenderProBook, sans-serif;
}
footer {
position: sticky !important;
bottom: 0;
width: 100%;
background: var(--dark, #333);
color: var(--white, #fff);
text-align: center;
padding: 10px;
z-index: 1000;
}
.breadcrumb {
font-size: 14px;
color: #ffcc00;
padding: 5px 10px;
}
.breadcrumb a {
color: #ff003c;
text-decoration: none;
}
.breadcrumb span {
color: #888;
}
.character-details {
display: flex;
}
.character-details-title {}
.character-details-value {
margin: 0px 0px 0px auto;
}
.mobile-tabs {
display: none;
}
/* Ab max. 992px (iPad Hochkant und kleiner) ändert sich das Layout */
@media screen and (max-width: 992px) {
.desktop-only {
display: none;
}
.mobile-tabs {
display: block;
background-color: transparent;
}
}

0
_sass/_syntax.scss Normal file
View File

0
_sass/_variables.scss Normal file
View File

View File

@ -0,0 +1,3 @@
@import "variables";
@import "layout";
@import "syntax";

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

5
assets/css/main.scss Normal file
View File

@ -0,0 +1,5 @@
---
---
@import "materialize.scss",
"cyberpunk-theme";

View File

@ -1,6 +1,10 @@
---
permalink: /assets/js/service-worker.js
---
const CACHE_NAME = "cyberpunk-cache-v1"; const CACHE_NAME = "cyberpunk-cache-v1";
const OFFLINE_URL = "/offline.html"; // Diese Seite wird angezeigt, wenn offline const OFFLINE_URL = "/offline.html"; // Diese Seite wird angezeigt, wenn offline
const BASE_PATH = "/cpred/"; const BASE_PATH = "{{ "/" | relative_url }}";
const SITEMAP_URL = BASE_PATH + "sitemap.json"; const SITEMAP_URL = BASE_PATH + "sitemap.json";
const urlsToCache = [ const urlsToCache = [

View File

@ -1,18 +1,22 @@
---
permalink: /assets/manifest.json
---
{ {
"name": "ThePhoenixDivision", "name": "{{ site.title }}",
"short_name": "CPRED", "short_name": "CPRED",
"start_url": "/cpred/", "start_url": "{{ "/" | relative_url }}",
"display": "standalone", "display": "standalone",
"background_color": "#f8ef02", "background_color": "#f8ef02",
"theme_color": "#000000", "theme_color": "#000000",
"icons": [ "icons": [
{ {
"src": "/cpred/assets/img/icon-192.png", "src": "{{ "/assets/img/icon-192.png" | relative_url }}",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png" "type": "image/png"
}, },
{ {
"src": "/cpred/assets/img/icon-512.png", "src": "{{ "/assets/img/icon-512.png" | relative_url }}",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png" "type": "image/png"
} }

View File

@ -1,262 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Attribute - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a fg-yellow">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>attributes</span>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Attribute</h1>
<p>Fertigkeiten sind Dinge, die dein Charakter kennt oder kann. Sie stehen für Wissen und Leistungen. Jede Fertigkeit ist mit einem Attribut verbunden, das ihre Ausführung beeinflusst.</p>
<h2 class="cyber-h">Attribute</h2>
<h3 class="cyber-h">Was sind Attribute?</h3>
<p>Attribute (kurz ATT) sind Werte, welche die Fähigkeiten eines Charakters zu allen anderen im Spieluniversum ins Verhältnis setzen. Attribute helfen dabei, die Fähigkeiten der Charaktere vergleichbar zu machen. In einer <b>Cyberpunk-RED-Kampagne</b> weisen die Charaktere zehn Hauptattribute aus vier Gruppen auf: <b>Geistig</b>, <b>Kampf</b>, <b>Schicksal</b> und <b>Körperlich</b>.</p>
<h4 class="cyber-h">Geistige Gruppe</h4>
<ul>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Wie schlau du allgemein bist: Schlauheit, Aufmerksamkeit, Wahrnehmung, Lernfähigkeit.">Intelligenz (INT)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Deine Entschlossenheit und Fähigkeit, mit Gefahren und Stress umzugehen. Beeinflusst Mut und Durchhaltevermögen.">Wille (WIL)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Wie gut du mit Druck und sozialen Situationen umgehen kannst, inkl. Ausstrahlung.">Coolness (COOL)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Fähigkeit, dich in andere hineinzuversetzen und sozial zu handeln. Nimmt durch Cyberware ab.">Empathie (EMP)</span></li>
</ul>
<h4 class="cyber-h">Kampfgruppe</h4>
<ul>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Fähigkeit, mit Werkzeugen und Technik umzugehen z.B. Hacking, Reparatur.">Technik (TECH)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Reaktionszeit und Koordination wichtig fürs Zielen, Ausweichen und schnelle Aktionen.">Reflexe (REF)</span></li>
</ul>
<h4 class="cyber-h">Schicksalsgruppe</h4>
<ul>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Repräsentiert dein Glück kann für Würfe verwendet werden und regeneriert sich pro Sitzung.">Glück (GLK)</span></li>
</ul>
<h4 class="cyber-h">Körperliche Gruppe</h4>
<ul>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Wie robust du bist: Körpermasse, Widerstandsfähigkeit, Schadenseinstecken.">Kraft (KRA)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Deine Koordination und Fähigkeit für physische Aufgaben, wie Nahkampf, Balance, Parcours.">Geschicklichkeit (GES)</span></li>
<li><span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Wie schnell du dich bewegst Laufen, Springen, Schwimmen.">Bewegung (BEW)</span></li>
</ul>
<h4 class="cyber-h">Menschlichkeit (MEN)</h4>
<p>
<span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Ein Maß für deine emotionale Stabilität. Nimmt durch Trauma oder Cyberware ab.">
Menschlichkeit
</span> wird aus
<span class="oxanium-font tooltipped" data-position="bottom" data-tooltip="Fähigkeit, sich in andere hineinzuversetzen und sozial zu interagieren.">Empathie (EMP)</span> ×10
berechnet.
</p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr><th>Empathie (EMP)</th><th>Menschlichkeit (MEN)</th></tr>
</thead>
<tbody>
<tr><td>1</td><td>10</td></tr>
<tr><td>2</td><td>20</td></tr>
<tr><td>3</td><td>30</td></tr>
<tr><td>4</td><td>40</td></tr>
<tr><td>5</td><td>50</td></tr>
<tr><td>6</td><td>60</td></tr>
<tr><td>7</td><td>70</td></tr>
<tr><td>8</td><td>80</td></tr>
<tr><td>9</td><td>90</td></tr>
<tr><td>10</td><td>100</td></tr>
</tbody>
</table>
<p>Sinkt die Menschlichkeit um mehr als 10 Punkte, sinkt auch <b>EMP</b> (z.B. bei 39MEN fällt EMP auf 3).</p>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-red">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1,283 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chase Révolte - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a fg-yellow">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>characters</span>
<a href="/cpred/characters/chase">Chase Révolte</a>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Chase Révolte</h1>
<div class="row">
<div class="col s6 m4 l1 responsive-img">
<img class="responsive-img" src="/cpred/assets/img/Netrunner.png" alt="Picture of Chase Révolte" />
</div>
<div class="bg-dark fg-yellow cyber-tile col s12 m8 l11">
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Straßenname:</strong>
<span id="streetname" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Alter:</strong>
<span id="age" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Rolle:</strong>
<span id="role" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Rollenfähigkeit:</strong>
<span id="role-ability" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Unterkunft:</strong>
<span id="housing" class="oxanium-font character-details-value tooltipped" data-position="bottom" style="cursor: pointer;"></span>
<span style="background-color: white; color: blue; font-size: .64em; display: flex; align-items: flex-start; height: fit-content; align-self: flex-start; border-radius: 50%; padding: 0px 4px; ">i</span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Lebensstil:</strong>
<span id="lifestyle" class="oxanium-font character-details-value tooltipped" data-position="bottom" style="cursor: pointer;"></span>
<span style="background-color: white; color: blue; font-size: .64em; display: flex; align-items: flex-start; height: fit-content; align-self: flex-start; border-radius: 50%; padding: 0px 4px; ">i</span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Lebenskosten:</strong>
<span id="costs" class="oxanium-font character-details-value"></span>
</p>
</div>
</div>
<script>
let char, housing, lifestyle;
fetch("/cpred/assets/game-data/characters/chase.json")
.then(response => response.json())
.then(character => {
char = character;
return fetch("/cpred/assets/game-data/housings.json");
}).then(response => response.json())
.then(housings => {
housing = housings[char.housing.type];
return fetch("/cpred/assets/game-data/lifestyles.json");
}).then(response => response.json())
.then(lifestyles => {
lifestyle = lifestyles[char.lifestyle];
document.getElementById('streetname').innerText = char.handle;
document.getElementById('age').innerText = char.age;
const mainRole = char.roles.find(role => role.main);
document.getElementById('role').innerText = mainRole.name + " Rang: " + mainRole.rank;
document.getElementById('housing').innerText = char.housing.type;
if (housing.description)
document.getElementById('housing').setAttribute("data-tooltip", housing.description);
document.getElementById('lifestyle').innerText = char.lifestyle;
if (housing.description)
document.getElementById('lifestyle').setAttribute("data-tooltip", lifestyle.description);
let costs = lifestyle.cost;
if (!char.housing.owned) {
costs += housing.rent;
}
document.getElementById('costs').innerText = costs + " ed";
});
</script>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-red">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1,283 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Carver Riggs - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a fg-yellow">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>characters</span>
<a href="/cpred/characters/crash">Carver Riggs</a>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Carver Riggs</h1>
<div class="row">
<div class="col s6 m4 l1 responsive-img">
<img class="responsive-img" src="/cpred/assets/img/Tech.png" alt="Picture of Carver Riggs" />
</div>
<div class="bg-dark fg-yellow cyber-tile col s12 m8 l11">
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Straßenname:</strong>
<span id="streetname" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Alter:</strong>
<span id="age" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Rolle:</strong>
<span id="role" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Rollenfähigkeit:</strong>
<span id="role-ability" class="oxanium-font character-details-value"></span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Unterkunft:</strong>
<span id="housing" class="oxanium-font character-details-value tooltipped" data-position="bottom" style="cursor: pointer;"></span>
<span style="background-color: white; color: blue; font-size: .64em; display: flex; align-items: flex-start; height: fit-content; align-self: flex-start; border-radius: 50%; padding: 0px 4px; ">i</span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Lebensstil:</strong>
<span id="lifestyle" class="oxanium-font character-details-value tooltipped" data-position="bottom" style="cursor: pointer;"></span>
<span style="background-color: white; color: blue; font-size: .64em; display: flex; align-items: flex-start; height: fit-content; align-self: flex-start; border-radius: 50%; padding: 0px 4px; ">i</span>
</p>
<p class="character-details">
<strong class="cyberpunk-font-og character-details-title">Lebenskosten:</strong>
<span id="costs" class="oxanium-font character-details-value"></span>
</p>
</div>
</div>
<script>
let char, housing, lifestyle;
fetch("/cpred/assets/game-data/characters/carver.json")
.then(response => response.json())
.then(character => {
char = character;
return fetch("/cpred/assets/game-data/housings.json");
}).then(response => response.json())
.then(housings => {
housing = housings[char.housing.type];
return fetch("/cpred/assets/game-data/lifestyles.json");
}).then(response => response.json())
.then(lifestyles => {
lifestyle = lifestyles[char.lifestyle];
document.getElementById('streetname').innerText = char.handle;
document.getElementById('age').innerText = char.age;
const mainRole = char.roles.find(role => role.main);
document.getElementById('role').innerText = mainRole.name + " Rang: " + mainRole.rank;
document.getElementById('housing').innerText = char.housing.type;
if (housing.description)
document.getElementById('housing').setAttribute("data-tooltip", housing.description);
document.getElementById('lifestyle').innerText = char.lifestyle;
if (housing.description)
document.getElementById('lifestyle').setAttribute("data-tooltip", lifestyle.description);
let costs = lifestyle.cost;
if (!char.housing.owned) {
costs += housing.rent;
}
document.getElementById('costs').innerText = costs + " ed";
});
</script>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-red">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1,263 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Charaktere - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a fg-yellow">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>characters</span>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Charaktere</h1>
<div class="row" style="column-gap: 5px;">
<div class="col s12 l6">
<div class="cyber-tile cyber-tile-big bg-red fg-dark " style="min-height: auto;">
<img class="responsive-img" src="/cpred/assets/img/Netrunner.png" alt="Character Picture" />
<p><span class="cyberpunk-font">Name:</span>&nbsp;&nbsp;<span id="name-chase"></span></p>
<p><span class="cyberpunk-font">Handle:</span>&nbsp;&nbsp;<span id="streetname-chase"></span></p>
<p><span class="cyberpunk-font">Role:</span>&nbsp;&nbsp;<span id="role-chase"></span></p>
<p><span class="cyberpunk-font">Age:</span>&nbsp;&nbsp;<span id="age-chase"></span></p>
<button class="cyber-button bg-purple fg-white" onclick="window.location.href='/cpred/characters/chase'">
Screamsheet
<span class="glitchtext">teehsmaercS</span>
<span class="tag">NETR</span>
</button>
</div>
<script>
fetch("/cpred/assets/game-data/characters/chase.json")
.then(response => response.json())
.then(character => {
document.getElementById('name-chase').innerText = character.name;
document.getElementById('streetname-chase').innerText = character.handle;
document.getElementById('age-chase').innerText = character.age;
const mainRole = character.roles.find(role => role.main);
document.getElementById('role-chase').innerText = mainRole.name + " Rang: " + mainRole.rank;
});
</script>
</div>
<div class="col s12 l6">
<div class="cyber-tile cyber-tile-big bg-red fg-purple " style="min-height: auto;">
<img class="responsive-img" src="/cpred/assets/img/Tech.png" alt="Character Picture" />
<p><span class="cyberpunk-font">Name:</span>&nbsp;&nbsp;<span id="name-carver"></span></p>
<p><span class="cyberpunk-font">Handle:</span>&nbsp;&nbsp;<span id="streetname-carver"></span></p>
<p><span class="cyberpunk-font">Role:</span>&nbsp;&nbsp;<span id="role-carver"></span></p>
<p><span class="cyberpunk-font">Age:</span>&nbsp;&nbsp;<span id="age-carver"></span></p>
<button class="cyber-button bg-purple fg-white" onclick="window.location.href='/cpred/characters/crash'">
Screamsheet
<span class="glitchtext">teehsmaercS</span>
<span class="tag">NETR</span>
</button>
</div>
<script>
fetch("/cpred/assets/game-data/characters/carver.json")
.then(response => response.json())
.then(character => {
document.getElementById('name-carver').innerText = character.name;
document.getElementById('streetname-carver').innerText = character.handle;
document.getElementById('age-carver').innerText = character.age;
const mainRole = character.roles.find(role => role.main);
document.getElementById('role-carver').innerText = mainRole.name + " Rang: " + mainRole.rank;
});
</script>
</div>
</div>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-red">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://phoenixdivision.morlana.space/cpred/feed.xml" rel="self" type="application/atom+xml" /><link href="https://phoenixdivision.morlana.space/cpred/" rel="alternate" type="text/html" /><updated>2025-05-10T21:42:48+00:00</updated><id>https://phoenixdivision.morlana.space/cpred/feed.xml</id><title type="html">ThePhoenixDivision</title><subtitle>We will share our adventures in Cyberpunk Red here.</subtitle></feed>

View File

@ -1,195 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Die Rote Ära - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a fg-yellow">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
</div>
-->
</header>
<main class="container">
<div class="cyber-att-2" style="margin: 32px 0;">Es gibt noch keine Neuigkeiten...</div>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-red"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

4
index.md Normal file
View File

@ -0,0 +1,4 @@
---
layout: home
title: Die Rote Ära
---

View File

@ -1,866 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lebensweg - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a fg-yellow">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>lifepaths</span>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Lebensweg</h1>
<ul class="cyber-ul">
<li><a href="#kulturelle-herkunft" class="cyber-a">Kulturelle Herkunft</a></li>
<li><a href="#deine-persönlichkeit" class="cyber-a">Deine Persönlichkeit</a></li>
<li><a href="#kleidung-und-persönlicher-stil" class="cyber-a">Kleidung und persönlicher Stil</a></li>
<li><a href="#deine-motivation-und-beziehungen" class="cyber-a">Deine Motivation und Beziehungen</a></li>
<li><a href="#was-du-am-meisten-schätzt" class="cyber-a">Was du am meisten schätzt</a></li>
<li><a href="#deine-familiäre-herkunft" class="cyber-a">Deine Familiäre Herkunft</a></li>
<li><a href="#dein-umfeld" class="cyber-a">Dein Umfeld</a></li>
<li><a href="#deine-familienkrise" class="cyber-a">Deine Familienkrise</a></li>
<li><a href="#deine-lebensziele" class="cyber-a">Deine Lebensziele</a></li>
<li><a href="#deine-freunde-deine-feinde-deine-tragischen-liebschaften-süße-rache" class="cyber-a">Deine Freunde, Deine Feinde, Deine tragische(n) Liebschaft(en), Süße Rache</a></li>
</ul>
<h2 class="cyber-h" id="kulturelle-herkunft">Kulturelle Herkunft</h2>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Deine (allgemeine) Kulturregion</th>
<th>Sprachen, die du vielleicht kennst (Wähle eine aus deiner Gruppe aus)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Nordamerikansich</td>
<td>Chinsesisch, Cree, Englisch, Französisch, Kreol, Navajo, Spanisch</td>
</tr>
<tr>
<td>2</td>
<td>Süd-/Mittelamerikanisch</td>
<td>Deutsch, Englisch, Guarani, Kreol, Maya, Portugiesisch, Quechua, Spanisch</td>
</tr>
<tr>
<td>3</td>
<td>Westeuropäisch</td>
<td>Deutsch, Englisch, Französisch, Holländisch, Italienisch, Norwegisch, Portugiesisch, Spanisch</td>
</tr>
<tr>
<td>4</td>
<td>Osteuropäisch</td>
<td>Englisch, Finnisch, Polnisch, Rumänisch, Russisch, Ukrainisch</td>
</tr>
<tr>
<td>5</td>
<td>Nahöstlich/Nordafrikanisch</td>
<td>Arabisch, Berberisch, Englisch, Farsi, Französisch, Hebräisch, Türkisch</td>
</tr>
<tr>
<td>6</td>
<td>Schwarzafrikansich</td>
<td>Arabisch, Englisch, Französisch, Hausa, Lingala, Oromo, Portugiesisch, Swahili, Twi, Yoruba</td>
</tr>
<tr>
<td>7</td>
<td>Südasiatisch</td>
<td>Bengali, Dari, Englisch, Hindi, Nepalisch, Singhalesisch, Tamil, Urdu</td>
</tr>
<tr>
<td>8</td>
<td>Südostasiatisch</td>
<td>Arabisch, Burnesisch, Englisch, Filipino, Hindi, Indonesisch, Khmer, Malaysisch, Vietnamesisch</td>
</tr>
<tr>
<td>9</td>
<td>Ostasiatisch</td>
<td>Englisch, Japanisch, Kantonesisch, Koreanisch, Mandarin, Mongolisch</td>
</tr>
<tr>
<td>10</td>
<td>Ozeanisch/Pazifikinsulaner</td>
<td>Englisch, Französisch, Hawaiianisch, Maori, Pama-Nyunga, Tahitisch</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="deine-persönlichkeit">Deine Persönlichkeit</h2>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Wie bist du?</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Zurückhaltend und geheimnisvoll</td>
</tr>
<tr>
<td>2</td>
<td>Rebellisch, antisozial und gewalttätig</td>
</tr>
<tr>
<td>3</td>
<td>Arrogant, stolz und unnahbar</td>
</tr>
<tr>
<td>4</td>
<td>Launisch, impulsiv und eigenwillig</td>
</tr>
<tr>
<td>5</td>
<td>Pingelig, zimperlich und nervös</td>
</tr>
<tr>
<td>6</td>
<td>Gefestigt und ernst</td>
</tr>
<tr>
<td>7</td>
<td>Albern und unverdrossen</td>
</tr>
<tr>
<td>8</td>
<td>Raffiniert und tückisch</td>
</tr>
<tr>
<td>9</td>
<td>Intelektuell und abgeklärt</td>
</tr>
<tr>
<td>10</td>
<td>Freundlich und offen</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="kleidung-und-persönlicher-stil">Kleidung und persönlicher Stil</h2>
<p><strong>Wirf 1W10 für jede Spalte oder wähle eine aus jeder Spalte.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Kleidungsstil</th>
<th>Frisur</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Generisch-Modän (Standard, Farbenfroh, Modular)</td>
<td>Mohawk</td>
</tr>
<tr>
<td>2</td>
<td>Freizeit (Bequem, Beweglich, Athletisch)</td>
<td>Lang und verlottert</td>
</tr>
<tr>
<td>3</td>
<td>Stadtprotz (Protzig, Technologisch, Straßenkleidung)</td>
<td>Kurz und stachelig</td>
</tr>
<tr>
<td>4</td>
<td>Geschäftlich (Führung, Präsenz, Autorität)</td>
<td>Wild und wuschelig</td>
</tr>
<tr>
<td>5</td>
<td>Topmodisch (Exklusiv, Designer, Couture)</td>
<td>Kahl</td>
</tr>
<tr>
<td>6</td>
<td>Ausgefallen (Volkstümlich, Retro, Freigeistig)</td>
<td>Gestreift</td>
</tr>
<tr>
<td>7</td>
<td>Stadtstreicher-Chic (Obdachlos, Abgerissen, Unstet)</td>
<td>Wilde Farben</td>
</tr>
<tr>
<td>8</td>
<td>Gangfarben (Gefährlich, Gewalttätig, Rebellisch)</td>
<td>Sauber und kurz</td>
</tr>
<tr>
<td>9</td>
<td>Nomaden-Lederkluft (Western, Wild, Stammestracht)</td>
<td>Kurz und lockig</td>
</tr>
<tr>
<td>10</td>
<td>Asia Pop (Grell, Kostümartig, Jugendlich)</td>
<td>Lang und gerade</td>
</tr>
</tbody>
</table>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Vorlieben, ohne die man dich niemals sieht</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Tätowierungen</td>
</tr>
<tr>
<td>2</td>
<td>Verspiegelte Sonnenbrille</td>
</tr>
<tr>
<td>3</td>
<td>Rituelle Narben</td>
</tr>
<tr>
<td>4</td>
<td>Nagelhandschuhe</td>
</tr>
<tr>
<td>5</td>
<td>Nasenringe</td>
</tr>
<tr>
<td>6</td>
<td>Piercing in der Zunge oder anderswo</td>
</tr>
<tr>
<td>7</td>
<td>Seltsame Fingernagelimplantate</td>
</tr>
<tr>
<td>8</td>
<td>Stiefel oder Stöckelschuhe mit Nägeln</td>
</tr>
<tr>
<td>9</td>
<td>Fingerlose Handschuhe</td>
</tr>
<tr>
<td>10</td>
<td>Komische Kontaktlinsen</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="deine-motivation-und-beziehungen">Deine Motivation und Beziehungen</h2>
<p><strong>Wirf 1W10 für jede Spalte oder wähle eine aus jeder Spalte.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Was schätzt du am meisten?</th>
<th>Was hältst du von den meisten Leuten?</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Geld</td>
<td>Ich bleibe neutral.</td>
</tr>
<tr>
<td>2</td>
<td>Ehre</td>
<td>Ich bleibe neutral.</td>
</tr>
<tr>
<td>3</td>
<td>Dein Wort</td>
<td>Ich mag so gut wie alle.</td>
</tr>
<tr>
<td>4</td>
<td>Ehrlichkeit</td>
<td>Ich hasse so gut wie alle.</td>
</tr>
<tr>
<td>5</td>
<td>Wissen</td>
<td>Menschen sind Werkzeuge. Benutze sie und wirf sie dann weg.</td>
</tr>
<tr>
<td>6</td>
<td>Rache</td>
<td>Jeder Mensch ist ein wertvolles Individuum.</td>
</tr>
<tr>
<td>7</td>
<td>Liebe</td>
<td>Menschen sind Hindernisse, die vernichtet werden müssen, wenn sie mich nerven.</td>
</tr>
<tr>
<td>8</td>
<td>Macht</td>
<td>Man kann Menschen nicht vertrauen. Verlass dich auf niemanden.</td>
</tr>
<tr>
<td>9</td>
<td>Familie</td>
<td>Lösch sie alle aus - sollen die Kakerlaken die Macht übernehmen.</td>
</tr>
<tr>
<td>10</td>
<td>Freundschaft</td>
<td>Menschen sind wunderbar!</td>
</tr>
</tbody>
</table>
<h3 class="cyber-h" id="was-du-am-meisten-schätzt">Was du am meisten schätzt</h3>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Welche Menschen sind für dich am wertvollsten?</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Ein Elternteil</td>
</tr>
<tr>
<td>2</td>
<td>Ein Bruder oder eine Schwester</td>
</tr>
<tr>
<td>3</td>
<td>Eine Liebschaft</td>
</tr>
<tr>
<td>4</td>
<td>Ein Freund</td>
</tr>
<tr>
<td>5</td>
<td>Du selbst</td>
</tr>
<tr>
<td>6</td>
<td>Ein Haustier</td>
</tr>
<tr>
<td>7</td>
<td>Ein Lehrer oder Mentor</td>
</tr>
<tr>
<td>8</td>
<td>Eine öffentliche Person</td>
</tr>
<tr>
<td>9</td>
<td>Ein persönliches Held</td>
</tr>
<tr>
<td>10</td>
<td>Niemand</td>
</tr>
</tbody>
</table>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Was ist dein wertvollster Besitz?</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Eine Waffe</td>
</tr>
<tr>
<td>2</td>
<td>Ein Werkzeug</td>
</tr>
<tr>
<td>3</td>
<td>Ein Kleidungsstück</td>
</tr>
<tr>
<td>4</td>
<td>Eine Fotografie</td>
</tr>
<tr>
<td>5</td>
<td>Ein Buch oder Tagebuch</td>
</tr>
<tr>
<td>6</td>
<td>Eine Aufnahme</td>
</tr>
<tr>
<td>7</td>
<td>Ein Musikinstrument</td>
</tr>
<tr>
<td>8</td>
<td>Ein Schmuckstück</td>
</tr>
<tr>
<td>9</td>
<td>Ein Spielzeug</td>
</tr>
<tr>
<td>10</td>
<td>Ein Brief</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="deine-familiäre-herkunft">Deine Familiäre Herkunft</h2>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Ursprünfliche Herkunft</th>
<th>Beschreibung</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Konzerngeschäftsführer</td>
<td>Wohlhabend und mächtig mit Dienern, Luxuswohnungen und alles vom Feinsten. Die private Sicherheit sorgt dafür, dass du immer geschützt warst. Du warst bestimmt auf einer Privatschule.</td>
</tr>
<tr>
<td>2</td>
<td>Konzernmanager</td>
<td>Gut betucht mit einer großen Behausung, sicherer Nachbarschaft, tollen Autos usw.<br /> Manchmal stellten deine Eltern Bedienstete an, aber das war selten. Du wurdest privat wie auch von Konzernseite unterrichtet.</td>
</tr>
<tr>
<td>3</td>
<td>Konzerntechniker</td>
<td>Mittlere Mittelschicht mit gemütlicher Konwohnung oder Vororthaus in Beaverville, Minivan und Konzern-Technikum. Wie eine Mischung aus dem Leben im Amerika der 1950er Jahre und 1984.</td>
</tr>
<tr>
<td>4</td>
<td>Nomadenrudel</td>
<td>Du hattest eine Mischung aus stabilem Wohnwagen, Fahrzeugen und wuchtigen Straßenkombis als Zuhause. In jungen Jahren wurde dir Fahren und Kämpfen beigebracht, aber die Familie war immer da und passte auf dich auf. Essen war eigentlich immer frisch und reichlich. Meistens gab es Heimunterricht.</td>
</tr>
<tr>
<td>5</td>
<td>Gang-“Familie”</td>
<td>Ein brutales, gewalttätiges Zuhause an einem Ort, wo die Gang das Sagen hatte. Hunger, Kälte und Angst waren deine ständigen Begleiter. Du wusstes wahrscheinlich nicht, wer eigentlich deine Eltern waren. Bildung? Die Gang brachte dir bei, wie man kämpft, tötet und stiehlt - was brauchst du sonst noch?</td>
</tr>
<tr>
<td>6</td>
<td>Kriegszonenbewohner</td>
<td>Einen Hauch besser als das einer Gang-“Familie”, ein verfallenes, schwer befestigtes Gebäude irgendwo in der Zone. Gelegentlich musstest du hungern, kamst aber halbwegs regelmäßig an ein Bett und an eine Mahlzeit ran. Heimunterricht.</td>
</tr>
<tr>
<td>7</td>
<td>Städtische Obdachlose</td>
<td>Du lebst in Autos, Müllcontainern oder vergessenen Frachtmodulen. Wenn du Glück hattest. Meistens littest du unter Hunger, Kälte und Angst, wenn du nicht hart genug warst, um dich um die Reste zu prügeln. Bildung? Die harte Schule des Lebens.</td>
</tr>
<tr>
<td>8</td>
<td>Megabauten</td>
<td>Du wuchst in einer der Megabauten auf, die nach dem Krieg hochgezogen wurden. Eine winzige Wohnung, Kibble und Scop als Nahrung, ein oftmals warmes Bett. Ein paar gebildetere Baubewohner oder ein lokaler Konzern könnten eine Schule eingerichtet haben.</td>
</tr>
<tr>
<td>9</td>
<td>Reclaimer</td>
<td>Du begannst auf der Straße, zogst dann aber in eine der verlassenen Geisterstädte um sie wiederaufzubauen. Das Leben eines Pioniers: gefährlich, aber mit reichlich einfachem Essen und einem sicheren Schlafplatz. Du wurdest daheim unterrichtet, wenn jemand die Zeit dafür fand.</td>
</tr>
<tr>
<td>10</td>
<td>Edgerunner</td>
<td>Je nachdem, welchen “Job” deine Eltern gerade hatten, veränderte sich dein Zuhause ständig. Mal ein Luxusappartment, mal eine städtische Konbude oder ein Müllcontainer, wenn ihr auf der Flucht wart. Kost und Logis schwankten zwischen Gourmet und Kibble.</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="dein-umfeld">Dein Umfeld</h2>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Umfeld deiner Herkunft</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Auf der Straße rumgetrieben, ohne Aufsicht durch Erwachsene.</td>
</tr>
<tr>
<td>2</td>
<td>In einer Konzone verbracht, durch Mauern vom Rest der City getrennt.</td>
</tr>
<tr>
<td>3</td>
<td>In einem Nomadenrudel, ständig auf Achse.</td>
</tr>
<tr>
<td>4</td>
<td>In einem Nomadenrudel mit Wurzeln im Transport (Schiffe, Flugzeuge, Wohnwagen).</td>
</tr>
<tr>
<td>5</td>
<td>In einem verfallenden, früher gehobenen Viertel, das zum Überleben jetzt die Booster zurückschlagen muss.</td>
</tr>
<tr>
<td>6</td>
<td>Inmitten einer Kriegszone, Leben in einem zerstörten Gebäude oder in irgendeinem anderen Gemäuer.</td>
</tr>
<tr>
<td>7</td>
<td>In einem riesigen “Megabau”, der von einem Konzern oder der City kontrolliert wird.</td>
</tr>
<tr>
<td>8</td>
<td>In den Ruinen einer verlassenen Stadt, die von Reclaimers übernommen wurde.</td>
</tr>
<tr>
<td>9</td>
<td>In einer Schwimmenden Nation (einer treibenden, der Küste vorgelagerten Statd), die ein Treffpunkt für Menschen aller Couleur ist.</td>
</tr>
<tr>
<td>10</td>
<td>In einem luxuriösen “Sternenkratzer” eines Konzerns, hoch über dem Rest des wimmelnden Pöbels.</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="deine-familienkrise">Deine Familienkrise</h2>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Hintergrund</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Deine Familie hat alles durch Verrat verloren.</td>
</tr>
<tr>
<td>2</td>
<td>Deine Familie hat alles durch schlechtes Management verloren.</td>
</tr>
<tr>
<td>3</td>
<td>Deine Familie wurde verbannt oder auf anderem Wege aus ihrer Heimat / ihrer Nation / ihrem Konzern vertrieben.</td>
</tr>
<tr>
<td>4</td>
<td>Deine Familie wurde gefangen genommen und nur du konntest entkommen.</td>
</tr>
<tr>
<td>5</td>
<td>Deine Familie ist verschwunden. Du bist als Einziger übriggeblieben.</td>
</tr>
<tr>
<td>6</td>
<td>Deine Familie wurde getötet und nur du hast überlebt.</td>
</tr>
<tr>
<td>7</td>
<td>Deine Familie ist in eine Langzeitverschwörung, eine Organisation oder Vereinigung verwickelt, beispielsweise eine Verbrecherfamilie oder eine revolutionäre Gruppe.</td>
</tr>
<tr>
<td>8</td>
<td>Aufgrund eines Unglücks ist deine Familie in alle vier Himmelsrichtungen verstreut.</td>
</tr>
<tr>
<td>9</td>
<td>Deine Familie trägt die Last einer Erbfehde, die schon Generationen anhält.</td>
</tr>
<tr>
<td>10</td>
<td>Du bist Erbe der Familienschulden. Du musst die Schuld begleichen, bevor du dein Leben weiterführen kannst.</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="deine-lebensziele">Deine Lebensziele</h2>
<p><strong>Wirf 1W10 oder wähle eine aus.</strong></p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Wurf</th>
<th>Lebensziele</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Einen schlechten Ruf loswerden.</td>
</tr>
<tr>
<td>2</td>
<td>Macht und Kontroller erlangen.</td>
</tr>
<tr>
<td>3</td>
<td>Von der Straße wegkommen, was auch immer es kosten mag.</td>
</tr>
<tr>
<td>4</td>
<td>All jenen Schmerz und Leid zufügen, die dir in die Quere kommen.</td>
</tr>
<tr>
<td>5</td>
<td>Dein altes Leben hinter dir lassen und versuchen, es zu vergessen.</td>
</tr>
<tr>
<td>6</td>
<td>Die für dein mieses Leben Verantwortlichen jagen und sie dafür büßen lassen.</td>
</tr>
<tr>
<td>7</td>
<td>Bekommen, was dir rechtmäßig zusteht.</td>
</tr>
<tr>
<td>8</td>
<td>Wenn möglich, jemanden aus deinem Hintergrund retten, wie eine Liebschaft oder Familienmitglied.</td>
</tr>
<tr>
<td>9</td>
<td>Ruhm und Anerkennung gewinnen.</td>
</tr>
<tr>
<td>10</td>
<td>Gefürchtet und respektiert werden.</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="deine-freunde-deine-feinde-deine-tragischen-liebschaften-süße-rache">Deine Freunde, Deine Feinde, Deine tragische(n) Liebschaft(en), Süße Rache</h2>
<p>Diese Dinge werden per Zufall ausgewürfelt und müssen Vorort geklärt werden.</p>
<h2 class="cyber-h" id="rollenbasierte-lebenswege">Rollenbasierte Lebenswege</h2>
<p>Rollenbasierte Lebenswege werden wie Freunde, Feinde und Liebschaften auch vor Ort bestimmt.</p>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-red">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1,207 +1,12 @@
<!DOCTYPE html> ---
<html lang="de"> title: Currently Offline
<head> permalink: /offline.html
<meta charset="UTF-8"> layout: page
<meta name="viewport" content="width=device-width, initial-scale=1.0"> ---
<title>Currently Offline - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>offline.html</span>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Currently Offline</h1>
<div class="container"> <div class="container">
<h1>404</h1> <h1>404</h1>
<p><strong>Du bist zur Zeit offline!</strong></p> <p><strong>Du bist zur Zeit offline!</strong></p>
<p>Sobald du wieder online bist wird diese Seite gecached.</p> <p>Sobald du wieder online bist wird diese Seite gecached.</p>
</div> </div>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1,205 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Player Guides - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a fg-yellow">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<a href="/cpred/player-guides">Player Guides</a>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Player Guides</h1>
<ul class="cyber-ul">
<li><a href="/cpred/player-guides/netrunner" class="cyber-a">Netrunner Guide</a></li>
<li><a href="/cpred/player-guides/tech" class="cyber-a">Tech Guide</a></li>
</ul>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-red">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1,871 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Netrunner Guide - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a fg-yellow">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<a href="/cpred/player-guides">Player Guides</a>
<a href="/cpred/player-guides/netrunner">Netrunner Guide</a>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Netrunner Guide</h1>
<div id="toc"></div>
<h2 class="cyber-h">Die Umgebung checken</h2>
<p>
Dein Charakter kann grundsätzlich mit allem interargieren was er mit bloßem Auge oder durch den Zielsucher seiner
Waffe sehen kann. Befindet sich etwas zwischen dir und deinem Ziel ist es blockiert und du kannst nicht mit ihm
interargieren.
Alles was sich vor deinen zwei Schultern befindet, kannst du sehen und möglicherweise mit ihm interargieren. Und was
sich in Griffweite (2 Meter / 1 Feld) befindet, kannst du berühren. Für alles außerhalb brauchst du ein längeres
Werkzeug, eine Waffe oder eine andere Möglichkeit, um deine Reichweite zu erhöhren.
</p>
<p>
<b>Maßangaben</b><br />
In Cyberpunk RED wird ausschließlich das metrische System verwendet. Wenn Bodenpläne und Miniaturen verwendet werden,
dann entspricht jedes Feld 2 Metern.
</p>
<h2 class="cyber-h">Entfernung und Bewegung</h2>
<p>Es werden 3 Bewegungsskalierungen verwendet.</p>
<h3 class="cyber-h">Narrative Bewegung</h3>
<p>
Die erste Skalierung ist die <b>Narrative Bewegung</b>. Immer wenn im Abenteuer eine Beschreibung (Narrativ) verwendet
wird, also wenn etwa der Spielleiter eine Situation schildet oder wenn die Spieler im Abenteuer untereinander reden,
wird eine Bewegung in realen Begriffen ausgedrückt.<br />
Zum Beispiel: Autos bewegen sich in Kilometern pro Stunde, Gehen wird in ähnlichen, wenn auch kleinerem Maß
gemessen.<br />
Zu Spielzwecken werden diese Bewegungsarten in Kategorien eingeteilt.
</p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Fortbewegung</th>
<th>km/h</th>
</tr>
</thead>
<tbody>
<tr>
<td>Gehen</td>
<td>4</td>
</tr>
<tr>
<td>Rennen</td>
<td>11</td>
</tr>
</tbody>
</table>
<h3 class="cyber-h">Relative Bewegung</h3>
<p>
Die zweite Skalierung ist die <b>Relative Bewegung</b>.<br />
Dabei wird ein <code>BEW</code> Attribut mit einem anderen <code>BEW</code> Attribut verglichen, um zu bestimmen, wer
grundsätzlich schneller ist. Sie eignet Dabei wird ein <code>BEW</code> Attribut mit einem anderen <code>BEW</code>
Attribut verglichen, um zu bestimmen, wer grundsätzlich schneller ist.
Sie eignet sich für einfache, längere Geschwindigkeitsvergleich, beispielsweise um das Ergebnis eines Wettrennens zu
bestimmen. Damit wird der Lamborghini mit dem Volkswagen verglichen:<br />
Der <code>BEW</code> Wert des einen ist höher als der des anderen und das bildet die Vergleichsgrundlage.
</p>
<h3 class="cyber-h">Absolute Bewegung</h3>
<p>
Schließlich gibt es noch die <b>Absolute Bewegung</b>:<br />
Ein Maß für die tatsächliche Entfernung, das im Kampf und bei der Verwendung von Minaturen zum Einsatz kommt. In jedem
Zug erhält ein Charakter eine Bewegungsaktion, die ausschließlich dazu dient, sich bis zu <code>BEW x 2 Meter</code>
bzw. <code>BEW x 1 Feld</code> zu bewegen (auch diagonal).<br />
Bewegungsaktionen sowie alle anderen Aktionen, die ein Charakter in einem Zug durchführen kann, werden weiter unten im
Abschnitt "Du bist dran" beschrieben.
</p>
<h2 class="cyber-h">Zeit und Initiative</h2>
<p>
In Cyberpunk RED wird die Zeit in zweierlei Methoden gemessen. Die erste (die <b>Rollenspielzeit</b>) läuft so ab, wie
du es im echten Leben gewohnt bist.<br />
Die zweite (die <b>Kampfzeit</b>), wird wesentlich detaillierter gemessen. Die Kampfzeit wird in <b>Züge</b>
unterteilt, von denen jeder ungefähr <code>3 Sekunden</code> dauert. Die Zeit, die jeder Kampfbeteiligte benötigt, um
einen Zug zu machen, wird <b>Runde</b> genannt.
Weil Aktionen im Spiel ungefähr gleichzeitig ablaufen, dauert jede Runde ebenfalls gut <code>3 Sekunden</code>.
</p>
<h3 class="cyber-h">Initiative</h3>
<p>
Aber wer fängt an? Dafür müssen wir die <code>Initiative</code> bestimmen - im Grunde eine <i>Warteschlange</i>, in
der die Charaktere stehen und relativ zueinander während eines Zuges handeln. Diese <i>Warteschlange</i> nennen wir
den <b>Initiativdurchgang</b>: eine geistige Aufstellung, wer wann loslegt.
</p>
<p>Zu Beginn eines Kampfes wüfeln alle ihre Initiative aus:<br /></p>
<div class="code-block" data-title="Dein Initiativwert">REF + 1W10</div>
<p>
Alle Kampfteilnehmer reihen sich nach ihrem Initiativwert in absteigender Reihenfolge (höchsten bis niedrigsten) in
die Reihenfolge ein. Kommt es zum Gleichstand, wird erneut gewürfelt.
</p>
<h2 class="cyber-h">Du bist dran</h2>
<h3 class="cyber-h">Aktionen in Kürze</h3>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Aktion</th>
<th>Einsatz</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bewegungsaktion</td>
<td>In jdem Zug bewegst du dich so viele Meter wie <code>BEW</code> x 2m bzw. so viele Felder wie dein
<code>BEW</code>
</td>
</tr>
<tr>
<td>Angreifen</td>
<td>Einen Nahkampf- oder Fernkampfangriff durchführen</td>
</tr>
<tr>
<td>Würgen</td>
<td>Einen Gegner würgen, den du gepackt hast.</td>
</tr>
<tr>
<td>Schild ausrüsten / fallen lassen</td>
<td>Es kostet eine Aktion einen Schild auszurüsten oder fallenzulassen.</td>
</tr>
<tr>
<td>In ein Fahrzeug einsteigen</td>
<td>In ein Fahrzeug einsteigen.</td>
</tr>
<tr>
<td>Aufstehen</td>
<td>Aus dem Liegen aufstehen. Wenn du liegst, musst du erst diese Aktion aufwenden, um eine Bewegungsaktion
durchzuführen.</td>
</tr>
<tr>
<td>Packen</td>
<td>Einen Gegner packen und festhalten oder ihm einen Gegenstand wegnehmen, den er trägt.</td>
</tr>
<tr>
<td>Aktion hinauszögern</td>
<td>Aktion bis zu einem späteren Zeitpunkt im Initiativdurchgang hinauszögern. Du musst ein bestimmtes Ergeignis
als Auslöser oder einen bestimmten Wert im Initiativdurchgang wählen, wann die Aktion beginnt, welche es ist und
wen sie betrifft.</td>
</tr>
<tr>
<td>Menschlicher Schild</td>
<td>Verwende einen Gegner, den du gepackt hast, als Mneschlichen Schild.</td>
</tr>
<tr>
<td>Nachladen</td>
<td>Ein Magazin mit einer einzigen Munitionsart vollständig nachladen und wechseln.</td>
</tr>
<tr>
<td>Laufen</td>
<td>Du führst eine zusätzliche Bewegungsaktion durch, aber nur dann, wenn du bereits eine Bewegungsaktion in
diesem Zug durchgeführt hast.</td>
</tr>
<tr>
<td>Fahrzeug starten</td>
<td>Starte ein Fahrzeug, um dessen BEW zu nutzen und im Initiativdurchgang an die erste Stelle zu springen.</td>
</tr>
<tr>
<td>Stabilisieren</td>
<td>Stabilisiere ein Ziel, um den natürlichen Heilungsprozess in Gang zu setzen, oder aus dem Verwundungszustand
<i>Tödlich Verletzt</i> zu holen, um sein Leben zu retten.
</td>
</tr>
<tr>
<td>Wurf</td>
<td>Einen gepackten Gegner zu Boden werden oder einen Gegenstand werfen.</td>
</tr>
<tr>
<td>NET-Aktionen durchführen</td>
<td>Führe innerhalb des NET <b>mehrere</b> NET-Aktionen durch.</td>
</tr>
<tr>
<td>Gegenstand benutzen</td>
<td>Mit einem Gegenstand interargieren ohne eine Fertigkeit einzusetzen. Für das Ziehen einer leicht zugänglichen
Waffe mit einer freien Hand oder das Fallenlassen einer gehaltenen Waffe (nicht eines Schildes) ist keine Aktion
nötig, allerdings für das Wegstecken einer Waffe an deinen Körper schon.</td>
</tr>
<tr>
<td>Fertigkeit einsetzen</td>
<td>Eine Fertigkeit einsetzen, um eine kurze Aufgabe zu erledigen. Eine längere Aufgabe erfordert mehrere Aktionen
im Verlauf mehrerer Züge und wird erst ausgewürfelt, nachdem die volle Einsatzzeit in 3-Sekunden-Abschnitten
</td>
</tr>
<tr>
<td>Fahrzeugmanöver</td>
<td>Wende beim Fahren deine Aktion auf, um dich gänzlich auf ein gefährliches Maöver zu konzentrieren.</td>
</tr>
</tbody>
</table>
<h3 class="cyber-h">Aktionen im Einzelnen</h3>
<h4 class="cyber-h">Bewegungsaktion</h4>
<p>In jedem Zug darf sich ein Charakter bewegen. Die Bewegungsreichweite beträgt <strong>BEW × 2</strong> Meter (bzw.
Felder). Es darf auch diagonal gegangen werden.</p>
<ul class="cyber-ul">
<li>Wenn du liegst, musst du zuerst die Aktion <em>Aufstehen</em> verwenden, um dich zu bewegen.</li>
<li>Du kannst deine Aktion in einer Runde zwischen Bewegung und Angriffen aufteilen, z.B. gehen → schießen →
weitergehen.</li>
<li>Angriffe aus zwei verschiedenen AF2-Quellen (z.B. Pistole links, Machete rechts) können in einer Runde
kombiniert werden.</li>
</ul>
<h5 class="caber-h">Bewegung und Angriffsfolge aufteilen</h5>
<p>
Jeder Charakter erhält in seinem Zug eine <b>Bewegungsaktion</b> und eine <b>Aktion</b>.<br />
<b>Bewegungsaktionen</b> lassen sich aufteilen, da der Kampf in Cyberpunk RED schnell und flüssig ist. Immer wenn du
dich mithilfe deiner Bewegungsaktion bewegst, kannst du deine Aktion während dieser Bewegungsaktion durchführen und
dich danach weiterbewegen.<br />
<b>Das wird Aufteilen genannt - und das gilt nicht nur für Bewegungsaktionen.</b>
</p>
<p>
Manche Angriffsarten sind schneller als andere, so dass man mit einer einzigen Angreifen-Aktion zweimal
zuschlagen/schießen kann. Diese werden Angriffsfolge-2-Angriffe (kurz: <code>AF2</code>) genannt. Alle Angriffe, die
durch AF2-Quellen erfolgen, können im Verlauf einer Bewegungsaktion <i>aufgeteilt</i> werden.<br />
<i>Du kannst dich bewegen, schießen, dich bewegen, schießen, dich bewegen.</i><br />
Du kannst sogar jeweils einen ANgriff mit zwei verschiedenen AF2-Quellen durchführen, indem du deine beiden Angriffe
über über beide Aktionen "aufteilst", wodurch du beide in einem einzigen Zug einsetzen kannst.<br />
<span class="cyber-att-2">Ja, genau: Du kannst mit der Schweren Pistole in deiner linken Hand den Gang hinunterfeuern
und dann diesen diesen ekelhaften Gang entlanggehen und dein Opfer mit der Machete in deiner rechten Hand
erstechen.</span>
</p>
<h5 class="cyber-h">Andere Bewegungsarten</h5>
<p>Schwimmen, Kleetern und Springen mit Anlauf kosten 2 Meter für jeden zurückgelegten Meter (2 Felder pro zurückgelegten
Feld). Wenn du aus dem Stand springst, legst du die Hälfte der Distanz zurück, die du mit ANlauf gesprungen wärst.</p>
<h4 class="cyber-h">Gezielte Schüsse</h4>
<p>Gezielte Angriffe sind Fern- oder Nahkampfangriffe auf bestimmte Trefferzonen, mit einem Malus von 8. Du musst
dafür deine gesamte Aktion aufwenden.</p>
<table class="cyber-table ac-red">
<tr>
<th>Ziel</th>
<th>Effekt</th>
</tr>
<tr>
<td>Kopf</td>
<td>Schaden, der die Kopfrüstung durchdringt, wird verdoppelt.</td>
</tr>
<tr>
<td>Gehaltenes Objekt</td>
<td>Objekt fällt zu Boden, wenn Schaden die Panzerung durchdringt.</td>
</tr>
<tr>
<td>Bein</td>
<td>Kritische Verletzung „Gebrochenes Bein“, wenn Schaden durchgeht.</td>
</tr>
</table>
<h4 class="cyber-h">Ziehen, Fallenlassen und Wegstecken</h4>
<p>
Das Zeiehen einer leicht zugänglichen Waffe mit einer freien Hand ist keine Aktion. Auch das Fallenlassen einer
gehaltenen Waffe ist keine Aktion. Das Wegstecken an deinem Körper allerdings ist eine Aktion.
</p>
<p><strong>Mit einer Ausnahme: Das Ausrüsten und Fallenlassen eines Schilds kostet eine Aktion!</strong></p>
<h4 class="cyber-h">Nachladen</h4>
<p>Du kannst eine Aktion aufwenden, um ein Magazin mit einer einzigen Munitionsart vollständig zu laden und zu wechseln.
</p>
<p>Du kannst keine Munitionsarten in einem Magazin mischen.</p>
<h3 class="cyber-h">Fernkampf</h3>
<p>Ein Fernkampfangriff wird durch einen Wurf mit deiner REF + Waffenfertigkeit + 1W10 ausgeführt. Trifft dein Wurf
das Ziel, wird der Schaden berechnet. Die Panzerung des Ziels reduziert den Schaden.</p>
<h4 class="cyber-h">Automatisches Feuer</h4>
<p>Automatisches Feuer kostet eine Aktion und verbraucht 10 Schuss. Es kann nicht eingesetzt werden, wenn weniger
Munition im Magazin ist. Kein gezielter Schuss möglich.</p>
<p>Wenn du triffst, wirfst du 2W6 für Schaden und multiplizierst mit der Differenz zwischen deinem Wurf und dem
Zielwurf (max. durch Waffe bestimmt).</p>
<h4 class="cyber-h">Unterdrückungsfeuer</h4>
<p>Unterdrückungsfeuer zwingt Gegner, sich zu ducken oder Deckung zu suchen. Es kostet 1 Aktion und 10 Schuss. Ziele
in Reichweite müssen einen Wurf ablegen, um stehen zu bleiben. Bei Misserfolg versuchen sie in Deckung zu gehen.</p>
<h4 class="cyber-h">Schrot, Sprengsätze &amp; Spezialfälle</h4>
<p>Schrotflinten können Schrotpatronen verschießen, die in einem Kegel von 3 Feldern Schaden verursachen. Alle
getroffenen Ziele erhalten Schaden.</p>
<p>Sprengsätze verursachen Schaden in einem Bereich (5x5 Felder). Der Schaden wird nur einmal gewürfelt. Reflexstarke
Ziele können versuchen, der Explosion zu entgehen.</p>
<h3 class="cyber-h">Nahkampf</h3>
<div class="code-block" data-title="Nahkampf abwickeln">
GES des Angreifers + passende Nahkampfwaffenfertigkeit + 1W10<br />
<b>GEGEN</b><br />
GES des Verteidigers + Fertigkeit Ausweichen + 1W10
</div>
<p>
Schwere Nahkampfwaffen ignorieren die halbe Panzerung. Sehr schwere Waffen benötigen beide Hände und zählen als AF2.
</p>
<p>Mit Ausnahme sehr schwerer Nahkampfwaffen gilt für jeden Nahkampf AF2, es können also mit jeder Angriffsaktion 2
Schläge ausgeführt werden.</p>
<p><b>Ziele müssen sich innerhalb der Reichweite (2 Meter / 1 Feld) befinden.</b></p>
<p>
Wenn du den Wurf des Verteidigers übertriffst (bei Gleichstand gewinnt der Verteidiger), richtest du Schaden am
Verteidiger an.<br />
Die Panzerung des Verteidigers reduziert den von dir verursachten Schaden, und der Rest wird dem Verteidiger als
Schaden zugefügt.<br />
</p>
<h4 class="cyber-h">Faustkampf, Boxen mit blosser Faust, Packen, Würgen, Wurf</h4>
<p>Wenn du jemanden packst, musst du GES + Fertigkeit + 1W10 gegen ihn würfeln. Wenn erfolgreich, kannst du ihn
festhalten.</p>
<ul>
<li><strong>Würgen</strong>: Schaden ignoriert Panzerung. Nach 3 Runden ohne Befreiung wird das Ziel bewusstlos.
</li>
<li><strong>Wurf</strong>: Wirft Ziel oder Gegenstand. Schaden ignoriert Panzerung.</li>
</ul>
<h3 class="cyber-h">Deckung</h3>
<p><strong>Du bist in Deckung, wenn du vollständig hinter etwas bist, das Geschosse aufhält.</strong> Es gibt keine
Teildeckung. Wenn die Deckung 0 TP erreicht, ist sie zerstört.</p>
<p>Deckung hat eigene TP und wird wie ein Ziel behandelt. Überschüssiger Schaden geht verloren.</p>
<h4 class="cyber-h">Menschliche Schilde</h4>
<p>Wenn du jemanden gepackt hast, kannst du ihn als Schild ausrüsten. Er schützt dich vor Fernkampfangriffen, kann
sich aber nicht wehren oder ausweichen.</p>
<p>Stirbt das Schild, hat es TP entsprechend seiner KRA. Ein toter Schild funktioniert wie ein normales Schild.</p>
<h3 class="cyber-h">Panzerung</h3>
<p>Panzerung hat einen Schutzwert (SW), der angibt, wie viel Schaden sie pro Treffer absorbiert. Rüstung kann Kopf
oder Körper schützen. Nur der höchste SW zählt.</p>
<p>Panzerung reduziert Schaden. Wird der SW übertroffen, wird der Rest als Schaden weitergegeben.</p>
<h1 class="cyber-h">Schaden durch Umwelt</h1>
<ul>
<li><strong>Brennen</strong>: Direkt-Schaden pro Runde, ignoriert Panzerung. Muss mit Aktion gelöscht werden.</li>
<li><strong>Ertrinken / Ersticken</strong>: Direkt-Schaden basierend auf KRA. Ignoriert Panzerung.</li>
<li><strong>Stromschlag</strong>: Sofort 6W6 Schaden. Wiederholt sich jede Runde, bis du dich befreist.</li>
<li><strong>Stürzen</strong>: 2W6 Schaden pro 10 Meter, Panzerung zählt. Bei Fehlschlag: Beinbruch.</li>
<li><strong>Gifte &amp; Drogen</strong>: Angriff gegen Widerstand. Bei Fehlschlag wirkt das Mittel sofort.</li>
</ul>
<h2 class="cyber-h" id="netrunner-rollenfähigkeit-interface">Netrunner (Rollenfähigkeit: <code class="language-plaintext highlighter-rouge">Interface</code>)</h2>
<p>Die Rollenfähigkeit <code class="language-plaintext highlighter-rouge">Interface</code> erlaubt es Netrunnern, sogenannte <strong>NET-Läufe</strong> durchzuführen. Je höher der <code class="language-plaintext highlighter-rouge">Interface</code>-Rang, desto mehr <strong>NET-Aktionen pro Zug</strong> sind möglich und desto mehr <strong>Interface-Programme (Apps)</strong> stehen zur Verfügung.</p>
<h3 class="cyber-h" id="net-aktionen-pro-zug">NET-Aktionen pro Zug</h3>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Interface-Rang</th>
<th>NET-Aktionen</th>
</tr>
</thead>
<tbody>
<tr>
<td>13</td>
<td>2</td>
</tr>
<tr>
<td>46</td>
<td>3</td>
</tr>
<tr>
<td>79</td>
<td>4</td>
</tr>
<tr>
<td>10</td>
<td>5</td>
</tr>
</tbody>
</table>
<h3 class="cyber-h" id="interface-apps">Interface-Apps</h3>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Fähigkeit</th>
<th>Beschreibung</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Hintertür</strong></td>
<td>Durchbrechen von Passwörtern und Hindernissen in Architekturen.</td>
</tr>
<tr>
<td><strong>Deckmantel</strong></td>
<td>Aktionen im Netz verbergen, bevor das Netz sie registriert.</td>
</tr>
<tr>
<td><strong>Kontrolle</strong></td>
<td>Kontrolle über vernetzte Geräte in der Architektur.</td>
</tr>
<tr>
<td><strong>Auswertung</strong></td>
<td>Zugriff auf Peripheriedaten aus Architekturen.</td>
</tr>
<tr>
<td><strong>Kundschafter</strong></td>
<td>„Karte“ der Architektur aufdecken.</td>
</tr>
<tr>
<td><strong>Scanner</strong></td>
<td>Nach Geräten oder Zugangspunkten suchen.</td>
</tr>
<tr>
<td><strong>Abfangen</strong></td>
<td>Eingehende Kommunikation oder Datenpakete abfangen.</td>
</tr>
<tr>
<td><strong>Virus</strong></td>
<td>Einen Virus in der Architektur platzieren.</td>
</tr>
<tr>
<td><strong>Schocker</strong></td>
<td>Einfacher Netrunner-Angriff auf Programme oder andere Netrunner.</td>
</tr>
</tbody>
</table>
<h2 class="cyber-h" id="netrun-durchführen">Netrun durchführen</h2>
<h2 class="cyber-h" id="voraussetzungen">Voraussetzungen</h2>
<p>Um als Netrunner effektiv arbeiten zu können, brauchst du:</p>
<ul class="cyber-ul">
<li><strong>Virtuellen Zugang</strong> (z.B. über Virtuality-Brille)</li>
<li><strong>Cyberdeck</strong> mit geladenen Programmen</li>
<li>Die Rollenfähigkeit <strong>Interface</strong></li>
</ul>
<hr />
<h2 class="cyber-h" id="net-aktionen-pro-zug-1">NET-Aktionen pro Zug</h2>
<p>Je nach Rang in deiner Rollenfähigkeit <code class="language-plaintext highlighter-rouge">Interface</code> hast du folgende Anzahl an <strong>NET-Aktionen pro Runde</strong>:</p>
<table class="cyber-table ac-red" style="width: auto;">
<thead>
<tr>
<th>Interface-Rang</th>
<th>NET-Aktionen</th>
</tr>
</thead>
<tbody>
<tr>
<td>13</td>
<td>2</td>
</tr>
<tr>
<td>46</td>
<td>3</td>
</tr>
<tr>
<td>79</td>
<td>4</td>
</tr>
<tr>
<td>10</td>
<td>5</td>
</tr>
</tbody>
</table>
<blockquote>
<p>Du darfst pro Zug <strong>entweder</strong> eine Fleischaktion <strong>oder</strong> so viele NET-Aktionen durchführen, wie dir zustehen. Zusätzlich steht dir immer <strong>eine Bewegungsaktion</strong> zur Verfügung.</p>
</blockquote>
<hr />
<h2 class="cyber-h" id="liste-der-net-aktionen">Liste der NET-Aktionen</h2>
<h3 class="cyber-h" id="allgemeine-net-aktionen">Allgemeine NET-Aktionen</h3>
<ul class="cyber-ul">
<li><strong>Ein-/Ausklinken</strong>: Zugangspunkt betreten oder verlassen (max. 6m Entfernung).</li>
<li><strong>Interface-App einsetzen</strong>: Eine App aus deinem Cyberdeck aktivieren.</li>
<li><strong>Programm aktivieren/deaktivieren</strong>: Aktiviert oder deaktiviert eines deiner Programme.</li>
<li><strong>Sonstiges</strong>: Z.B. Virus platzieren, Zugriff manipulieren.</li>
</ul>
<h3 class="cyber-h" id="was-ist-keine-net-aktion">Was ist keine NET-Aktion?</h3>
<ul class="cyber-ul">
<li><strong>Dateikopie speichern</strong>: Eine gefundene Datei auf deinem Cyberdeck speichern.</li>
<li><strong>Bewegen in einer NET-Architektur</strong>: In deinem Zug kannst du dich in einer NET-Architektur frei bewegen. An einem NET-Hindernis, das dich aufhält (wie zum Beispiel ein Passwort) kommst du nicht vorbei.</li>
</ul>
<hr />
<h2 class="cyber-h" id="interface-apps-mit-net-aktion-einsetzbar">Interface-Apps (mit NET-Aktion einsetzbar)</h2>
<p>Diese Apps (außer Schocker) benötigen:</p>
<p><strong>Interface + 1W10 gegen SG</strong></p>
<h3 class="cyber-h" id="übersicht">Übersicht</h3>
<table>
<thead>
<tr>
<th>App</th>
<th>Funktion</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Scanner</strong></td>
<td>Findet Zugangspunkte in der Umgebung. Wird als Fleischaktion eingesetzt.</td>
</tr>
<tr>
<td><strong>Hintertür</strong></td>
<td>Öffnet gesicherte Zugänge mit Passwörtern oder Sperren.</td>
</tr>
<tr>
<td><strong>Deckmantel</strong></td>
<td>Versteckt deine Aktionen und schützt vor Erkennung.</td>
</tr>
<tr>
<td><strong>Kontrolle</strong></td>
<td>Übernimmt Geräte, die über Kontrollknoten verbunden sind.</td>
</tr>
<tr>
<td><strong>Auswertung</strong></td>
<td>Erkennt und analysiert Daten oder Dateien.</td>
</tr>
<tr>
<td><strong>Kundschafter</strong></td>
<td>Deckt Teile der NET-Architektur („Karte“) auf.</td>
</tr>
<tr>
<td><strong>Virus</strong></td>
<td>Lässt einen Virus zurück, der Systeme beeinflusst. (SG vom SL abhängig)</td>
</tr>
<tr>
<td><strong>Abgang</strong></td>
<td>Verlässt ein Stockwerk der NET-Architektur bei Kampf gegen Schwarzes ICE.</td>
</tr>
<tr>
<td><strong>Schocker</strong></td>
<td>Führt einen Angriff auf Programme oder andere Netrunner aus. (s. Kampf im NET)</td>
</tr>
</tbody>
</table>
<hr />
<h2 class="cyber-h" id="kampf-im-net">Kampf im NET</h2>
<p>Wenn es zu Gewalt im Cyberspace kommt, läuft es wie folgt ab:</p>
<p><strong>Angreifer (z.B. Netrunner):</strong><br />
<code class="language-plaintext highlighter-rouge">Interface + Programm-ANG + 1W10</code></p>
<p><strong>Verteidiger (Ziel oder Schwarzes ICE):</strong><br />
<code class="language-plaintext highlighter-rouge">Interface + 1W10</code> oder <code class="language-plaintext highlighter-rouge">Programm-VER + 1W10</code></p>
<blockquote>
<p>Trifft der Angriff, wirkt der Effekt des Programms. Programme können zerstört werden, wenn ihre <strong>Integrität (TP)</strong> auf 0 fällt.</p>
</blockquote>
<hr />
<h2 class="cyber-h" id="programme">Programme</h2>
<p>Programme sind deine Werkzeuge im Cyberspace. Du kannst sie <strong>aktivieren oder deaktivieren</strong> (je 1 NET-Aktion).</p>
<ul class="cyber-ul">
<li><strong>Ein Programm kann nur einmal pro Fleischraum-Runde aktiviert werden.</strong></li>
<li>Du kannst mehrere Kopien desselben Programms aktiv haben.</li>
<li><strong>Angriffsprogramme</strong> deaktivieren sich nach dem Einsatz automatisch.</li>
</ul>
<blockquote>
<p>Das <strong>Installieren oder Deinstallieren eines Programms dauert eine Stunde.</strong></p>
</blockquote>
<hr />
<h2 class="cyber-h" id="tipps-für-effektives-netrunning">Tipps für effektives Netrunning</h2>
<ul class="cyber-ul">
<li><strong>Vorbereitung ist alles</strong>: Lade deine Programme rechtzeitig.</li>
<li><strong>Bleib in Deckung</strong>: Im Fleischraum bist du während NET-Aktionen verwundbar.</li>
<li><strong>Scannen zuerst</strong>: Bevor du dich einklinkst, finde die Zugangspunkte mit dem Scanner.</li>
<li><strong>ICE sind gefährlich</strong>: Plane deinen Abgang und halte Ausweichrouten offen.</li>
<li><strong>Steuer deine Umgebung</strong>: Mit Kontroll-Apps kannst du Kameras, Türen und Fallen übernehmen.</li>
</ul>
<hr />
<script>
document.addEventListener("DOMContentLoaded", function () {
const tocContainer = document.getElementById("toc");
if (!tocContainer) return;
const headings = Array.from(document.querySelectorAll("h1, h2, h3, h4, h5, h6"));
if (headings.length === 0) return;
const tocList = document.createElement("ul");
tocList.className = "cyber-ul";
/*tocList.style.listStyle = "none";
tocList.style.paddingLeft = "0";
tocList.style.border = "1px solid #ccc";
tocList.style.borderRadius = "8px";
tocList.style.padding = "1em";
tocList.style.backgroundColor = "#f9f9f9";
tocList.style.fontFamily = "sans-serif";*/
const createId = (text) => {
return text.toLowerCase().trim().replace(/[^a-z0-9]+/g, "-");
};
headings.forEach((heading) => {
const level = parseInt(heading.tagName.substring(1));
const text = heading.textContent;
let id = heading.id || createId(text);
// Wenn ID noch nicht vergeben, setzen
if (!heading.id) heading.id = id;
const li = document.createElement("li");
li.style.marginLeft = `${(level - 1) * 1.2}em`;
li.style.marginBottom = "0.3em";
const link = document.createElement("a");
link.className = "cyber-a";
link.href = `#${id}`;
link.textContent = text;
link.style.textDecoration = "none";
link.style.color = "#333";
link.style.fontSize = `${1.1 - level * 0.05}em`;
link.addEventListener("mouseover", () => (link.style.color = "#007acc"));
link.addEventListener("mouseout", () => (link.style.color = "#333"));
li.appendChild(link);
tocList.appendChild(li);
});
const heading = document.createElement("strong");
heading.textContent = "Inhaltsverzeichnis";
heading.style.display = "block";
heading.style.marginBottom = "0.5em";
tocContainer.appendChild(heading);
tocContainer.appendChild(tocList);
});
</script>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-red">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1,202 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rollen - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a fg-yellow">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>roles</span>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Rollen</h1>
<p>TBD</p>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-red">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>

View File

@ -1,25 +0,0 @@
{
"pages": [
{ "url": "/cpred/attributes/" },
{ "url": "/cpred/characters/" },
{ "url": "/cpred/characters/chase" },
{ "url": "/cpred/characters/crash" },
{ "url": "/cpred/lifepaths/" },
{ "url": "/cpred/player-guides/netrunner" },
{ "url": "/cpred/player-guides" },
{ "url": "/cpred/roles/" },
{ "url": "/cpred/skills/" },
{ "url": "/cpred/player-guides/tech" }
]
}

11
sitemap.json.html Normal file
View File

@ -0,0 +1,11 @@
---
permalink: /sitemap.json
---
{
"pages": [
{% for page in site.pages %}
{ "url": "{{ page.url | relative_url }}" }{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}

View File

@ -1,250 +0,0 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fertigkeiten - ThePhoenixDivision</title>
<link rel="manifest" href="/cpred/assets/manifest.json">
<meta name="theme-color" content="#ff003c">
<!-- Stylesheets -->
<link rel="stylesheet" href="/cpred/assets/css/normalize.css">
<link rel="stylesheet" href="/cpred/assets/css/main.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/cpred/assets/css/cyberpunk.css">
</head>
<body>
<header>
<div class="navbar-fixed">
<nav class="cyber-razor-bottom bg-black">
<div class="nav-wrapper">
<a href="/cpred/" class="cyberpunk-font-og f-x2-5">ThePhoenixDivision</a>
<ul id="nav-mobile" class="right hide-on-med-and-down desktop-only">
<li><a href="/cpred/" class="cyber-a">Home</a></li>
<li><a href="/cpred/player-guides" class="cyber-a">Player Guides</a></li>
<li><a href="/cpred/lifepaths/" class="cyber-a">Lebensweg</a></li>
<li><a href="/cpred/characters/" class="cyber-a">Charaktere</a></li>
<li><a href="/cpred/roles/" class="cyber-a">Rollen</a></li>
<li><a href="/cpred/attributes/" class="cyber-a">Attribute</a></li>
<li><a href="/cpred/skills/" class="cyber-a fg-yellow">Fertigkeiten</a></li>
</ul>
</div>
</nav>
</div>
<!-- WIP: Breadcrumb
<div class="cyber-att">
<a href="/cpred/">Home</a>
<span>skills</span>
</div>
-->
</header>
<main class="container">
<h1 class="cyber-h">Fertigkeiten</h1>
<p>Fertigkeiten sind Dinge, die dein Charakter kennt oder kann. Sie stehen für Wissen und Leistungen. Jede Fertigkeit ist mit einem Attribut verbunden, das ihre Ausführung beeinflusst.</p>
<div id="skill-overview">
</div>
<script>
fetch("/cpred/assets/game-data/skills.json")
.then(response => response.json())
.then(skills => {
const skillDiv = document.getElementById('skill-overview');
for (const skillgroup of skills.Fertigkeiten) {
const groupSection = document.createElement('section');
const groupTitle = document.createElement('h2');
groupTitle.className = "cyber-h";
groupTitle.textContent = skillgroup.Gruppe;
groupSection.appendChild(groupTitle);
const skillTable = document.createElement('table');
skillTable.className = "cyber-table ac-red";
skillTable.setAttribute("style", "width: auto;");
const tableHeader = document.createElement('tr');
const headerName = document.createElement('th');
headerName.textContent = "Fertigkeit";
const headerType = document.createElement('th');
headerType.textContent = "Attribut";
const headerDescription = document.createElement('th');
headerDescription.textContent = "Beschreibung";
tableHeader.appendChild(headerName);
tableHeader.appendChild(headerType);
tableHeader.appendChild(headerDescription);
skillTable.appendChild(tableHeader);
for (const skill of skillgroup.Fertigkeiten) {
const skillRow = document.createElement('tr');
const skillName = document.createElement('td');
skillName.textContent = skill.Name;
const skillType = document.createElement('td');
skillType.textContent = skill.Attribut;
const skillDescription = document.createElement('td');
skillDescription.textContent = skill.Beschreibung;
skillRow.appendChild(skillName);
skillRow.appendChild(skillType);
skillRow.appendChild(skillDescription);
skillTable.appendChild(skillRow);
}
groupSection.appendChild(skillTable);
skillDiv.appendChild(groupSection);
}
});
</script>
</main>
<footer class="cyber-razor-top bg-black">
<ul class="tabs mobile-tabs">
<li class="tab col s1 bg-dark"><a href="/cpred/" class="cyber-a"><i class="material-icons">home</i></a></li>
<li class="tab col s1 bg-dark">
<a href="/cpred/player-guides" target="_self" class="cyber-a">
<i class="material-icons">assist_walker</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/lifepaths/" target="_self" class="cyber-a">
<i class="material-icons">merge</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/characters/" target="_self" class="cyber-a">
<i class="material-icons">account_circle</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/roles/" target="_self" class="cyber-a">
<i class="material-icons">manage_accounts</i>
</a>
</li>
<li class="tab col s1 bg-dark">
<a href="/cpred/attributes/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
<li class="tab col s1 bg-red">
<a href="/cpred/skills/" target="_self" class="cyber-a">
<i class="material-icons">fact_check</i>
</a>
</li>
</ul>
<span></span>
</footer>
<script src="/cpred/assets/js/materialize.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const elems = document.querySelectorAll('.tooltipped');
const instances = M.Tooltip.init(elems, {});
});
document.addEventListener('DOMContentLoaded', function() {
var sidenavElems = document.querySelectorAll('.sidenav');
var sidenavInstances = M.Sidenav.init(sidenavElems, {});
});
document.querySelectorAll("button").forEach(button => {
const href = button.getAttribute("data-href");
if (!href) return;
button.addEventListener("click", () => {
window.location.href = button.getAttribute("data-href");
});
});
</script>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/cpred/assets/js/service-worker.js")
.then((reg) => {
console.log("✅ Service Worker registriert");
if ('SyncManager' in window) {
reg.sync.register('cache-all-pages')
.then(() => console.log("✅ Alle Seiten werden gecached"))
.catch(err => console.error("❌ Fehler beim Sync:", err));
}
})
.catch(error => console.log("❌ Service Worker Fehler:", error));
}
</script>
</body>
</html>