Compare commits

..

18 Commits

76 changed files with 1058 additions and 276 deletions

BIN
images/icons/magic.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -40,10 +40,15 @@ export class DarkStarsActorSheet extends ActorSheet {
skills: this.actor.getSkills( ),
perks: this.actor.getPerks( ),
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
ammos: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getAmmos()) ),
spells: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getSpells()) ),
powers: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getPowers()) ),
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ),
cybers: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getCybers()) ),
genetics: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getGenetics()) ),
equippedArmor: this.actor.getEquippedArmor(),
equippedShield: this.actor.getEquippedShield(),
subActors: duplicate(this.actor.getSubActors()),
@ -107,6 +112,11 @@ export class DarkStarsActorSheet extends ActorSheet {
this.actor.delSubActor(actorId);
});
html.find('.edit-weapon-ammo').change(ev => {
const li = $(ev.currentTarget).parents(".item")
let weaponId = li.data("item-id")
this.actor.setWeaponAmmo( weaponId, ev.currentTarget.value )
})
html.find('.skill-used-id').change(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.setSkillUsed( li.data("item-id"), event.currentTarget.checked );

View File

@ -87,6 +87,11 @@ export class DarkStarsActor extends Actor {
deriv.si.value = Math.round( ((attr.dex.value + attr.sel.value) / 5) + 0.5) + deriv.si.bonus
secondary.hp.max = ((attr.con.value + attr.siz.value ) * 2) + secondary.hp.bonus
for(let key in this.system.hitlocations) {
let loc = this.system.hitlocations[key]
loc.max = Math.floor(secondary.hp.max * loc.ratio)
}
secondary.fp.max = 10 + attr.str.value + attr.con.value + secondary.fp.bonus
}
@ -125,6 +130,16 @@ export class DarkStarsActor extends Actor {
DarkStarsUtility.sortArrayObjectsByName(comp)
return comp;
}
getSpells() {
let comp = duplicate(this.items.filter(item => item.type == 'spell') || []);
DarkStarsUtility.sortArrayObjectsByName(comp)
return comp;
}
getPowers() {
let comp = duplicate(this.items.filter(item => item.type == 'psychic') || []);
DarkStarsUtility.sortArrayObjectsByName(comp)
return comp;
}
getEquippedArmor() {
let comp = this.items.find(item => item.type == 'armor' && item.system.equipped)
if (comp) {
@ -133,6 +148,17 @@ export class DarkStarsActor extends Actor {
return undefined
}
/* -------------------------------------------- */
getCybers() {
let comp = duplicate(this.items.filter(item => item.type == 'cyber') || []);
DarkStarsUtility.sortArrayObjectsByName(comp)
return comp;
}
getGenetics() {
let comp = duplicate(this.items.filter(item => item.type == 'genetic') || []);
DarkStarsUtility.sortArrayObjectsByName(comp)
return comp;
}
/* -------------------------------------------- */
getShields() {
let comp = duplicate(this.items.filter(item => item.type == 'shield') || []);
DarkStarsUtility.sortArrayObjectsByName(comp)
@ -147,6 +173,13 @@ export class DarkStarsActor extends Actor {
}
/* -------------------------------------------- */
checkAndPrepareEquipment(item) {
// Dynamic assign ammo for the weapon
if (item.type == "weapon" && item.system.needammo) {
let ammo = this.items.find(ammo => ammo.type == "ammo" && item.system.ammoid == ammo.id)
if (ammo) {
item.ammo = duplicate(ammo)
}
}
}
/* -------------------------------------------- */
@ -166,6 +199,12 @@ export class DarkStarsActor extends Actor {
/* -------------------------------------------- */
getWeapons() {
let comp = duplicate(this.items.filter(item => item.type == 'weapon') || []);
DarkStarsUtility.sortArrayObjectsByName(comp)
return comp;
}
/* -------------------------------------------- */
getAmmos() {
let comp = duplicate(this.items.filter(item => item.type == 'ammo') || []);
DarkStarsUtility.sortArrayObjectsByName(comp)
return comp;
}
@ -177,7 +216,13 @@ export class DarkStarsActor extends Actor {
}
return item;
}
/* -------------------------------------------- */
setWeaponAmmo(weaponId, ammoId) {
let weapon = this.items.get(weaponId)
if(weapon) {
this.updateEmbeddedDocuments('Item', [ {_id: weapon.id, 'system.ammoid': ammoId} ])
}
}
/* -------------------------------------------- */
setSkillUsed( skillId, checked) {
let skill = this.items.get(skillId)
@ -380,12 +425,14 @@ export class DarkStarsActor extends Actor {
}
}
/* -------------------------------------------- */
getInitiativeScore(combatId, combatantId) {
if (this.type == 'character') {
this.rollMR(true, combatId, combatantId)
}
console.log("Init required !!!!")
return -1;
hasLastWord() {
return this.items.find(i => i.type == "perk" && i.name.toLowerCase() === "last word")
}
/* -------------------------------------------- */
getInitiativeScore() {
let initFormula = (this.system.derivated.si.value + this.system.derivated.si.bonus) + "d6"
let initRoll = new Roll(initFormula).roll({ async: false })
return initRoll.total
}
/* -------------------------------------------- */
@ -611,6 +658,7 @@ export class DarkStarsActor extends Actor {
rollData.mode = "weapon"
rollData.skill = skill
rollData.weapon = weapon
this.checkAndPrepareEquipment(weapon)
rollData.img = weapon.img
this.startRoll(rollData)
} else {

View File

@ -2,29 +2,46 @@ import { DarkStarsUtility } from "./dark-stars-utility.js";
/* -------------------------------------------- */
export class DarkStarsCombat extends Combat {
/* -------------------------------------------- */
async rollInitiative(ids, formula = undefined, messageOptions = {} ) {
ids = typeof ids === "string" ? [ids] : ids;
for (let cId = 0; cId < ids.length; cId++) {
const c = this.combatants.get(ids[cId]);
let id = c._id || c.id;
let initBonus = c.actor ? c.actor.getInitiativeScore( this.id, id ) : -1;
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]);
}
/* -------------------------------------------- */
processOtherTurns(c, initScore) {
let toCreate = []
let token = canvas.tokens.get(c.tokenId)
let hasLastWord = token.actor.hasLastWord()
while ( (initScore > 5) || (hasLastWord && initScore >= 5)) {
initScore -= 5;
toCreate.push({tokenId: c.tokenId, sceneId: c.sceneId, actorId: c.actorId, hidden: c.hidden, initiative: initScore, flags: { world: { isDuplicated: true} } } );
}
this.createEmbeddedDocuments("Combatant", toCreate);
}
/* -------------------------------------------- */
async rollInitiative(ids, formula = undefined, messageOptions = {}) {
ids = typeof ids === "string" ? [ids] : ids;
for (let cId of ids) {
const c = this.combatants.get(cId);
let id = c._id || c.id;
let initScore = c.actor ? c.actor.getInitiativeScore(this.id, id) : -1;
await this.updateEmbeddedDocuments("Combatant", [{ _id: id, initiative: initScore }]);
setTimeout(() => this.processOtherTurns(c, initScore), 400)
}
return this;
}
/* -------------------------------------------- */
nextRound() {
super.nextRound()
let toDelete = []
for (let c of this.combatants) {
if (c.flags?.world?.isDuplicated) {
toDelete.push(c._id)
}
}
this.deleteEmbeddedDocuments("Combatant", toDelete);
}
/* -------------------------------------------- */
_onUpdate(changed, options, userId) {
}
/* -------------------------------------------- */
static async checkTurnPosition() {
while (game.combat.turn > 0) {
await game.combat.previousTurn()
}
}
}

View File

@ -34,6 +34,20 @@ export const DARKSTARS_CONFIG = {
"advanced": "Advanced",
"role": "Role"
},
magicTypes: {
"lemurian": "Lemurian",
"bloodmagic": "Blood Magic Ritual",
"ritual": "Ritual",
"miracle": "Miracle"
},
cyberTypes: {
"I": "I",
"P": "P",
"U": "U",
"W": "W",
"E": "E",
"GS": "GS"
},
range: {
"1": "Close",
"2": "Short",

View File

@ -8,7 +8,9 @@ export const defaultItemImg = {
perk: "systems/fvtt-dark-stars/images/icons/perk.webp",
ability: "systems/fvtt-dark-stars/images/icons/ability.webp",
genetic: "systems/fvtt-dark-stars/images/icons/genetic.webp",
cyber: "systems/fvtt-dark-stars/images/icons/cyber.webp"
cyber: "systems/fvtt-dark-stars/images/icons/cyber.webp",
spell: "systems/fvtt-dark-stars/images/icons/magic.webp",
psychic: "systems/fvtt-dark-stars/images/icons/psychicpowers.webp",
}
/**

View File

@ -42,7 +42,7 @@ export class DarkStarsUtility {
Handlebars.registerHelper('locationLabel', function (key) {
return __locationNames[key]
})
this.gameSettings()
@ -240,14 +240,14 @@ export class DarkStarsUtility {
}
/* -------------------------------------------- */
static getAimingMalus(location) {
static getAimingMalus(location) {
if (location == "arm" || location == "head") {
return -50
}
if (location == "torso" || location == "leg") {
return -30
}
if (location == "hand" ) {
if (location == "hand") {
return -70
}
return 0
@ -255,14 +255,22 @@ export class DarkStarsUtility {
/* -------------------------------------------- */
static getAimingLocation(roll) {
if (roll == 1) return "head"
if (roll >=2 && roll <=4 ) return "chest"
if (roll >=5 && roll <=6 ) return "abdomen"
if (roll == 7 ) return "leftarm"
if (roll == 8 ) return "rightarm"
if (roll == 9 ) return "rightleg"
if (roll == 10 ) return "leftleg"
if (roll >= 2 && roll <= 4) return "chest"
if (roll >= 5 && roll <= 6) return "abdomen"
if (roll == 7) return "leftarm"
if (roll == 8) return "rightarm"
if (roll == 9) return "rightleg"
if (roll == 10) return "leftleg"
return "abdomen"
}
/* -------------------------------------------- */
static locationMultiplier(location) {
if (location == "head") return 0.3
if (location.includes("arm")) return 0.2
if (location.includes("leg")) return 0.4
if (location == "chest") return 0.5
return 0.3 // Abdomen case
}
/* -------------------------------------------- */
static async rollDarkStars(rollData) {
@ -271,13 +279,13 @@ export class DarkStarsUtility {
// ability/save/size => 0
rollData.percentValue = 0
if ( rollData.skill ) {
if (rollData.skill) {
rollData.percentValue = rollData.skill.total
}
rollData.percentValue += rollData.bonusMalus
rollData.percentValue += rollData.bonusMalus
rollData.diceFormula = "1d100"
if (rollData.isAboveEffectiveRange) {
if (rollData.isAboveEffectiveRange) {
rollData.percentValue -= 30
rollData.percentValue = Math.max(0, rollData.percentValue)
}
@ -299,18 +307,23 @@ export class DarkStarsUtility {
rollData.isCriticalFailure = rollData.diceResult == 100
rollData.isSuccess = rollData.diceResult == 1 || rollData.diceResult <= rollData.percentValue
rollData.isFailure = rollData.diceResult == 100 || rollData.diceResult > rollData.percentValue
rollData.degrees = Math.floor(rollData.percentValue/10) - Math.floor(rollData.diceResult/10)
rollData.degrees = Math.floor(rollData.percentValue / 10) - Math.floor(rollData.diceResult / 10)
rollData.damageMultiplier = rollData.isCriticalSuccess ? 2 : 1
if (rollData.reroll) {
actor.modifyRerolls(-1)
rollData.rerolls = 0 // DIsable rerolls
}
if (rollData.weaponAiming == "none" ) {
let rollLoc = new Roll("1d10").roll({async: false})
rollData.weaponAiming = this.getAimingLocation(rollLoc.total)
if (rollData.mode == "weapon") {
if (rollData.weaponAiming == "none") {
let rollLoc = new Roll("1d10").roll({ async: false })
rollData.weaponAiming = this.getAimingLocation(rollLoc.total)
}
// Compute
rollData.locationMultiplier = this.locationMultiplier(rollData.weaponAiming)
}
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-dark-stars/templates/chat/chat-generic-result.hbs`, rollData)
})
@ -418,7 +431,7 @@ export class DarkStarsUtility {
let rollData = {
rollId: randomID(16),
rollMode: game.settings.get("core", "rollMode"),
bonusMalus : 0,
bonusMalus: 0,
isAboveEffectiveRange: false,
weaponAiming: "none"
}

0
packs/armor/000144.log Normal file
View File

View File

@ -1 +1 @@
MANIFEST-000034
MANIFEST-000142

View File

@ -1,8 +1,8 @@
2023/10/02-23:14:23.347986 7f9ff37fe6c0 Recovering log #32
2023/10/02-23:14:23.358654 7f9ff37fe6c0 Delete type=3 #30
2023/10/02-23:14:23.358719 7f9ff37fe6c0 Delete type=0 #32
2023/10/02-23:14:38.403000 7f9d71bff6c0 Level-0 table #37: started
2023/10/02-23:14:38.403060 7f9d71bff6c0 Level-0 table #37: 0 bytes OK
2023/10/02-23:14:38.409459 7f9d71bff6c0 Delete type=0 #35
2023/10/02-23:14:38.416094 7f9d71bff6c0 Manual compaction at level-0 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end)
2023/10/02-23:14:38.416119 7f9d71bff6c0 Manual compaction at level-1 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end)
2023/10/29-23:31:17.929984 7f56117fa6c0 Recovering log #140
2023/10/29-23:31:17.982863 7f56117fa6c0 Delete type=3 #138
2023/10/29-23:31:17.982953 7f56117fa6c0 Delete type=0 #140
2023/10/29-23:37:49.276844 7f56037fe6c0 Level-0 table #145: started
2023/10/29-23:37:49.276878 7f56037fe6c0 Level-0 table #145: 0 bytes OK
2023/10/29-23:37:49.283239 7f56037fe6c0 Delete type=0 #143
2023/10/29-23:37:49.283442 7f56037fe6c0 Manual compaction at level-0 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end)
2023/10/29-23:37:49.283477 7f56037fe6c0 Manual compaction at level-1 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/10/02-23:10:18.443082 7f9ff27fc6c0 Recovering log #28
2023/10/02-23:10:18.496390 7f9ff27fc6c0 Delete type=3 #26
2023/10/02-23:10:18.496457 7f9ff27fc6c0 Delete type=0 #28
2023/10/02-23:10:47.651296 7f9d71bff6c0 Level-0 table #33: started
2023/10/02-23:10:47.651362 7f9d71bff6c0 Level-0 table #33: 0 bytes OK
2023/10/02-23:10:47.687557 7f9d71bff6c0 Delete type=0 #31
2023/10/02-23:10:47.767121 7f9d71bff6c0 Manual compaction at level-0 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end)
2023/10/02-23:10:47.767168 7f9d71bff6c0 Manual compaction at level-1 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end)
2023/10/29-23:18:03.263368 7f5610ff96c0 Recovering log #136
2023/10/29-23:18:03.272973 7f5610ff96c0 Delete type=3 #134
2023/10/29-23:18:03.273033 7f5610ff96c0 Delete type=0 #136
2023/10/29-23:22:59.114098 7f56037fe6c0 Level-0 table #141: started
2023/10/29-23:22:59.114130 7f56037fe6c0 Level-0 table #141: 0 bytes OK
2023/10/29-23:22:59.122977 7f56037fe6c0 Delete type=0 #139
2023/10/29-23:22:59.137181 7f56037fe6c0 Manual compaction at level-0 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end)
2023/10/29-23:22:59.143842 7f56037fe6c0 Manual compaction at level-1 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end)

BIN
packs/armor/MANIFEST-000142 Normal file

Binary file not shown.

View File

View File

@ -1 +1 @@
MANIFEST-000034
MANIFEST-000142

View File

@ -1,7 +1,7 @@
2023/10/02-23:14:23.402486 7f9ff37fe6c0 Recovering log #32
2023/10/02-23:14:23.413596 7f9ff37fe6c0 Delete type=3 #30
2023/10/02-23:14:23.413697 7f9ff37fe6c0 Delete type=0 #32
2023/10/02-23:14:38.416250 7f9d71bff6c0 Level-0 table #37: started
2023/10/02-23:14:38.416269 7f9d71bff6c0 Level-0 table #37: 0 bytes OK
2023/10/02-23:14:38.423340 7f9d71bff6c0 Delete type=0 #35
2023/10/02-23:14:38.443073 7f9d71bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2023/10/29-23:31:18.172067 7f56117fa6c0 Recovering log #140
2023/10/29-23:31:18.222141 7f56117fa6c0 Delete type=3 #138
2023/10/29-23:31:18.222239 7f56117fa6c0 Delete type=0 #140
2023/10/29-23:37:49.304351 7f56037fe6c0 Level-0 table #145: started
2023/10/29-23:37:49.304405 7f56037fe6c0 Level-0 table #145: 0 bytes OK
2023/10/29-23:37:49.310587 7f56037fe6c0 Delete type=0 #143
2023/10/29-23:37:49.310811 7f56037fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2023/10/02-23:10:18.665551 7f9ff27fc6c0 Recovering log #28
2023/10/02-23:10:18.724044 7f9ff27fc6c0 Delete type=3 #26
2023/10/02-23:10:18.724179 7f9ff27fc6c0 Delete type=0 #28
2023/10/02-23:10:47.847150 7f9d71bff6c0 Level-0 table #33: started
2023/10/02-23:10:47.847205 7f9d71bff6c0 Level-0 table #33: 0 bytes OK
2023/10/02-23:10:47.883834 7f9d71bff6c0 Delete type=0 #31
2023/10/02-23:10:47.926716 7f9d71bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2023/10/29-23:18:03.312598 7f5610ff96c0 Recovering log #136
2023/10/29-23:18:03.323841 7f5610ff96c0 Delete type=3 #134
2023/10/29-23:18:03.323912 7f5610ff96c0 Delete type=0 #136
2023/10/29-23:22:59.143970 7f56037fe6c0 Level-0 table #141: started
2023/10/29-23:22:59.144000 7f56037fe6c0 Level-0 table #141: 0 bytes OK
2023/10/29-23:22:59.150731 7f56037fe6c0 Delete type=0 #139
2023/10/29-23:22:59.169945 7f56037fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

View File

@ -1 +1 @@
MANIFEST-000034
MANIFEST-000142

View File

@ -1,7 +1,7 @@
2023/10/02-23:14:23.415539 7f9ff27fc6c0 Recovering log #32
2023/10/02-23:14:23.426966 7f9ff27fc6c0 Delete type=3 #30
2023/10/02-23:14:23.427019 7f9ff27fc6c0 Delete type=0 #32
2023/10/02-23:14:38.423526 7f9d71bff6c0 Level-0 table #37: started
2023/10/02-23:14:38.423560 7f9d71bff6c0 Level-0 table #37: 0 bytes OK
2023/10/02-23:14:38.429512 7f9d71bff6c0 Delete type=0 #35
2023/10/02-23:14:38.443085 7f9d71bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2023/10/29-23:31:18.223966 7f5611ffb6c0 Recovering log #140
2023/10/29-23:31:18.265607 7f5611ffb6c0 Delete type=3 #138
2023/10/29-23:31:18.265707 7f5611ffb6c0 Delete type=0 #140
2023/10/29-23:37:49.310911 7f56037fe6c0 Level-0 table #145: started
2023/10/29-23:37:49.311047 7f56037fe6c0 Level-0 table #145: 0 bytes OK
2023/10/29-23:37:49.317632 7f56037fe6c0 Delete type=0 #143
2023/10/29-23:37:49.337853 7f56037fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2023/10/02-23:10:18.726340 7f9ff37fe6c0 Recovering log #28
2023/10/02-23:10:18.791256 7f9ff37fe6c0 Delete type=3 #26
2023/10/02-23:10:18.791336 7f9ff37fe6c0 Delete type=0 #28
2023/10/02-23:10:47.767271 7f9d71bff6c0 Level-0 table #33: started
2023/10/02-23:10:47.767300 7f9d71bff6c0 Level-0 table #33: 0 bytes OK
2023/10/02-23:10:47.804530 7f9d71bff6c0 Delete type=0 #31
2023/10/02-23:10:47.926630 7f9d71bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2023/10/29-23:18:03.325846 7f5611ffb6c0 Recovering log #136
2023/10/29-23:18:03.335459 7f5611ffb6c0 Delete type=3 #134
2023/10/29-23:18:03.335539 7f5611ffb6c0 Delete type=0 #136
2023/10/29-23:22:59.150864 7f56037fe6c0 Level-0 table #141: started
2023/10/29-23:22:59.150893 7f56037fe6c0 Level-0 table #141: 0 bytes OK
2023/10/29-23:22:59.156833 7f56037fe6c0 Delete type=0 #139
2023/10/29-23:22:59.169957 7f56037fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000071

0
packs/cybernetics/LOCK Normal file
View File

8
packs/cybernetics/LOG Normal file
View File

@ -0,0 +1,8 @@
2023/10/29-23:31:18.438487 7f56117fa6c0 Recovering log #69
2023/10/29-23:31:18.492811 7f56117fa6c0 Delete type=3 #67
2023/10/29-23:31:18.492904 7f56117fa6c0 Delete type=0 #69
2023/10/29-23:37:49.324508 7f56037fe6c0 Level-0 table #74: started
2023/10/29-23:37:49.324550 7f56037fe6c0 Level-0 table #74: 0 bytes OK
2023/10/29-23:37:49.330736 7f56037fe6c0 Delete type=0 #72
2023/10/29-23:37:49.337897 7f56037fe6c0 Manual compaction at level-0 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end)
2023/10/29-23:37:49.337946 7f56037fe6c0 Manual compaction at level-1 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/29-23:18:03.364440 7f5610ff96c0 Recovering log #64
2023/10/29-23:18:03.373971 7f5610ff96c0 Delete type=3 #62
2023/10/29-23:18:03.374029 7f5610ff96c0 Delete type=0 #64
2023/10/29-23:22:59.170102 7f56037fe6c0 Level-0 table #70: started
2023/10/29-23:22:59.170132 7f56037fe6c0 Level-0 table #70: 0 bytes OK
2023/10/29-23:22:59.176387 7f56037fe6c0 Delete type=0 #68
2023/10/29-23:22:59.184020 7f56037fe6c0 Manual compaction at level-0 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end)
2023/10/29-23:22:59.184054 7f56037fe6c0 Manual compaction at level-1 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/equipment/000137.ldb Normal file

Binary file not shown.

View File

View File

@ -1 +1 @@
MANIFEST-000034
MANIFEST-000142

View File

@ -1,7 +1,8 @@
2023/10/02-23:14:23.361211 7f9ff27fc6c0 Recovering log #32
2023/10/02-23:14:23.373216 7f9ff27fc6c0 Delete type=3 #30
2023/10/02-23:14:23.373318 7f9ff27fc6c0 Delete type=0 #32
2023/10/02-23:14:38.409553 7f9d71bff6c0 Level-0 table #37: started
2023/10/02-23:14:38.409576 7f9d71bff6c0 Level-0 table #37: 0 bytes OK
2023/10/02-23:14:38.415960 7f9d71bff6c0 Delete type=0 #35
2023/10/02-23:14:38.416104 7f9d71bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2023/10/29-23:31:17.984959 7f5611ffb6c0 Recovering log #140
2023/10/29-23:31:18.036613 7f5611ffb6c0 Delete type=3 #138
2023/10/29-23:31:18.036664 7f5611ffb6c0 Delete type=0 #140
2023/10/29-23:37:49.283537 7f56037fe6c0 Level-0 table #145: started
2023/10/29-23:37:49.283589 7f56037fe6c0 Level-0 table #145: 0 bytes OK
2023/10/29-23:37:49.290495 7f56037fe6c0 Delete type=0 #143
2023/10/29-23:37:49.310755 7f56037fe6c0 Manual compaction at level-0 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!xNmOdMs4rQ0yiVzg' @ 0 : 0; will stop at (end)
2023/10/29-23:37:49.310826 7f56037fe6c0 Manual compaction at level-1 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!xNmOdMs4rQ0yiVzg' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,8 @@
2023/10/02-23:10:18.498716 7f9ff37fe6c0 Recovering log #28
2023/10/02-23:10:18.553677 7f9ff37fe6c0 Delete type=3 #26
2023/10/02-23:10:18.553743 7f9ff37fe6c0 Delete type=0 #28
2023/10/02-23:10:47.687666 7f9d71bff6c0 Level-0 table #33: started
2023/10/02-23:10:47.687692 7f9d71bff6c0 Level-0 table #33: 0 bytes OK
2023/10/02-23:10:47.730820 7f9d71bff6c0 Delete type=0 #31
2023/10/02-23:10:47.767133 7f9d71bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2023/10/29-23:18:03.275156 7f5611ffb6c0 Recovering log #136
2023/10/29-23:18:03.285672 7f5611ffb6c0 Delete type=3 #134
2023/10/29-23:18:03.285737 7f5611ffb6c0 Delete type=0 #136
2023/10/29-23:22:59.129992 7f56037fe6c0 Level-0 table #141: started
2023/10/29-23:22:59.130033 7f56037fe6c0 Level-0 table #141: 0 bytes OK
2023/10/29-23:22:59.137015 7f56037fe6c0 Delete type=0 #139
2023/10/29-23:22:59.143831 7f56037fe6c0 Manual compaction at level-0 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!xNmOdMs4rQ0yiVzg' @ 0 : 0; will stop at (end)
2023/10/29-23:22:59.143861 7f56037fe6c0 Manual compaction at level-1 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!xNmOdMs4rQ0yiVzg' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/genetics/000014.ldb Normal file

Binary file not shown.

View File

1
packs/genetics/CURRENT Normal file
View File

@ -0,0 +1 @@
MANIFEST-000019

0
packs/genetics/LOCK Normal file
View File

8
packs/genetics/LOG Normal file
View File

@ -0,0 +1,8 @@
2023/10/29-23:31:18.494918 7f5611ffb6c0 Recovering log #17
2023/10/29-23:31:18.543367 7f5611ffb6c0 Delete type=3 #15
2023/10/29-23:31:18.543420 7f5611ffb6c0 Delete type=0 #17
2023/10/29-23:37:49.338046 7f56037fe6c0 Level-0 table #22: started
2023/10/29-23:37:49.338094 7f56037fe6c0 Level-0 table #22: 0 bytes OK
2023/10/29-23:37:49.344365 7f56037fe6c0 Delete type=0 #20
2023/10/29-23:37:49.344491 7f56037fe6c0 Manual compaction at level-0 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end)
2023/10/29-23:37:49.344516 7f56037fe6c0 Manual compaction at level-1 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end)

8
packs/genetics/LOG.old Normal file
View File

@ -0,0 +1,8 @@
2023/10/29-23:18:03.376448 7f5611ffb6c0 Recovering log #12
2023/10/29-23:18:03.387048 7f5611ffb6c0 Delete type=3 #10
2023/10/29-23:18:03.387107 7f5611ffb6c0 Delete type=0 #12
2023/10/29-23:22:59.176500 7f56037fe6c0 Level-0 table #18: started
2023/10/29-23:22:59.176528 7f56037fe6c0 Level-0 table #18: 0 bytes OK
2023/10/29-23:22:59.183892 7f56037fe6c0 Delete type=0 #16
2023/10/29-23:22:59.184045 7f56037fe6c0 Manual compaction at level-0 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end)
2023/10/29-23:22:59.184084 7f56037fe6c0 Manual compaction at level-1 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end)

Binary file not shown.

0
packs/perks/000144.log Normal file
View File

View File

@ -1 +1 @@
MANIFEST-000034
MANIFEST-000142

View File

@ -1,8 +1,8 @@
2023/10/02-23:14:23.440882 7f9ff3fff6c0 Recovering log #32
2023/10/02-23:14:23.451699 7f9ff3fff6c0 Delete type=3 #30
2023/10/02-23:14:23.451952 7f9ff3fff6c0 Delete type=0 #32
2023/10/02-23:14:38.450027 7f9d71bff6c0 Level-0 table #37: started
2023/10/02-23:14:38.450048 7f9d71bff6c0 Level-0 table #37: 0 bytes OK
2023/10/02-23:14:38.456399 7f9d71bff6c0 Delete type=0 #35
2023/10/02-23:14:38.456527 7f9d71bff6c0 Manual compaction at level-0 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
2023/10/02-23:14:38.456542 7f9d71bff6c0 Manual compaction at level-1 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
2023/10/29-23:31:18.352208 7f5610ff96c0 Recovering log #140
2023/10/29-23:31:18.436200 7f5610ff96c0 Delete type=3 #138
2023/10/29-23:31:18.436263 7f5610ff96c0 Delete type=0 #140
2023/10/29-23:37:49.330846 7f56037fe6c0 Level-0 table #145: started
2023/10/29-23:37:49.330869 7f56037fe6c0 Level-0 table #145: 0 bytes OK
2023/10/29-23:37:49.337661 7f56037fe6c0 Delete type=0 #143
2023/10/29-23:37:49.337914 7f56037fe6c0 Manual compaction at level-0 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
2023/10/29-23:37:49.337961 7f56037fe6c0 Manual compaction at level-1 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/10/02-23:10:18.856824 7f9ff2ffd6c0 Recovering log #28
2023/10/02-23:10:18.914305 7f9ff2ffd6c0 Delete type=3 #26
2023/10/02-23:10:18.914448 7f9ff2ffd6c0 Delete type=0 #28
2023/10/02-23:10:47.926887 7f9d71bff6c0 Level-0 table #33: started
2023/10/02-23:10:47.926952 7f9d71bff6c0 Level-0 table #33: 0 bytes OK
2023/10/02-23:10:47.962319 7f9d71bff6c0 Delete type=0 #31
2023/10/02-23:10:47.962591 7f9d71bff6c0 Manual compaction at level-0 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
2023/10/02-23:10:47.962645 7f9d71bff6c0 Manual compaction at level-1 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
2023/10/29-23:18:03.351155 7f56117fa6c0 Recovering log #136
2023/10/29-23:18:03.361595 7f56117fa6c0 Delete type=3 #134
2023/10/29-23:18:03.361648 7f56117fa6c0 Delete type=0 #136
2023/10/29-23:22:59.163288 7f56037fe6c0 Level-0 table #141: started
2023/10/29-23:22:59.163313 7f56037fe6c0 Level-0 table #141: 0 bytes OK
2023/10/29-23:22:59.169835 7f56037fe6c0 Delete type=0 #139
2023/10/29-23:22:59.169984 7f56037fe6c0 Manual compaction at level-0 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
2023/10/29-23:22:59.170013 7f56037fe6c0 Manual compaction at level-1 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)

BIN
packs/perks/MANIFEST-000142 Normal file

Binary file not shown.

0
packs/shields/000144.log Normal file
View File

View File

@ -1 +1 @@
MANIFEST-000034
MANIFEST-000142

View File

@ -1,7 +1,7 @@
2023/10/02-23:14:23.375471 7f9ff2ffd6c0 Recovering log #32
2023/10/02-23:14:23.386987 7f9ff2ffd6c0 Delete type=3 #30
2023/10/02-23:14:23.387042 7f9ff2ffd6c0 Delete type=0 #32
2023/10/02-23:14:38.437035 7f9d71bff6c0 Level-0 table #37: started
2023/10/02-23:14:38.437058 7f9d71bff6c0 Level-0 table #37: 0 bytes OK
2023/10/02-23:14:38.442993 7f9d71bff6c0 Delete type=0 #35
2023/10/02-23:14:38.443105 7f9d71bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2023/10/29-23:31:18.040442 7f5603fff6c0 Recovering log #140
2023/10/29-23:31:18.100074 7f5603fff6c0 Delete type=3 #138
2023/10/29-23:31:18.100170 7f5603fff6c0 Delete type=0 #140
2023/10/29-23:37:49.290582 7f56037fe6c0 Level-0 table #145: started
2023/10/29-23:37:49.290606 7f56037fe6c0 Level-0 table #145: 0 bytes OK
2023/10/29-23:37:49.296703 7f56037fe6c0 Delete type=0 #143
2023/10/29-23:37:49.310776 7f56037fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2023/10/02-23:10:18.555858 7f9ff3fff6c0 Recovering log #28
2023/10/02-23:10:18.608266 7f9ff3fff6c0 Delete type=3 #26
2023/10/02-23:10:18.608317 7f9ff3fff6c0 Delete type=0 #28
2023/10/02-23:10:47.730988 7f9d71bff6c0 Level-0 table #33: started
2023/10/02-23:10:47.731029 7f9d71bff6c0 Level-0 table #33: 0 bytes OK
2023/10/02-23:10:47.766999 7f9d71bff6c0 Delete type=0 #31
2023/10/02-23:10:47.767154 7f9d71bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2023/10/29-23:18:03.288243 7f5603fff6c0 Recovering log #136
2023/10/29-23:18:03.298374 7f5603fff6c0 Delete type=3 #134
2023/10/29-23:18:03.298481 7f5603fff6c0 Delete type=0 #136
2023/10/29-23:22:59.123190 7f56037fe6c0 Level-0 table #141: started
2023/10/29-23:22:59.123237 7f56037fe6c0 Level-0 table #141: 0 bytes OK
2023/10/29-23:22:59.129849 7f56037fe6c0 Delete type=0 #139
2023/10/29-23:22:59.143641 7f56037fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

0
packs/skills/000144.log Normal file
View File

View File

@ -1 +1 @@
MANIFEST-000034
MANIFEST-000142

View File

@ -1,8 +1,8 @@
2023/10/02-23:14:23.428388 7f9ff2ffd6c0 Recovering log #32
2023/10/02-23:14:23.438828 7f9ff2ffd6c0 Delete type=3 #30
2023/10/02-23:14:23.438894 7f9ff2ffd6c0 Delete type=0 #32
2023/10/02-23:14:38.443218 7f9d71bff6c0 Level-0 table #37: started
2023/10/02-23:14:38.443238 7f9d71bff6c0 Level-0 table #37: 0 bytes OK
2023/10/02-23:14:38.449738 7f9d71bff6c0 Delete type=0 #35
2023/10/02-23:14:38.456514 7f9d71bff6c0 Manual compaction at level-0 from '!items!5YJWuGaagmi1dgbv' @ 72057594037927935 : 1 .. '!items!yo7mOkfbbOogx8na' @ 0 : 0; will stop at (end)
2023/10/02-23:14:38.456551 7f9d71bff6c0 Manual compaction at level-1 from '!items!5YJWuGaagmi1dgbv' @ 72057594037927935 : 1 .. '!items!yo7mOkfbbOogx8na' @ 0 : 0; will stop at (end)
2023/10/29-23:31:18.266929 7f5603fff6c0 Recovering log #140
2023/10/29-23:31:18.350204 7f5603fff6c0 Delete type=3 #138
2023/10/29-23:31:18.350298 7f5603fff6c0 Delete type=0 #140
2023/10/29-23:37:49.317738 7f56037fe6c0 Level-0 table #145: started
2023/10/29-23:37:49.317765 7f56037fe6c0 Level-0 table #145: 0 bytes OK
2023/10/29-23:37:49.324369 7f56037fe6c0 Delete type=0 #143
2023/10/29-23:37:49.337878 7f56037fe6c0 Manual compaction at level-0 from '!items!5YJWuGaagmi1dgbv' @ 72057594037927935 : 1 .. '!items!yo7mOkfbbOogx8na' @ 0 : 0; will stop at (end)
2023/10/29-23:37:49.337930 7f56037fe6c0 Manual compaction at level-1 from '!items!5YJWuGaagmi1dgbv' @ 72057594037927935 : 1 .. '!items!yo7mOkfbbOogx8na' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/10/02-23:10:18.794082 7f9ff3fff6c0 Recovering log #28
2023/10/02-23:10:18.853728 7f9ff3fff6c0 Delete type=3 #26
2023/10/02-23:10:18.853881 7f9ff3fff6c0 Delete type=0 #28
2023/10/02-23:10:47.884047 7f9d71bff6c0 Level-0 table #33: started
2023/10/02-23:10:47.884105 7f9d71bff6c0 Level-0 table #33: 0 bytes OK
2023/10/02-23:10:47.926424 7f9d71bff6c0 Delete type=0 #31
2023/10/02-23:10:47.926752 7f9d71bff6c0 Manual compaction at level-0 from '!items!5YJWuGaagmi1dgbv' @ 72057594037927935 : 1 .. '!items!yo7mOkfbbOogx8na' @ 0 : 0; will stop at (end)
2023/10/02-23:10:47.926813 7f9d71bff6c0 Manual compaction at level-1 from '!items!5YJWuGaagmi1dgbv' @ 72057594037927935 : 1 .. '!items!yo7mOkfbbOogx8na' @ 0 : 0; will stop at (end)
2023/10/29-23:18:03.336985 7f5603fff6c0 Recovering log #136
2023/10/29-23:18:03.348011 7f5603fff6c0 Delete type=3 #134
2023/10/29-23:18:03.348152 7f5603fff6c0 Delete type=0 #136
2023/10/29-23:22:59.156910 7f56037fe6c0 Level-0 table #141: started
2023/10/29-23:22:59.156932 7f56037fe6c0 Level-0 table #141: 0 bytes OK
2023/10/29-23:22:59.163186 7f56037fe6c0 Delete type=0 #139
2023/10/29-23:22:59.169973 7f56037fe6c0 Manual compaction at level-0 from '!items!5YJWuGaagmi1dgbv' @ 72057594037927935 : 1 .. '!items!yo7mOkfbbOogx8na' @ 0 : 0; will stop at (end)
2023/10/29-23:22:59.170004 7f56037fe6c0 Manual compaction at level-1 from '!items!5YJWuGaagmi1dgbv' @ 72057594037927935 : 1 .. '!items!yo7mOkfbbOogx8na' @ 0 : 0; will stop at (end)

Binary file not shown.

0
packs/weapons/000145.log Normal file
View File

View File

@ -1 +1 @@
MANIFEST-000035
MANIFEST-000143

View File

@ -1,8 +1,8 @@
2023/10/02-23:14:23.388553 7f9ff3fff6c0 Recovering log #33
2023/10/02-23:14:23.400519 7f9ff3fff6c0 Delete type=3 #31
2023/10/02-23:14:23.400573 7f9ff3fff6c0 Delete type=0 #33
2023/10/02-23:14:38.429647 7f9d71bff6c0 Level-0 table #38: started
2023/10/02-23:14:38.429671 7f9d71bff6c0 Level-0 table #38: 0 bytes OK
2023/10/02-23:14:38.436914 7f9d71bff6c0 Delete type=0 #36
2023/10/02-23:14:38.443096 7f9d71bff6c0 Manual compaction at level-0 from '!items!265V8wzrrH3EEgtM' @ 72057594037927935 : 1 .. '!items!zx96NZdE3GrK999G' @ 0 : 0; will stop at (end)
2023/10/02-23:14:38.443123 7f9d71bff6c0 Manual compaction at level-1 from '!items!265V8wzrrH3EEgtM' @ 72057594037927935 : 1 .. '!items!zx96NZdE3GrK999G' @ 0 : 0; will stop at (end)
2023/10/29-23:31:18.101982 7f5610ff96c0 Recovering log #141
2023/10/29-23:31:18.169683 7f5610ff96c0 Delete type=3 #139
2023/10/29-23:31:18.169778 7f5610ff96c0 Delete type=0 #141
2023/10/29-23:37:49.296947 7f56037fe6c0 Level-0 table #146: started
2023/10/29-23:37:49.296972 7f56037fe6c0 Level-0 table #146: 0 bytes OK
2023/10/29-23:37:49.304142 7f56037fe6c0 Delete type=0 #144
2023/10/29-23:37:49.310795 7f56037fe6c0 Manual compaction at level-0 from '!items!265V8wzrrH3EEgtM' @ 72057594037927935 : 1 .. '!items!zx96NZdE3GrK999G' @ 0 : 0; will stop at (end)
2023/10/29-23:37:49.310843 7f56037fe6c0 Manual compaction at level-1 from '!items!265V8wzrrH3EEgtM' @ 72057594037927935 : 1 .. '!items!zx96NZdE3GrK999G' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/10/02-23:10:18.609848 7f9ff2ffd6c0 Recovering log #29
2023/10/02-23:10:18.663665 7f9ff2ffd6c0 Delete type=3 #27
2023/10/02-23:10:18.663724 7f9ff2ffd6c0 Delete type=0 #29
2023/10/02-23:10:47.804820 7f9d71bff6c0 Level-0 table #34: started
2023/10/02-23:10:47.804852 7f9d71bff6c0 Level-0 table #34: 0 bytes OK
2023/10/02-23:10:47.846980 7f9d71bff6c0 Delete type=0 #32
2023/10/02-23:10:47.926664 7f9d71bff6c0 Manual compaction at level-0 from '!items!265V8wzrrH3EEgtM' @ 72057594037927935 : 1 .. '!items!zx96NZdE3GrK999G' @ 0 : 0; will stop at (end)
2023/10/02-23:10:47.926783 7f9d71bff6c0 Manual compaction at level-1 from '!items!265V8wzrrH3EEgtM' @ 72057594037927935 : 1 .. '!items!zx96NZdE3GrK999G' @ 0 : 0; will stop at (end)
2023/10/29-23:18:03.300762 7f56117fa6c0 Recovering log #137
2023/10/29-23:18:03.310829 7f56117fa6c0 Delete type=3 #135
2023/10/29-23:18:03.310884 7f56117fa6c0 Delete type=0 #137
2023/10/29-23:22:59.137203 7f56037fe6c0 Level-0 table #142: started
2023/10/29-23:22:59.137245 7f56037fe6c0 Level-0 table #142: 0 bytes OK
2023/10/29-23:22:59.143514 7f56037fe6c0 Delete type=0 #140
2023/10/29-23:22:59.143853 7f56037fe6c0 Manual compaction at level-0 from '!items!265V8wzrrH3EEgtM' @ 72057594037927935 : 1 .. '!items!zx96NZdE3GrK999G' @ 0 : 0; will stop at (end)
2023/10/29-23:22:59.143869 7f56037fe6c0 Manual compaction at level-1 from '!items!265V8wzrrH3EEgtM' @ 72057594037927935 : 1 .. '!items!zx96NZdE3GrK999G' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1334,9 +1334,6 @@ Focus FOC: #ff0084
.color-class-foc {
background-color: #ff0084;
}
.color-class-common {
background: rgba(185, 183, 40, 0.45);
}
.status-small-label {
font-size: 0.65rem;
}
@ -1420,26 +1417,31 @@ Focus FOC: #ff0084
}
.item-name-label-header-long {
flex-grow:2;
margin-top: 4px;
max-width: 14rem;
min-width: 14rem;
}
.item-name-label-header-long2 {
flex-grow:2;
margin-top: 4px;
max-width: 24rem;
min-width: 24rem;
}
.item-name-label {
flex-grow:2;
margin-top: 4px;
max-width: 10rem;
min-width: 10rem;
}
.item-name-label-long {
flex-grow:2;
margin-top: 4px;
max-width: 12rem;
min-width: 12rem;
}
.item-name-label-long2 {
flex-grow:2;
margin-top: 4px;
max-width: 22rem;
min-width: 22rem;
}
@ -1493,7 +1495,9 @@ Focus FOC: #ff0084
min-width:2rem;
max-width: 2rem;
}
.margin-left-4 {
margin-left: 4px;
}
.dice-pool-stack {
flex: 1 1 5rem;
display: flex !important;
@ -1509,7 +1513,19 @@ Focus FOC: #ff0084
margin-bottom: 1rem;
background-color: #403f3e40;
}
.stat-column-size {
max-width: 12rem;
min-width: 12rem;
margin-right: 4px;
}
.derivated-column-size {
max-width: 14rem;
min-width: 14rem;
margin-right: 4px;
}
.hplocation-column {
margin-left: 4px;
}
.dice-pool-image {
border: 0;
margin-left: 4px;

View File

@ -92,6 +92,24 @@
"system": "fvtt-dark-stars",
"private": false,
"flags": {}
},
{
"type": "Item",
"label": "Cybernetics",
"name": "cybernetics",
"path": "packs/cybernetics",
"system": "fvtt-dark-stars",
"private": false,
"flags": {}
},
{
"type": "Item",
"label": "Genetics",
"name": "genetics",
"path": "packs/genetics",
"system": "fvtt-dark-stars",
"private": false,
"flags": {}
}
],
"primaryTokenAttribute": "secondary.hp",
@ -100,14 +118,14 @@
"styles": [
"styles/simple.css"
],
"version": "11.0.1",
"version": "11.0.14",
"compatibility": {
"minimum": "11",
"verified": "11"
},
"title": "Dark Stars RPG",
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-dark-stars/raw/branch/main/system.json",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-dark-stars/archive/fvtt-dark-stars-v11.0.1.zip",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-dark-stars/archive/fvtt-dark-stars-v11.0.14.zip",
"url": "https://www.uberwald.me/gitea/uberwald/",
"background": "images/ui/dark_stars_welcome_page.webp",
"id": "fvtt-dark-stars"

View File

@ -173,6 +173,7 @@
"hitlocations": {
"head": {
"label": "Head",
"ratio": 0.3,
"dice": [
1
],
@ -182,6 +183,7 @@
},
"chest": {
"label": "Chest",
"ratio": 0.5,
"dice": [
2,
4
@ -192,6 +194,7 @@
},
"abdomen": {
"label": "Abdomen",
"ratio": 0.3,
"dice": [
5,
6
@ -202,6 +205,7 @@
},
"leftarm": {
"label": "Left Arm",
"ratio": 0.2,
"dice": [
7
],
@ -211,6 +215,7 @@
},
"rightarm": {
"label": "Right Arm",
"ratio": 0.2,
"dice": [
8
],
@ -220,6 +225,7 @@
},
"rightleg": {
"label": "Right Leg",
"ratio": 0.4,
"dice": [
9
],
@ -229,6 +235,7 @@
},
"leftleg": {
"label": "Left Leg",
"ratio": 0.4,
"dice": [
10
],
@ -278,8 +285,34 @@
"weapon",
"money",
"genetic",
"cyber"
"cyber",
"ammo",
"psychic",
"spell"
],
"spell": {
"magictype": "lemurian",
"experience": 0,
"fatiguepoints": 0,
"essenccevalue": 0,
"essencestr1": "",
"essencestr2": "",
"effect": "",
"sphere": "",
"humanity": "",
"level": 0,
"wordsofpower": 0,
"signs": 0,
"cherisheditems": 0
},
"psychic": {
"level": 0,
"egocost": 0,
"range": 0,
"xpcost": 0,
"duration": "",
"effect": ""
},
"skill": {
"base": "",
"value": 0,
@ -299,11 +332,33 @@
"description": ""
},
"genetic": {
"hup": 0,
"genertictype": "I",
"upgrade": "",
"upgradelocation": "",
"size": "",
"power": "",
"sp": 0,
"sdp": 0,
"hup": "",
"surgery": "",
"availability": "",
"cost": 0,
"equipped": false,
"description": ""
},
"cyber": {
"hup": 0,
"cybertype": "I",
"upgrade": "",
"upgradelocation": "",
"size": "",
"power": "",
"sp": 0,
"sdp": 0,
"hup": "",
"surgery": "",
"availability": "",
"cost": 0,
"equipped": false,
"description": ""
},
"armor": {
@ -355,10 +410,12 @@
},
"equipment": {
"equiptype": "",
"cost": 0,
"skillbonus": "",
"quantity": 0,
"bulk": 0,
"sp": 0,
"runningtime": 0,
"cost": 0,
"equipped": false,
"iscontainer": false,
"containercapacity": 0,
@ -370,11 +427,24 @@
"quantity": 0,
"description": ""
},
"ammo": {
"ava": "",
"damage": "",
"bulk": 0,
"br": 0,
"cost": 0,
"sp": 0,
"quantity": 0,
"properties": ""
},
"weapon": {
"weapontype": "",
"associatedskill": "",
"skill": "",
"penetrationmin": "",
"penetrationmax": "",
"needammo": false,
"ammoid": "",
"hashpdamage": true,
"damage": "",
"hasfatiguedamage": false,

View File

@ -16,7 +16,7 @@
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="main">Main</a>
<a class="item" data-tab="skills">Skills</a>
<a class="item" data-tab="perks">Perks</a>
<a class="item" data-tab="perks">Perks/Powers/Spells</a>
<a class="item" data-tab="combat">Combat</a>
<a class="item" data-tab="equipment">Equipment</a>
<a class="item" data-tab="biodata">Biography</a>
@ -29,7 +29,7 @@
<div class="tab main" data-group="primary" data-tab="main">
<div class="flexrow">
<ul class="stat-list alternate-list item-list">
<ul class="stat-list alternate-list item-list stat-column-size">
{{#each system.attributes as |attr key|}}
<li class="item stat flexrow list-item list-item-shadow">
<label class="item-field-label-medium">{{attr.label}}</label>
@ -38,7 +38,7 @@
</li>
</ul>
<ul class="stat-list alternate-list item-list">
<ul class="stat-list alternate-list item-list derivated-column-size">
{{#each system.derivated as |deriv key|}}
<li class="item stat flexrow list-item list-item-shadow">
<label class="item-field-label-medium">{{deriv.label}}</label>
@ -60,6 +60,26 @@
<label class="item-field-label-short">&nbsp;/&nbsp;{{second.max}}</label>
{{/if}}
<input type="text" class="item-field-label-short padd-right" name="system.secondary.{{key}}.bonus" value="{{second.bonus}}" data-dtype="Number"/>
{{#if (eq key "hp")}}
<ul class="stat-list alternate-list item-list hplocation-column">
<li class="item stat flexrow list-item list-item-shadow">
<label class="item-field-label-short">Loc.</label>
<label class="item-field-label-short">Cur</label>
<label class="item-field-label-short">Max</label>
<label class="item-field-label-short">Armor</label>
</li>
{{#each @root.system.hitlocations as |loc key|}}
<li class="item stat flexrow list-item list-item-shadow">
<label class="item-field-label-short">{{loc.label}}</label>
<input type="text" class="item-field-label-short padd-right" name="system.hitlocations.{{key}}.value" value="{{loc.value}}" data-dtype="Number"/>
<label class="item-field-label-short">&nbsp;/&nbsp;{{loc.max}}</label>
<input type="text" class="item-field-label-short padd-right" name="system.hitlocations.{{key}}.armor" value="{{loc.armor}}" data-dtype="Number"/>
</li>
{{/each}}
</ul>
{{/if}}
{{/each}}
</li>
<li class="item stat flexrow list-item list-item-shadow">
@ -102,7 +122,7 @@
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{skill.img}}" />
</a>
<span class="item-field-label-vlong2"><a class="roll-skill">{{skill.name}}</a></span>
<span class="item-field-label-vlong2"><i class="fa-solid fa-dice-d10"></i><a class="roll-skill">{{skill.name}}</a></span>
<span class="item-field-label-medium">{{skill.system.value}}</span>
<span class="item-field-label-long">{{skill.derivated.label}} ({{skill.derivated.value}})</span>
<span class="item-field-label-medium">{{skill.system.bonus}}</span>
@ -125,6 +145,11 @@
<span class="item-name-label-header-long2">
<h3><label class="items-title-text">Perks</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Type</label>
</span>
<div class="item-filler">&nbsp;</div>
<span class="item-field-label-medium">
<label class="short-label">&nbsp;</label>
</span>
@ -134,6 +159,67 @@
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{perk.img}}" />
</a>
<span class="item-field-label-vlong2">{{perk.name}}</span>
<span class="item-field-label-medium margin-left-4"><label>{{perk.system.type}}</label></span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<ul class="alternate-list item-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header-long2">
<h3><label class="items-title-text">Psychic Powers</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Level</label>
</span>
<div class="item-filler">&nbsp;</div>
<span class="item-field-label-medium">
<label class="short-label">&nbsp;</label>
</span>
</li>
{{#each powers as |power key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{power.img}}" />
</a>
<span class="item-field-label-vlong2">{{power.name}}</span>
<span class="item-field-label-medium margin-left-4"><label>{{power.system.level}}</label></span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<ul class="alternate-list item-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header-long2">
<h3><label class="items-title-text">Spells</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Level</label>
</span>
<div class="item-filler">&nbsp;</div>
<span class="item-field-label-medium">
<label class="short-label">&nbsp;</label>
</span>
</li>
{{#each spells as |spell key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{spell._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{spell.img}}" />
</a>
<span class="item-field-label-vlong2">{{spell.name}}</span>
<span class="item-field-label-medium margin-left-4"><label>{{spell.system.level}}</label></span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
@ -150,37 +236,67 @@
<div>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header-long">
<span class="item-name-label-header">
<h3><label class="items-title-text">Weapons</label></h3>
</span>
<span class="item-field-label-short">
<span class="item-field-label-medium">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-long">
<label class="short-label">Skill</label>
</span>
<span class="item-field-label-medium">
<span class="item-field-label-long">
<label class="short-label">Ammo</label>
</span>
<span class="item-field-label-medium margin-left-4">
<label class="short-label">Damage</label>
</span>
<span class="item-field-label-short">
<label class="short-label">BR</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Penetration</label>
</span>
</li>
{{#each equippedWeapons as |weapon key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{weapon.img}}" /></a>
<span class="item-name-label-long"><a class ="roll-weapon">{{weapon.name}}</a></span>
<span class="item-name-label"><a class ="roll-weapon"><i class="fa-solid fa-dice-d10"></i>{{weapon.name}}</a></span>
<span class="item-field-label-short">{{upperFirst weapon.system.weapontype}}</span>
<span class="item-field-label-medium">{{upperFirst weapon.system.weapontype}}</span>
<span class="item-field-label-long">{{weapon.system.skill}}</span>
<span class="item-field-label-long">{{weapon.system.damage}}</span>
<span class="item-field-label-long">{{upperFirst weapon.system.skill}}</span>
{{#if weapon.system.needammo}}
<select class="item-field-label-long edit-weapon-ammo" type="text" data-dtype="String">
{{#select system.ammoid}}
<option value="">None</option>
{{#each @root.ammos as |ammo index|}}
<option value="{{ammo._id}}">{{ammo.name}}</option>
{{/each}}
{{/select}}
</select>
{{#if weapon.ammo}}
<span class="item-field-label-medium margin-left-4"><label>{{weapon.ammo.system.damage}}</label></span>
{{else}}
<span class="item-field-label-medium margin-left-4"><label>-</label></span>
{{/if}}
{{else}}
<span class="item-field-label-long"><label>N/A</label></span>
<span class="item-field-label-medium margin-left-4"><label>{{weapon.system.damage}}</label></span>
{{/if}}
<span class="item-field-label-short">{{weapon.system.br}}</span>
<span class="item-field-label-medium">{{weapon.system.penetrationmin}} - {{weapon.system.penetrationmax}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
@ -296,12 +412,20 @@
<span class="item-name-label-header">
<h3><label class="items-title-text">Weapons</label></h3>
</span>
<span class="item-field-label-short">
<span class="item-field-label-medium">
<label class="short-label">Attack</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Damage</label>
<span class="item-field-label-vlong">
<label class="short-label">Ammo</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Damage</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
@ -311,8 +435,27 @@
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{weapon.img}}" /></a>
<span class="item-name-label">{{weapon.name}}</span>
<span class="item-field-label-short"><label>{{weapon.system.ability}}</label></span>
<span class="item-field-label-short"><label>{{weapon.system.damage}}</label></span>
<span class="item-field-label-medium"><label>{{upperFirst weapon.system.weapontype}}</label></span>
{{#if weapon.system.needammo}}
<select class="item-field-label-vlong edit-weapon-ammo" type="text" data-dtype="String">
{{#select system.ammoid}}
<option value="">None</option>
{{#each @root.ammos as |ammo index|}}
<option value="{{ammo._id}}">{{ammo.name}}</option>
{{/each}}
{{/select}}
</select>
{{#if weapon.ammo}}
<span class="item-field-label-medium"><label>{{weapon.ammo.system.damage}}</label></span>
{{else}}
<span class="item-field-label-medium"><label>-</label></span>
{{/if}}
{{else}}
<span class="item-field-label-vlong"><label>N/A</label></span>
<span class="item-field-label-medium"><label>{{weapon.system.damage}}</label></span>
{{/if}}
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
@ -324,15 +467,47 @@
{{/each}}
</ul>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Ammos</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Quantity</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Damage</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each ammos as |ammo key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{ammo._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{ammo.img}}" /></a>
<span class="item-name-label">{{ammo.name}}</span>
<span class="item-field-label-short"><label>{{ammo.system.quantity}}</label></span>
<span class="item-field-label-short"><label>{{ammo.system.damage}}</label></span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Armors</label></h3>
</span>
<span class="item-field-label-short">
<span class="item-field-label-medium">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-short">
<span class="item-field-label-medium">
<label class="short-label">Absorption</label>
</span>
@ -346,8 +521,8 @@
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{armor.img}}" /></a>
<span class="item-name-label">{{armor.name}}</span>
<span class="item-field-label-short">{{upper armor.system.armortype}}</span>
<span class="item-field-label-short">{{armor.system.absorprionroll}}</span>
<span class="item-field-label-medium">{{upper armor.system.armortype}}</span>
<span class="item-field-label-medium">{{armor.system.absorprionroll}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
@ -389,12 +564,93 @@
{{/each}}
</ul>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Cyber</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Location</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">SP</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">HUP</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="cyber" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each cybers as |cyber key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{cyber._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{cyber.img}}" /></a>
<span class="item-name-label">{{cyber.name}}</span>
<span class="item-field-label-medium">{{cyber.system.upgradelocation}}</span>
<span class="item-field-label-medium">{{cyber.system.sp}}</span>
<span class="item-field-label-medium">{{cyber.system.hup}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-equip" title="Worn">{{#if cyber.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Genetics</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Location</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">SP</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">HUP</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="genetic" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each genetics as |cyber key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{cyber._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{cyber.img}}" /></a>
<span class="item-name-label">{{cyber.name}}</span>
<span class="item-field-label-medium">{{cyber.system.upgradelocation}}</span>
<span class="item-field-label-medium">{{cyber.system.sp}}</span>
<span class="item-field-label-medium">{{cyber.system.hup}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-equip" title="Worn">{{#if cyber.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Equipment</label></h3>
</span>
<span class="item-field-label-long">
<span class="item-field-label-medium">
<label class="short-label">SP</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Running Time</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Quantity</label>
</span>
<div class="item-filler">&nbsp;</div>
@ -403,13 +659,19 @@
</div>
</li>
{{#each containersTree as |equip key|}}
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=equip level=1}}
<ul class="item-list list-item-shadow2 list-item-margin1">
{{#each equip.data.contents as |subgear key|}}
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=subgear level=2}}
{{/each}}
</ul>
{{#each equipments as |equip key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{equip._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{equip.img}}" /></a>
<span class="item-name-label">{{equip.name}}</span>
<span class="item-field-label-medium">{{equip.system.sp}}</span>
<span class="item-field-label-medium">{{equip.system.runningtime}}</span>
<span class="item-field-label-medium">{{equip.system.quantity}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>

View File

@ -24,14 +24,13 @@
{{/if}}
{{#if weapon}}
<li>Weapon : {{weapon.name}}</li>
<li>Location hit : {{upperFirst weaponAiming}} ({{locationMalus}})</li>
{{/if}}
{{#if isAboveEffectiveRange}}
<li>Above effective range: yes, -30% applied</li>
{{/if}}
<li>Bonus/Malus: {{bonusMalus}}% </li>
<li>Final score: {{percentValue}}% </li>
<li>Target Number: {{percentValue}}% </li>
<li>Result: {{diceResult}} </li>
<li>Degrees: {{degrees}} </li>
@ -50,12 +49,21 @@
{{/if}}
{{#if (and weapon isSuccess)}}
{{#if weapon.system.hashpdamage}}
<li>Roll HP Damage: [[/r {{weapon.system.damage}}]]</li>
{{/if}}
{{#if weapon.system.hasfatiguedamage}}
<li>Roll Fatigue Damage: [[/r {{weapon.system.fatiguedamage}}]]</li>
<li>Location hit : {{upperFirst weaponAiming}} ({{locationMalus}})</li>
{{#if weapon.ammo}}
<li>Roll Ammo Damage ({{weapon.ammo.name}}): [[/r {{weapon.ammo.system.damage}}*{{damageMultiplier}}]]</li>
<li>BR: {{weapon.ammo.system.br}}</li>
{{else}}
{{#if weapon.system.hashpdamage}}
<li>Roll HP Damage: [[/r {{weapon.system.damage}}*{{damageMultiplier}}]]</li>
{{/if}}
{{#if weapon.system.hasfatiguedamage}}
<li>Roll Fatigue Damage: [[/r {{weapon.ammo.system.fatiguedamage}}*{{damageMultiplier}}]]</li>
{{/if}}
<li>BR: {{weapon.system.br}}</li>
{{/if}}
<li>Penetration : {{mul weapon.system.penetrationmin damageMultiplier}} - {{mul weapon.system.penetrationmax damageMultiplier}}</li>
{{/if}}
{{#if (and (not isSuccess) rerolls)}}

View File

@ -0,0 +1,56 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
{{> systems/fvtt-dark-stars/templates/partials/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-dark-stars/templates/partials/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<ul>
<li class="flexrow"><label class="item-field-label-long">Damage formula</label>
<input type="text" class="right item-field-label-long" name="system.damage" value="{{system.damage}}" data-dtype="String"/>
</li>
<li class="flexrow"><label class="item-field-label-long">Bulk</label>
<input type="text" class="input-numeric-short padd-right" name="system.bulk" value="{{system.bulk}}" data-dtype="Number"/>
</li>
<li class="flexrow"><label class="item-field-label-long">BR</label>
<input type="text" class="input-numeric-short padd-right" name="system.br" value="{{system.br}}" data-dtype="Number"/>
</li>
<li class="flexrow"><label class="item-field-label-long">SP</label>
<input type="text" class="input-numeric-short padd-right" name="system.sp" value="{{system.sp}}" data-dtype="Number"/>
</li>
<li class="flexrow"><label class="item-field-label-long">Properties</label>
<input type="text" class="right item-field-label-long" name="system.properties" value="{{system.properties}}" data-dtype="String"/>
</li>
<li class="flexrow"><label class="item-field-label-long">Quantity</label>
<input type="text" class="input-numeric-short padd-right" name="system.quantity" value="{{system.quantity}}"
data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Cost</label>
<input type="text" class="input-numeric-short padd-right" name="system.cost" value="{{system.cost}}" data-dtype="Number"/>
</li>
</ul>
</div>
</div>
</section>
</form>

View File

@ -1,25 +1,66 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
</div>
</header>
{{> systems/fvtt-dark-stars/templates/partials/partial-item-nav.hbs}}
{{> systems/fvtt-dark-stars/templates/partials/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-dark-stars/templates/partials/partial-item-description.hbs}}
{{> systems/fvtt-dark-stars/templates/partials/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<ul>
<li class="flexrow"><label class="generic-label">HUP</label>
<input type="text" class="" name="system.hup" value="{{system.hup}}" data-dtype="Number"/>
</li>
</ul>
</div>
</section>
</form>
<div class="tab details" data-group="primary" data-tab="details">
<ul>
<li class="flexrow">
<label class="item-field-label-long">Cyber Type</label>
<select class="item-field-label-vlong" type="text" name="system.cybertype" value="{{system.cybertype}}"
data-dtype="String">
{{#select system.cybertype}}
{{#each config.cyberTypes as |type key|}}
<option value="{{key}}">{{type}}</option>
{{/each}}
{{/select}}
</select>
</li>
<li class="flexrow"><label class="item-field-label-long">Upgrade</label>
<input type="text" class="item-field-label-vlong" name="system.upgrade" value="{{system.upgrade}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Upgrade Location</label>
<input type="text" class="item-field-label-vlong" name="system.upgradelocation" value="{{system.upgradelocation}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Size</label>
<input type="text" class="item-field-label-vlong" name="system.size" value="{{system.size}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Power</label>
<input type="text" class="item-field-label-vlong" name="system.power" value="{{system.power}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">SP</label>
<input type="text" class="item-field-label-short" name="system.sp" value="{{system.sp}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">SDP</label>
<input type="text" class="item-field-label-short" name="system.sdp" value="{{system.sdp}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">HUP</label>
<input type="text" class="item-field-label-vlong" name="system.hup" value="{{system.hup}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Surgery</label>
<input type="text" class="item-field-label-vlong" name="system.surgery" value="{{system.surgery}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Availability</label>
<input type="text" class="item-field-label-vlong" name="system.availability" value="{{system.availability}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Cost</label>
<input type="text" class="item-field-label-short" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
</li>
<!--<li class="flexrow"><label class="item-field-label-long">Equipped ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.equipped" {{checked
system.equipped}} /></label>
</li>-->
</ul>
</div>
</section>
</form>

View File

@ -1,9 +1,9 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
</div>
</header>
{{> systems/fvtt-dark-stars/templates/partials/partial-item-nav.hbs}}
@ -15,20 +15,32 @@
<div class="tab details" data-group="primary" data-tab="details">
<ul>
<li class="flexrow"><label class="item-field-label-long">Equipped ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.equipped" {{checked system.equipped}}/></label>
</li>
<li class="flexrow"><label class="item-field-label-long">Quantity</label>
<input type="text" class="input-numeric-short padd-right" name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
</li>
<li class="flexrow"><label class="item-field-label-long">Bulk</label>
<input type="text" class="input-numeric-short padd-right" name="system.bulk" value="{{system.bulk}}" data-dtype="Number"/>
</li>
<li class="flexrow"><label class="item-field-label-long">Cost</label>
<input type="text" class="input-numeric-short padd-right" name="system.cost" value="{{system.cost}}" data-dtype="Number"/>
</li>
<li class="flexrow"><label class="item-field-label-long">Bulk</label>
<input type="text" class="input-numeric-short padd-right" name="system.bulk" value="{{system.bulk}}"
data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">SP</label>
<input type="text" class="item-field-label-short" name="system.sp" value="{{system.sp}}"
data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Running time</label>
<input type="text" class="item-field-label-short" name="system.runningtime" value="{{system.runningtime}}"
data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Equipped ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.equipped" {{checked
system.equipped}} /></label>
</li>
<li class="flexrow"><label class="item-field-label-long">Quantity</label>
<input type="text" class="input-numeric-short padd-right" name="system.quantity" value="{{system.quantity}}"
data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Cost</label>
<input type="text" class="input-numeric-short padd-right" name="system.cost" value="{{system.cost}}"
data-dtype="Number" />
</li>
</ul>
</div>
</section>
</form>
</form>

View File

@ -14,12 +14,53 @@
{{> systems/fvtt-dark-stars/templates/partials/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<ul>
<li class="flexrow"><label class="generic-label">HUP</label>
<input type="text" class="" name="system.hup" value="{{system.hup}}" data-dtype="Number"/>
</li>
</ul>
<ul>
<li class="flexrow">
<label class="item-field-label-long">Genetic Type</label>
<select class="item-field-label-vlong" type="text" name="system.cybertype" value="{{system.cybertype}}"
data-dtype="String">
{{#select system.cybertype}}
{{#each config.cyberTypes as |type key|}}
<option value="{{key}}">{{type}}</option>
{{/each}}
{{/select}}
</select>
</li>
<li class="flexrow"><label class="item-field-label-long">Upgrade</label>
<input type="text" class="item-field-label-vlong" name="system.upgrade" value="{{system.upgrade}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Upgrade Location</label>
<input type="text" class="item-field-label-vlong" name="system.upgradelocation" value="{{system.upgradelocation}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Size</label>
<input type="text" class="item-field-label-vlong" name="system.size" value="{{system.size}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Power</label>
<input type="text" class="item-field-label-vlong" name="system.power" value="{{system.power}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">SP</label>
<input type="text" class="item-field-label-short" name="system.sp" value="{{system.sp}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">SDP</label>
<input type="text" class="item-field-label-short" name="system.sdp" value="{{system.sdp}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">HUP</label>
<input type="text" class="item-field-label-vlong" name="system.hup" value="{{system.hup}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Surgery</label>
<input type="text" class="item-field-label-vlong" name="system.surgery" value="{{system.surgery}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Availability</label>
<input type="text" class="item-field-label-vlong" name="system.availability" value="{{system.availability}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Cost</label>
<input type="text" class="item-field-label-short" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
</li>
<!--<li class="flexrow"><label class="item-field-label-long">Equipped ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.equipped" {{checked
system.equipped}} /></label>
</li>-->
</ul>
</div>
</section>
</form>

View File

@ -0,0 +1,39 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
</div>
</header>
{{> systems/fvtt-dark-stars/templates/partials/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-dark-stars/templates/partials/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<ul>
<li class="flexrow"><label class="item-field-label-long">Level</label>
<input type="text" class="item-field-label-short" name="system.level" value="{{system.level}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">EGO cost</label>
<input type="text" class="item-field-label-short" name="system.egocost" value="{{system.egocost}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Range</label>
<input type="text" class="item-field-label-short" name="system.range" value="{{system.range}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Experience Cost</label>
<input type="text" class="item-field-label-short" name="system.xpcost" value="{{system.xpcost}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Duration</label>
<input type="text" class="item-field-label-vlong" name="system.duration" value="{{system.duration}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Effects</label>
<input type="text" class="item-field-label-vlong" name="system.effect" value="{{system.effect}}" data-dtype="String" />
</li>
</ul>
</div>
</section>
</form>

View File

@ -0,0 +1,70 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
</div>
</header>
{{> systems/fvtt-dark-stars/templates/partials/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-dark-stars/templates/partials/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<ul>
<li class="flexrow">
<label class="item-field-label-long">Magic Type</label>
<select class="item-field-label-vlong" type="text" name="system.magictype" value="{{system.magictype}}"
data-dtype="String">
{{#select system.magictype}}
{{#each config.magicTypes as |type key|}}
<option value="{{key}}">{{type}}</option>
{{/each}}
{{/select}}
</select>
</li>
<li class="flexrow"><label class="item-field-label-long">Experience</label>
<input type="text" class="item-field-label-short" name="system.experience" value="{{system.experience}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Fatigue Points</label>
<input type="text" class="item-field-label-short" name="system.fatiguepoints" value="{{system.fatiguepoints}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Essence</label>
<input type="text" class="item-field-label-short" name="system.essencevalue" value="{{system.essencevalue}}" data-dtype="Number" />
<input type="text" class="item-field-label-vlong" name="system.essencestr1" value="{{system.essencestr1}}" data-dtype="String" />
<input type="text" class="item-field-label-vlong" name="system.essencestr2" value="{{system.essencestr2}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Effects</label>
<input type="text" class="item-field-label-vlong" name="system.effect" value="{{system.effect}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Spheres</label>
<input type="text" class="item-field-label-vlong" name="system.sphere" value="{{system.sphere}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Humanity</label>
<input type="text" class="item-field-label-vlong" name="system.humanity" value="{{system.humanity}}" data-dtype="String" />
</li>
<li class="flexrow"><label class="item-field-label-long">Level</label>
<input type="text" class="item-field-label-short" name="system.level" value="{{system.level}}" data-dtype="Number" />
</li>
{{#if (eq system.magictype "lemurian")}}
<li class="flexrow"><label class="item-field-label-long">Words of Power</label>
<input type="text" class="item-field-label-short" name="system.wordsofpower" value="{{system.wordsofpower}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Signs</label>
<input type="text" class="item-field-label-short" name="system.signs" value="{{system.signs}}" data-dtype="Number" />
</li>
<li class="flexrow"><label class="item-field-label-long">Cherished Items</label>
<input type="text" class="item-field-label-short" name="system.cherisheditems" value="{{system.cherisheditems}}" data-dtype="Number" />
</li>
{{/if}}
<!--<li class="flexrow"><label class="item-field-label-long">Equipped ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.equipped" {{checked
system.equipped}} /></label>
</li>-->
</ul>
</div>
</section>
</form>

View File

@ -47,22 +47,30 @@
<input type="text" class="right item-field-label-long" name="system.penetrationmax" value="{{system.penetrationmax}}" data-dtype="String"/>
</li>
<li class="flexrow"><label class="item-field-label-vlong">HP damage ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.hashpdamage" {{checked system.hashpdamage}}/></label>
<li class="flexrow"><label class="item-field-label-vlong">Needs Ammunition ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.needammo" {{checked system.needammo}}/></label>
</li>
{{#if system.hashpdamage}}
<li class="flexrow"><label class="item-field-label-vlong">HP Damage formula</label>
<input type="text" class="right item-field-label-long" name="system.damage" value="{{system.damage}}" data-dtype="String"/>
</li>
{{/if}}
<li class="flexrow"><label class="item-field-label-vlong">Fatigue damage ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.hasfatiguedamage" {{checked system.hasfatiguedamage}}/></label>
</li>
{{#if system.hasfatiguedamage}}
<li class="flexrow"><label class="item-field-label-vlong">Fatigue damage formula</label>
<input type="text" class="right item-field-label-long" name="system.fatiguedamage" value="{{system.fatiguedamage}}" data-dtype="String"/>
</li>
{{#if system.needammo}}
{{else}}
<li class="flexrow"><label class="item-field-label-vlong">HP damage ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.hashpdamage" {{checked system.hashpdamage}}/></label>
</li>
{{#if system.hashpdamage}}
<li class="flexrow"><label class="item-field-label-vlong">HP Damage formula</label>
<input type="text" class="right item-field-label-long" name="system.damage" value="{{system.damage}}" data-dtype="String"/>
</li>
{{/if}}
<li class="flexrow"><label class="item-field-label-vlong">Fatigue damage ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.hasfatiguedamage" {{checked system.hasfatiguedamage}}/></label>
</li>
{{#if system.hasfatiguedamage}}
<li class="flexrow"><label class="item-field-label-vlong">Fatigue damage formula</label>
<input type="text" class="right item-field-label-long" name="system.fatiguedamage" value="{{system.fatiguedamage}}" data-dtype="String"/>
</li>
{{/if}}
{{/if}}
<li class="flexrow"><label class="item-field-label-long">Bulk</label>

View File

@ -10,4 +10,5 @@
<option value="vehicle">Vehicles</option>
<option value="clothing">Clothing</option>
<option value="ammo">Ammo</option>
<option value="program">Program</option>
<option value="misc">Misc</option>