没有项目描述

stardust-rpg的Python项目详细描述


星尘rpg

https://travis-ci.org/johnthagen/stardust-rpg.svghttps://codeclimate.com/github/johnthagen/stardust-rpg/badges/gpa.svghttps://codeclimate.com/github/johnthagen/stardust-rpg/badges/issue_count.svghttps://img.shields.io/pypi/v/stardust-rpg.svghttps://img.shields.io/pypi/status/stardust-rpg.svghttps://img.shields.io/pypi/pyversions/stardust-rpg.svghttps://img.shields.io/pypi/dm/stardust-rpg.svg

星尘RPG是一款战术D20角色扮演游戏,旨在提供多种进展 为球员提供选择,鼓励团队合作。基线内容基于星尘书 约翰黑根的系列,但适应各种幻想设置。

功能

  • 跨平台。在任何支持Python的平台上运行服务器客户可以 使用不需要安装的标准Web浏览器连接和管理其角色。
  • Roll20集成。玩家可以自动同步他们的角色数据和 自动生成的武器和能力宏进入一个掷20。特别感谢 为了@theandrewdavis他对roll20.net api的分析。
  • 可扩展轻松添加新内容,如类、武器或能力。
  • 坚持不懈。将字符存储在持久数据库中,以便于重用。

用法

安装

您可以使用以下命令安装、升级和卸载stardust-rpg

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

服务器设置

创建名为SECRET_KEY的环境变量,并用 large random value

配置

初始化数据库:

$ stardust-rpg makemigrations
$ stardust-rpg migrate

创建管理帐户:

$ stardust-rpg createsuperuser

生产执行

警告

--insecure用于在没有 在django前面运行的web服务器(例如nginx)。

$ stardust-rpg runserver 0.0.0.0:80 --insecure

调试执行
$ stardust-rpg runserver 0.0.0.0:80 --settings=app.debug_settings

游戏设置

通过浏览http://localhost/admin登录到管理界面

为每个玩家添加Users。配置以下字段:

FieldValue
^{tt5}$Stardust RPG server username.
^{tt6}$Initial user password
^{tt7}$Player’s Roll20 email address.

为组添加Party。配置以下字段:

FieldValue
^{tt9}$Name of the character. Must match name of character in Roll20.
^{tt10}$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

为游戏中的每个角色添加Characters。配置以下字段:

FieldValue
^{tt12}$Player who has modification rights to the character.
^{tt9}$Name of the character. Must match name of character in Roll20.
^{tt8}$The ^{tt8}$ this character is a part of.
^{tt16}$The class assigned to this ^{tt17}$.

规则

战斗

战斗回合(RND

    >P>在战斗开始时,滚动D20+最大速度(^ {TT19}$)以确定回合顺序。

    1. If your character is surprised, take no actions during the first ^{tt18}$.
  1. 按任意顺序执行以下操作。一个完整的操作(FullA)需要消耗所有这些 行动。自由操作(FreeA)不使用任何这些操作。

    1. Move Action (^{tt23}$)

      1. Move your character up to Maximum Speed (^{tt19}$).

        1. You may move through squares occupied by allies, but may not move through grid squares occupied by enemies.
      2. 在执行StdAAbA之后,您可以使用剩下的SPEED,它 在此期间不使用RND

    2. 标准操作(StdA

      1. Perform a single melee or ranged weapon attack

        1. Roll a d20 and ^{tt30}$ dice. If d20 + ^{tt31}$ ≥ target ^{tt32}$, apply ^{tt30}$.

          1. If d20 ≥ Critical Range (^{tt34}$), automatic hit, apply CDAM.
          2. if d20 = 1, automatic miss.
    3. 能力动作(AbA

      1. Cast a single ability that requires ^{tt26}$

        1. Subtract the MP Cost from your Current ^{tt37}$. Current ^{tt37}$ cannot drop below 0.

        2. Roll a d20 and ^{tt39}$ dice. If d20 + ^{tt40}$ ≥ target ^{tt41}$, apply ^{tt39}$ and Effect.

          1. If d20 = 20, automatic hit, choose one of the following: 2x [^{tt39}$, Effect, Area, OR Duration].
          2. If d20 = 1, automatic miss.
        3. 如果使用连击,使用连击的盟友也必须减去 MP的成本和花费的任何时间是需要的演员。这次是从 他们的下一个回合。

  2. 在回合结束时,掷一个d20和再生骰子(RD

    1. If d20 + Magic Regeneration (^{tt45}$) ≥ 18, restore ^{tt44}$ MP.

      1. If d20 = 20, restore 2x ^{tt44}$ MP.
      2. If d20 = 1, automatic failure.

丧失工作能力(KO

  • 如果HP0,无意识状态
  • 如果{TT49 } $Audio- -(50%最大^ {TT49 } $),死亡状态。

状态影响

StatusEffect
ImmobilizeCannot take ^{tt23}$.
SilenceCannot take ^{tt26}$ (i.e. any action that targets with ^{tt40}$ or consumes ^{tt37}$).
StaggerCannot take ^{tt25}$.
DisableCannot take ^{tt25}$ or ^{tt26}$.
StunCannot take ^{tt25}$, ^{tt26}$, or ^{tt23}$.
SleepCannot take ^{tt25}$, ^{tt26}$, or ^{tt23}$. Woken by physical or magical attack.
FearMust expend ^{tt23}$ to move in opposite direction of the source of fear.
AllureMust expend ^{tt23}$ to move towards the source of the allure.
BlindMaximum range of physical and magic attacks reduced to 1. ^{tt67}$ reduced to 1.
InhibitMax ^{tt37}$ reduced to 0. ^{tt69}$ reduced to 0.
ConditionEffect
UnconsciousCannot take anymore actions until revived.
DeathCreature is dead.

优点/缺点
StateEffect
Advantage (^{tt70}$)Roll twice and use the higher of the two rolls.
Disadvantage (^{tt71}$)Roll twice and use the lower of the two rolls.

漏洞和阻力
PropertyEffect
Vulnerability (^{tt72}$)Take 2x from a particular damage type.
Resistance (^{tt73}$)Take ½ from a particular damage type.
Immunity (^{tt74}$)Take no damage from a particular damage type.

技能

SkillExample Actions
Athletics (^{tt75}$)Climb, Jump, Swim, Grapple, Reflex, Balance, Fall
Stealth (^{tt76}$)Sneak, Hide, Sleight of Hand, Disguise, Escape, Detect Trap
Fortitude (^{tt77}$)Endurance, Resist Status Effect, Death Save, Survival
Aptitude (^{tt78}$)Knowledge, Heal, Operate Device, Pick Lock, Forgery, Scan, Utility
Perception (^{tt79}$)Spot, Listen, Search, Touch, Smell, Taste
Speech (^{tt80}$)Diplomacy, Intimidate, Bluff, Persuasion

属性效果

AttributeGeneralOffensiveDefensive
^{tt81}$Feet Unlock
^{tt82}$
Weapon Damage
(^{tt83}$)
Chest Unlock
Shield Unlock
^{tt84}$^{tt85}$Weapon Unlock^{tt86}$
^{tt87}$^{tt88}$
^{tt89}$ per ^{tt90}$
^{tt91}$
^{tt92}$
^{tt93}$ per ^{tt90}$
^{tt95}$
Utility Unlock
^{tt96}$ per ^{tt90}$
Head Unlock
^{tt98}$
^{tt99}$
^{tt100}$
Magic Power
Neck Unlock
^{tt101}$
^{tt102}$^{tt103}$
^{tt100}$
^{tt105}$
^{tt106}$
^{tt107}$
Hand Unlock

释放量

2.0.0

  • 大量更新和新功能。
  • 支持Python3.6

1.0.0

  • 初次发行

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaFX进度条从单独的函数更改而来   jvm使用java服务器选项   java在<li>元素中查找同名的最后一个链接   java问题将参数传递给不同公共类中的构造函数   如何在php中从java函数中获取字符串   java如何在Android中动态显示多个tile   java仅使用Ribbon而不使用任何服务注册表是否可以实现负载平衡?   Jersey 1.19版本的java Swagger JAXRS出现“冲突URI模板”错误   带H2数据库的java Spring boot jpa   从12:00:00到00:00:00的日期转换   Android中的java如何设置文本?   java密钥库“不支持的保护参数”   http使用Java在Java中发送httprequest。净包   SpringJava刷新数据库   java在Spring Boot应用程序中使用嵌入式MongoDb和MongoTemplate失败   java需要什么MatOfMatch对象?   xml使用Java中的合并算法将两个值合并为单个值   java SQLite数据库不保存数据为什么不工作