This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!
Project Description

Stardust RPG

Stardust RPG is a tactical d20 role-playing game designed to provide a variety of progression options for players and encourage teamwork. Baseline content is based off the Stardust book series by John Hagen but is adaptable to a variety of fantasy settings.

Features

  • Cross platform. Run the server on any platform that supports Python. Clients can connect and manage their characters using a standard web browser with no install required.
  • Roll20 integration. Players can to automatically sync their character stats and automatically generated weapon and ability macros right into a Roll20 campaign. Special thanks to @theandrewdavis for his analysis of the roll20.net API.
  • Extensible. Easily add new content, such as classes, weapons, or abilities.
  • Persistent. Store characters in a persistent database for easy reuse.

Usage

Installation

You can install, upgrade, and uninstall stardust-rpg with these commands:

$ pip3 install stardust-rpg
$ pip3 install --upgrade stardust-rpg
$ pip3 uninstall stardust-rpg

Server Setup

Create an environment variable named SECRET_KEY and populate it with a large random value.

Configuration

Initialize the database:

$ stardust-rpg makemigrations
$ stardust-rpg migrate

Create an admin account:

$ stardust-rpg createsuperuser

Production Execution

Warning

--insecure is used to serve static files in the absense of a web server (e.g. NGINX) running in front of Django.

$ stardust-rpg runserver 0.0.0.0:80 --insecure

Debug Execution

$ stardust-rpg runserver 0.0.0.0:80 --settings=app.debug_settings

Game Setup

Log into the admin interface by browsing to http://localhost/admin

Add Users for each player. Configure the following fields:

Field Value
Username Stardust RPG server username.
Password Initial user password
Email Address Player’s Roll20 email address.

Add a Party for the group. Configure the following fields:

Field Value
Name Name of the character. Must match name of character in Roll20.
Roll20 campaign id The 6 digit ID (e.g. https://app.roll20.net/campaigns/details/CAMPAIGN_ID/CAMPAIGN_NAME) assigned to the campaign found at https://app.roll20.net/campaigns/search

Add Characters for each character in the game. Configure the following fields:

Field Value
User Player who has modification rights to the character.
Name Name of the character. Must match name of character in Roll20.
Party The Party this character is a part of.
Class The class assigned to this Character.

Rules

Combat

Combat Round (RND)

  1. At the start of combat, roll a d20 + Maximum Speed (SPEED) to determine turn order.

    1. If your character is surprised, take no actions during the first RND.
  2. Do the following actions in any order. A Full Action (FullA) requires consuming all these actions. A Free Action (FreeA) does not consume any of these actions.

    1. Move Action (MovA)

      1. Move your character up to Maximum Speed (SPEED).

        1. You may move through squares occupied by allies, but may not move through grid squares occupied by enemies.
      2. After performing a StdA or AbA, you may consume the remaining SPEED that has not be used during this RND.

    2. Standard Action (StdA)

      1. Perform a single melee or ranged weapon attack

        1. Roll a d20 and PDAM dice. If d20 + PAC ≥ target PDEF, apply PDAM.

          1. If d20 ≥ Critical Range (CRAN), automatic hit, apply CDAM.
          2. if d20 = 1, automatic miss.
    3. Ability Action (AbA)

      1. Cast a single ability that requires AbA

        1. Subtract the MP Cost from your Current MP. Current MP cannot drop below 0.

        2. Roll a d20 and MDAM dice. If d20 + MAC ≥ target MDEF, apply MDAM and Effect.

          1. If d20 = 20, automatic hit, choose one of the following: 2x [MDAM, Effect, Area, OR Duration].
          2. If d20 = 1, automatic miss.
        3. If casting a combo, the ally who is casting the combo with must also subtract the MP Cost and spend whatever Time is required to cast. This time is deducted from their next turn.

  3. At the conclusion of your turn, roll a d20 and Regeneration Dice (RD)

    1. If d20 + Magic Regeneration (REG) ≥ 18, restore RD MP.

      1. If d20 = 20, restore 2x RD MP.
      2. If d20 = 1, automatic failure.

Incapacitation (KO)

  • If HP ≤ 0, unconscious status.
  • If HP ≤ -(50% Maximum HP), death status.

Status Effects

Status Effect
Immobilize Cannot take MovA.
Silence Cannot take AbA (i.e. any action that targets with MAC or consumes MP).
Stagger Cannot take StdA.
Disable Cannot take StdA or AbA.
Stun Cannot take StdA, AbA, or MovA.
Sleep Cannot take StdA, AbA, or MovA. Woken by physical or magical attack.
Fear Must expend MovA to move in opposite direction of the source of fear.
Allure Must expend MovA to move towards the source of the allure.
Blind Maximum range of physical and magic attacks reduced to 1. VIS reduced to 1.
Inhibit Max MP reduced to 0. MRED reduced to 0.
Condition Effect
Unconscious Cannot take anymore actions until revived.
Death Creature is dead.

Advantage / Disadvantage

State Effect
Advantage (ADV) Roll twice and use the higher of the two rolls.
Disadvantage (DADV) Roll twice and use the lower of the two rolls.

Vulnerabilities and Resistances

Property Effect
Vulnerability (VUL) Take 2x from a particular damage type.
Resistance (RES) Take ½ from a particular damage type.
Immunity (IMU) Take no damage from a particular damage type.

Skills

Skill Example Actions
Athletics (ATH) Climb, Jump, Swim, Grapple, Reflex, Balance, Fall
Stealth (STE) Sneak, Hide, Sleight of Hand, Disguise, Escape, Detect Trap
Fortitude (FOR) Endurance, Resist Status Effect, Death Save, Survival
Aptitude (APT) Knowledge, Heal, Operate Device, Pick Lock, Forgery, Scan, Utility
Perception (PER) Spot, Listen, Search, Touch, Smell, Taste
Speech (SPE) Diplomacy, Intimidate, Bluff, Persuasion

Attribute Effects

Attribute General Offensive Defensive
STR Feet Unlock
1PAC
Weapon Damage
(0.5-1.5DAM)
Chest Unlock
Shield Unlock
DEX 0.5SPEED Weapon Unlock 1PDEF
CON 0.5VIS  
1.5HP per LVL
0.5PRED
INT
1SP per LVL
10%SEL
Utility Unlock
1MP per LVL
Head Unlock
0.5MRED
WIS  
1AP
Magic Power
Neck Unlock
1MDEF
CHA 7%BUY
1AP
1MAC
1REG
0.25RD
Hand Unlock
 

Releases

2.0.0

  • Numerous updates and new features.
  • Support Python 3.6

1.0.0

  • Initial Release
Release History

Release History

2.0.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
stardust-rpg-2.0.0.tar.gz (314.4 kB) Copy SHA256 Checksum SHA256 Source Dec 31, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting