Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1ccc9d2c34 | |||
| 9653672372 | |||
| c8a0dc7168 | |||
| 0de6a7e051 | |||
| eb0ab56794 |
15
README.md
15
README.md
@@ -1,5 +1,14 @@
|
||||
# Hellborn Descended RPG
|
||||
# Hellborn Descended for Foundry VTT
|
||||
|
||||
## Description
|
||||
Enjoy Hellborn and all it's infernal glory on Foundry with this fully operational and detailed system for the greatest VTT in the world!
|
||||
|
||||
Hellborn Descended RPG for Foundry VTT is system.
|
||||
This system & product are used with permission granted as part of the partnership agreement between Foundry Gaming LLC and Studio Hex. It uses the following trademarks and/or copyrights:
|
||||
|
||||
© 2025 Studio Hex. Content copyright Alkis "Fern" Nteli-Stavrianeas, Eduard Gabriel Schuler. All rights reserved.
|
||||
Hellborn, Hellborn Descended is a trademark of Studio Hex.
|
||||
|
||||
No part of this publication may be reproduced, distributed, or transmitted in any form or by any means without the prior written permission of the copyright holder, except in the case of brief quotations used in reviews or educational purposes.
|
||||
|
||||
For inquiries on developing content for this ruleset please contact Studiohexgame@gmail, or either one of the copyright holders on Discord. Feel free to join our Discord server for further inquiries: https://discord.gg/qaWRhdEgBE
|
||||
|
||||
Foundry system by Uberwald ( https://www.uberwald.me )
|
||||
@@ -563,8 +563,8 @@ i.fvtt-hellborn {
|
||||
max-width: 4.5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .ammoQuantity {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
min-width: 4.2rem;
|
||||
max-width: 4.2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .type {
|
||||
min-width: 3rem;
|
||||
@@ -2470,6 +2470,9 @@ i.fvtt-hellborn {
|
||||
.item-to-chat ul li p {
|
||||
margin: 0;
|
||||
}
|
||||
.item-to-chat .tarot-item-img {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
.flavor-text-damage {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
|
||||
@@ -483,10 +483,10 @@
|
||||
"label": "Duration"
|
||||
},
|
||||
"maintain": {
|
||||
"label": "Maintain"
|
||||
"label": "Passive"
|
||||
},
|
||||
"choiceMaintainDuration": {
|
||||
"label": "Maintain/Duration"
|
||||
"label": "Passive/Duration"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
|
||||
@@ -202,9 +202,9 @@ export default class HellbornRoll extends Roll {
|
||||
options.nbDisadvantages = Number(options.nbDisadvantages)
|
||||
let dice = 3;
|
||||
let keep = ""
|
||||
if ( (options.nbAdvantages !== options.nbDisadvantages) && options.nbAdvantages > 0 || options.nbDisadvantages > 0) {
|
||||
dice = 4;
|
||||
if ( options.nbAdvantages > options.nbDisadvantages) {
|
||||
if ((options.nbAdvantages !== options.nbDisadvantages) && options.nbAdvantages > 0 || options.nbDisadvantages > 0) {
|
||||
dice = 3 + Math.abs(options.nbAdvantages - options.nbDisadvantages)
|
||||
if (options.nbAdvantages > options.nbDisadvantages) {
|
||||
keep = "kh3"
|
||||
} else if (options.nbAdvantages < options.nbDisadvantages) {
|
||||
keep = "kl3"
|
||||
@@ -246,13 +246,13 @@ export default class HellbornRoll extends Roll {
|
||||
commonResult = Object.entries(commonResult).reduce((a, b) => (a[1] > b[1]) ? a : b)[0]
|
||||
let nbEqual = workResults.filter(r => Number(r.result) === Number(commonResult)).length
|
||||
|
||||
if (commonResult >= 4 && nbEqual >= 3) {
|
||||
if (resultType === "success" && commonResult >= 4 && nbEqual >= 3) {
|
||||
this.options.satanicSuccess = true
|
||||
if (this.options.satanicSuccess) {
|
||||
resultType = "success"
|
||||
}
|
||||
}
|
||||
if (commonResult <= 3 && nbEqual >= 3) {
|
||||
if (resultType === "failure" && commonResult <= 3 && nbEqual >= 3) {
|
||||
this.options.fiendishFailure = true
|
||||
if (this.options.fiendishFailure) {
|
||||
resultType = "failure"
|
||||
|
||||
@@ -12,7 +12,7 @@ export default class HellbornMalefica extends foundry.abstract.TypeDataModel {
|
||||
schema.level = new fields.StringField({ required: true, nullable: false, choices: SYSTEM.MALEFICA_LEVELS, initial: "1" })
|
||||
schema.time = new fields.StringField({ required: true, initial : "" })
|
||||
|
||||
schema.choiceMaintainDuration = new fields.StringField({ required: true, initial : "maintain", choices: {"maintain": "Maintain", "duration": "Duration"} })
|
||||
schema.choiceMaintainDuration = new fields.StringField({ required: true, initial : "maintain", choices: {"maintain": "Passive", "duration": "Duration"} })
|
||||
schema.duration = new fields.StringField({ required: true, initial : "" })
|
||||
schema.maintain = new fields.StringField({ required: true, initial : "" })
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000010
|
||||
MANIFEST-000019
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
2025/06/30-20:37:58.108400 7f0798bfa6c0 Recovering log #8
|
||||
2025/06/30-20:37:58.118139 7f0798bfa6c0 Delete type=3 #6
|
||||
2025/06/30-20:37:58.118202 7f0798bfa6c0 Delete type=0 #8
|
||||
2025/06/30-21:11:07.629621 7f07923ff6c0 Level-0 table #13: started
|
||||
2025/06/30-21:11:07.632961 7f07923ff6c0 Level-0 table #13: 19920 bytes OK
|
||||
2025/06/30-21:11:07.639130 7f07923ff6c0 Delete type=0 #11
|
||||
2025/06/30-21:11:07.658870 7f07923ff6c0 Manual compaction at level-0 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
2025/06/30-21:11:07.675316 7f07923ff6c0 Manual compaction at level-1 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at '!items!xiuPJDuvpdMEtiPe' @ 284 : 1
|
||||
2025/06/30-21:11:07.675323 7f07923ff6c0 Compacting 1@1 + 1@2 files
|
||||
2025/06/30-21:11:07.680513 7f07923ff6c0 Generated table #14@1: 267 keys, 115927 bytes
|
||||
2025/06/30-21:11:07.680536 7f07923ff6c0 Compacted 1@1 + 1@2 files => 115927 bytes
|
||||
2025/06/30-21:11:07.686716 7f07923ff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2025/06/30-21:11:07.686840 7f07923ff6c0 Delete type=2 #5
|
||||
2025/06/30-21:11:07.686988 7f07923ff6c0 Delete type=2 #13
|
||||
2025/06/30-21:11:07.693807 7f07923ff6c0 Manual compaction at level-1 from '!items!xiuPJDuvpdMEtiPe' @ 284 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
2025/07/01-14:30:17.386227 7f0793fff6c0 Recovering log #17
|
||||
2025/07/01-14:30:17.395654 7f0793fff6c0 Delete type=3 #15
|
||||
2025/07/01-14:30:17.395704 7f0793fff6c0 Delete type=0 #17
|
||||
2025/07/01-14:30:49.376073 7f07923ff6c0 Level-0 table #22: started
|
||||
2025/07/01-14:30:49.376135 7f07923ff6c0 Level-0 table #22: 0 bytes OK
|
||||
2025/07/01-14:30:49.383661 7f07923ff6c0 Delete type=0 #20
|
||||
2025/07/01-14:30:49.406833 7f07923ff6c0 Manual compaction at level-0 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
2025/07/01-14:30:49.417059 7f07923ff6c0 Manual compaction at level-1 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/06/30-19:11:32.088394 7f0792ffd6c0 Recovering log #4
|
||||
2025/06/30-19:11:32.165054 7f0792ffd6c0 Delete type=3 #2
|
||||
2025/06/30-19:11:32.165125 7f0792ffd6c0 Delete type=0 #4
|
||||
2025/06/30-19:18:30.163563 7f07923ff6c0 Level-0 table #9: started
|
||||
2025/06/30-19:18:30.163654 7f07923ff6c0 Level-0 table #9: 0 bytes OK
|
||||
2025/06/30-19:18:30.170671 7f07923ff6c0 Delete type=0 #7
|
||||
2025/06/30-19:18:30.184576 7f07923ff6c0 Manual compaction at level-0 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
2025/06/30-19:18:30.184606 7f07923ff6c0 Manual compaction at level-1 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
2025/06/30-22:25:13.089120 7f07937fe6c0 Recovering log #12
|
||||
2025/06/30-22:25:13.141380 7f07937fe6c0 Delete type=3 #10
|
||||
2025/06/30-22:25:13.141434 7f07937fe6c0 Delete type=0 #12
|
||||
2025/06/30-22:34:15.665682 7f07923ff6c0 Level-0 table #18: started
|
||||
2025/06/30-22:34:15.665712 7f07923ff6c0 Level-0 table #18: 0 bytes OK
|
||||
2025/06/30-22:34:15.671514 7f07923ff6c0 Delete type=0 #16
|
||||
2025/06/30-22:34:15.696997 7f07923ff6c0 Manual compaction at level-0 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
2025/06/30-22:34:15.707753 7f07923ff6c0 Manual compaction at level-1 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs-system/hellborn-quickstart/MANIFEST-000019
Normal file
BIN
packs-system/hellborn-quickstart/MANIFEST-000019
Normal file
Binary file not shown.
@@ -439,8 +439,8 @@
|
||||
max-width: 4.5rem;
|
||||
}
|
||||
.ammoQuantity {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
min-width: 4.2rem;
|
||||
max-width: 4.2rem;
|
||||
}
|
||||
.type {
|
||||
min-width: 3rem;
|
||||
|
||||
@@ -81,6 +81,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.tarot-item-img {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.flavor-text-damage {
|
||||
@@ -94,7 +97,7 @@
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-bottom:0.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
h2 {
|
||||
text-align: center;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"id": "fvtt-hellborn",
|
||||
"title": "Hellborn -Descended RPG",
|
||||
"title": "Hellborn - Descended RPG",
|
||||
"description": "Hellborn - Descended RPG",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-hellborn/raw/branch/main/system.json",
|
||||
"download": "#{DOWNLOAD}#",
|
||||
|
||||
@@ -18,12 +18,19 @@
|
||||
<!-- <span class="type" data-tooltip="Type">{{upperFirst item.system.weaponType}}</span> -->
|
||||
<span class="properties" data-tooltip="Properties">{{upperFirst item.system.properties}}</span>
|
||||
<span class="range" data-tooltip="Range">{{upperFirst item.system.range}}</span>
|
||||
<span class="ammo" data-tooltip="Ammo">{{upperFirst item.system.ammo}}</span>
|
||||
|
||||
{{#if (eq item.system.weaponType "melee")}}
|
||||
<span class="ammoQuantity" > </span>
|
||||
<span class="ammo" ></span>
|
||||
|
||||
{{else}}
|
||||
<span class="ammoQuantity" data-tooltip="ammoQuantity">
|
||||
<i class="fa-solid fa-octagon-plus" data-action="modifyAmmo" data-quantity="1" data-item-id="{{item.id}}"></i>
|
||||
{{item.system.ammoQuantity}}
|
||||
<i class="fa-solid fa-octagon-minus" data-action="modifyAmmo" data-quantity="-1" data-item-id="{{item.id}}"></i>
|
||||
</span>
|
||||
<span class="ammo" data-tooltip="Ammo">{{upperFirst item.system.ammo}}</span>
|
||||
{{/if}}
|
||||
|
||||
<a class="damage rollable" data-tooltip="Damage" data-item-id="{{item.id}}" data-action="roll"
|
||||
data-roll-type="damage" data-roll-value="{{item.system.damageFormula}}">
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<li class="tarot-spacing"><strong>Negative Effect : </strong>{{{system.negativeEffect}}}</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<img class="item-img" src="{{system.image}}" />
|
||||
<img class="tarot-item-img" src="{{system.image}}" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -10,8 +10,8 @@
|
||||
{{#if (eq system.weaponType "ranged")}}
|
||||
{{formField systemFields.subType value=system.subType localize=true}}
|
||||
{{formField systemFields.range value=system.range localize=true}}
|
||||
{{formField systemFields.ammo value=system.ammo localize=true}}
|
||||
{{formField systemFields.ammoQuantity value=system.ammoQuantity localize=true}}
|
||||
{{formField systemFields.ammo value=system.ammo localize=true}}
|
||||
{{/if}}
|
||||
|
||||
{{formField systemFields.properties value=system.properties classes="long-input"}}
|
||||
|
||||
Reference in New Issue
Block a user