@ -1,383 +0,0 @@
|
||||
# Ability JSON Schema Documentation
|
||||
|
||||
> This document explains the structure of ability definition files used in the system.
|
||||
> It is intended for **wiki contributors** and **tool developers** alike.
|
||||
|
||||
---
|
||||
|
||||
## Top-Level Structure
|
||||
|
||||
Every ability file follows this wrapper:
|
||||
|
||||
```json
|
||||
{
|
||||
"abilities": {
|
||||
"id": "namespace:category/name",
|
||||
"displayName": "translation.key.for.name",
|
||||
"description": "translation.key.for.description",
|
||||
"math": [ ...nodes ]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|---------------|--------|----------|-------------|
|
||||
| `id` | string | ✅ | Unique ID in `namespace:category/name` format |
|
||||
| `displayName` | string | ✅ | i18n translation key for the display name |
|
||||
| `description` | string | ✅ | i18n translation key for the tooltip/description |
|
||||
| `math` | array | ✅ | Ordered list of effect nodes (see below) |
|
||||
|
||||
---
|
||||
|
||||
## The `id` Format
|
||||
|
||||
IDs follow the pattern: `namespace:category/name`
|
||||
|
||||
| Part | Example | Notes |
|
||||
|-------------|---------------|-------|
|
||||
| `namespace` | `original` | The mod or source that owns this ability |
|
||||
| `category` | `fire` | The element, school, or grouping |
|
||||
| `name` | `fireball` | The specific ability |
|
||||
|
||||
**Examples:**
|
||||
- `original:fire/fireball`
|
||||
- `original:ice/frost_bolt`
|
||||
- `mymod:arcane/void_lance`
|
||||
|
||||
---
|
||||
|
||||
## Translation Keys
|
||||
|
||||
`displayName` and `description` are **not raw text** — they are keys looked up in a translation file.
|
||||
|
||||
**Convention:** `ability.<namespace>.<name>.<field>`
|
||||
|
||||
| Field | Example Key |
|
||||
|---------------|--------------------------------------|
|
||||
| `displayName` | `ability.original.fireball.name` |
|
||||
| `description` | `ability.original.fireball.description` |
|
||||
|
||||
---
|
||||
|
||||
## Math Nodes
|
||||
|
||||
The `math` array is the heart of an ability. Each node is an object with at minimum:
|
||||
|
||||
```json
|
||||
{ "id": "unique_node_id", "type": "node_type", ...fields }
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|--------|--------|----------|-------------|
|
||||
| `id` | string | ✅ | Unique name for this node within the ability |
|
||||
| `type` | string | ✅ | Determines what this node does (see types below) |
|
||||
|
||||
---
|
||||
|
||||
## Node Types
|
||||
|
||||
---
|
||||
|
||||
### `base_value`
|
||||
The foundational damage or healing number, before any modifiers.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "base_damage",
|
||||
"type": "base_value",
|
||||
"amount": 50,
|
||||
"scaling": { "stat": "spell_power", "multiplier": 1.5 }
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|--------------------|--------|----------|-------------|
|
||||
| `amount` | number | ✅ | The flat base value |
|
||||
| `scaling.stat` | string | ✅ | Which player stat to scale from |
|
||||
| `scaling.multiplier` | number | ✅ | How much of that stat to add (`stat × multiplier`) |
|
||||
|
||||
> **Formula:** `final = amount + (player[stat] × multiplier)`
|
||||
|
||||
---
|
||||
|
||||
### `range`
|
||||
How far the ability can reach and how it travels.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "cast_range",
|
||||
"type": "range",
|
||||
"min": 0,
|
||||
"max": 30,
|
||||
"unit": "meters",
|
||||
"rangeType": "projectile"
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|-------------|--------|----------|-------------|
|
||||
| `min` | number | ✅ | Minimum range (use `> 0` for dead zones) |
|
||||
| `max` | number | ✅ | Maximum range (`null` = unlimited) |
|
||||
| `unit` | string | ✅ | `"meters"` |
|
||||
| `rangeType` | string | ✅ | `projectile`, `hitscan`, `melee`, `aura` |
|
||||
|
||||
---
|
||||
|
||||
### `area_of_effect`
|
||||
Defines the shape and spread of the ability's impact zone.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "explosion",
|
||||
"type": "area_of_effect",
|
||||
"shape": "sphere",
|
||||
"radius": 5,
|
||||
"unit": "meters",
|
||||
"falloff": "linear"
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|-----------|--------|----------|-------------|
|
||||
| `shape` | string | ✅ | `sphere`, `cone`, `cylinder`, `line` |
|
||||
| `radius` | number | ✅ | Size of the AoE |
|
||||
| `unit` | string | ✅ | `"meters"` |
|
||||
| `falloff` | string | ✅ | `none`, `linear`, `quadratic` — how damage drops off at edges |
|
||||
|
||||
---
|
||||
|
||||
### `damage`
|
||||
Instant damage dealt. Supports **multiple damage types** in one node via `sources`.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "instant_damage",
|
||||
"type": "damage",
|
||||
"sources": [
|
||||
{
|
||||
"damageType": "fire",
|
||||
"base_value": 50,
|
||||
"scaling": { "stat": "spell_power", "multiplier": 1.5 }
|
||||
},
|
||||
{
|
||||
"damageType": "physical",
|
||||
"base_value": 15,
|
||||
"scaling": { "stat": "strength", "multiplier": 0.5 }
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|--------------------------|--------|----------|-------------|
|
||||
| `sources` | array | ✅ | One entry per damage type |
|
||||
| `sources[].damageType` | string | ✅ | e.g. `fire`, `physical`, `lightning`, `poison` |
|
||||
| `sources[].base_value` | number | ✅ | Flat damage for this type |
|
||||
| `sources[].scaling` | object | ✅ | Same `stat` / `multiplier` structure as `base_value` |
|
||||
|
||||
> **Note:** Multiple sources are applied **independently** — each scales off its own stat.
|
||||
|
||||
---
|
||||
|
||||
### `damage_over_time`
|
||||
Repeating damage applied in ticks after the initial hit.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "burn_dot",
|
||||
"type": "damage_over_time",
|
||||
"damageType": "fire",
|
||||
"damage_per_tick": 10,
|
||||
"tick_interval_seconds": 1,
|
||||
"duration_seconds": 5,
|
||||
"scaling": { "stat": "spell_power", "multiplier": 0.3 },
|
||||
"stacks": false
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|-------------------------|---------|----------|-------------|
|
||||
| `damageType` | string | ✅ | Damage type per tick |
|
||||
| `damage_per_tick` | number | ✅ | Flat damage each tick |
|
||||
| `tick_interval_seconds` | number | ✅ | Seconds between ticks |
|
||||
| `duration_seconds` | number | ✅ | Total duration |
|
||||
| `scaling` | object | ✅ | Same `stat` / `multiplier` structure |
|
||||
| `stacks` | boolean | ✅ | `true` = re-applying adds a new stack; `false` = resets timer |
|
||||
|
||||
> **Total ticks:** `duration_seconds / tick_interval_seconds`
|
||||
|
||||
---
|
||||
|
||||
### `condition`
|
||||
A status effect or triggered reaction applied to the target.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "ignite_debuff",
|
||||
"type": "condition",
|
||||
"chance": 0.75,
|
||||
"duration_seconds": 5,
|
||||
"effect": "reduce_fire_resistance",
|
||||
"magnitude": -20
|
||||
}
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "explosion_knockback",
|
||||
"type": "condition",
|
||||
"chance": 1.0,
|
||||
"effect": "knockback",
|
||||
"force": 8,
|
||||
"direction": "away_from_origin"
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|--------------------|--------|----------|-------------|
|
||||
| `chance` | number | ✅ | Probability `0.0`–`1.0` (`1.0` = always) |
|
||||
| `effect` | string | ✅ | The condition to apply — mapped by the engine |
|
||||
| `duration_seconds` | number | ❌ | How long the condition lasts (omit for instant effects) |
|
||||
| `magnitude` | number | ❌ | Numeric modifier for stat-changing effects |
|
||||
| `force` | number | ❌ | For displacement effects like knockback |
|
||||
| `direction` | string | ❌ | `away_from_origin`, `toward_origin`, `up` |
|
||||
|
||||
> Multiple `condition` nodes are rolled **independently** per hit.
|
||||
|
||||
---
|
||||
|
||||
### `meta`
|
||||
Gameplay configuration — cooldowns, costs, and tags.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "fireball_meta",
|
||||
"type": "meta",
|
||||
"cooldown_seconds": 12,
|
||||
"mana_cost": 80,
|
||||
"cast_time_seconds": 1.5,
|
||||
"tags": ["fire", "aoe", "projectile", "dot"]
|
||||
}
|
||||
```
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|----------------------|----------|----------|-------------|
|
||||
| `cooldown_seconds` | number | ✅ | Recharge time after use |
|
||||
| `mana_cost` | number | ✅ | Resource cost to cast |
|
||||
| `cast_time_seconds` | number | ✅ | Time before the ability fires (`0` = instant) |
|
||||
| `tags` | string[] | ✅ | Used for filtering, synergies, and resistances |
|
||||
|
||||
---
|
||||
|
||||
## Complete Example — Fireball
|
||||
|
||||
```json
|
||||
{
|
||||
"abilities": {
|
||||
"id": "original:fire/fireball",
|
||||
"displayName": "ability.original.fireball.name",
|
||||
"description": "ability.original.fireball.description",
|
||||
"math": [
|
||||
{
|
||||
"id": "base_damage",
|
||||
"type": "base_value",
|
||||
"amount": 50,
|
||||
"scaling": { "stat": "spell_power", "multiplier": 1.5 }
|
||||
},
|
||||
{
|
||||
"id": "cast_range",
|
||||
"type": "range",
|
||||
"min": 0,
|
||||
"max": 30,
|
||||
"unit": "meters",
|
||||
"rangeType": "projectile"
|
||||
},
|
||||
{
|
||||
"id": "explosion",
|
||||
"type": "area_of_effect",
|
||||
"shape": "sphere",
|
||||
"radius": 5,
|
||||
"unit": "meters",
|
||||
"falloff": "linear"
|
||||
},
|
||||
{
|
||||
"id": "instant_damage",
|
||||
"type": "damage",
|
||||
"sources": [
|
||||
{
|
||||
"damageType": "fire",
|
||||
"base_value": 50,
|
||||
"scaling": { "stat": "spell_power", "multiplier": 1.5 }
|
||||
},
|
||||
{
|
||||
"damageType": "physical",
|
||||
"base_value": 15,
|
||||
"scaling": { "stat": "strength", "multiplier": 0.5 }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "burn_dot",
|
||||
"type": "damage_over_time",
|
||||
"damageType": "fire",
|
||||
"damage_per_tick": 10,
|
||||
"tick_interval_seconds": 1,
|
||||
"duration_seconds": 5,
|
||||
"scaling": { "stat": "spell_power", "multiplier": 0.3 },
|
||||
"stacks": false
|
||||
},
|
||||
{
|
||||
"id": "ignite_debuff",
|
||||
"type": "condition",
|
||||
"chance": 0.75,
|
||||
"duration_seconds": 5,
|
||||
"effect": "reduce_fire_resistance",
|
||||
"magnitude": -20
|
||||
},
|
||||
{
|
||||
"id": "explosion_knockback",
|
||||
"type": "condition",
|
||||
"chance": 1.0,
|
||||
"effect": "knockback",
|
||||
"force": 8,
|
||||
"direction": "away_from_origin"
|
||||
},
|
||||
{
|
||||
"id": "fireball_meta",
|
||||
"type": "meta",
|
||||
"cooldown_seconds": 12,
|
||||
"mana_cost": 80,
|
||||
"cast_time_seconds": 1.5,
|
||||
"tags": ["fire", "aoe", "projectile", "dot"]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference Card
|
||||
|
||||
| Node Type | Purpose | Key Fields |
|
||||
|-------------------|-------------------------------------|------------|
|
||||
| `base_value` | Core damage number + stat scaling | `amount`, `scaling` |
|
||||
| `range` | How far & how the ability travels | `min`, `max`, `rangeType` |
|
||||
| `area_of_effect` | Shape & spread of impact zone | `shape`, `radius`, `falloff` |
|
||||
| `damage` | Instant hit damage (multi-type ok) | `sources[]` |
|
||||
| `damage_over_time`| Tick damage over time | `damage_per_tick`, `tick_interval_seconds`, `duration_seconds`, `stacks` |
|
||||
| `condition` | Status effects & reactions | `chance`, `effect`, `duration_seconds` |
|
||||
| `meta` | Cooldown, cost, cast time, tags | `cooldown_seconds`, `mana_cost`, `cast_time_seconds`, `tags` |
|
||||
|
||||
---
|
||||
|
||||
## Rules & Conventions
|
||||
|
||||
1. Every ability **must** have at least one `meta` node.
|
||||
2. `id` values must be **unique within the same ability file** — use descriptive names.
|
||||
3. `displayName` and `description` must be **translation keys**, never raw text.
|
||||
4. The `math` array is processed **top to bottom** — order matters for dependent effects.
|
||||
5. `damage` nodes should come **after** any `area_of_effect` nodes that modify their area.
|
||||
6. A `damage_over_time` node is **separate** from `damage` — both can coexist freely.
|
||||
7. Multiple `condition` nodes are each rolled independently.
|
||||
8. `tags` on the `meta` node are used by the engine for resistance checks, talent synergies, and UI filtering.
|
||||
191
Panel_Admin.md
@ -1,191 +0,0 @@
|
||||
# Admin Panel
|
||||
## - Items List
|
||||
### Panel Setup
|
||||
- Tags (Dynamic)
|
||||
- Default (all)
|
||||
- Alloys
|
||||
- Circuits
|
||||
- Customizables
|
||||
- Ingots
|
||||
- Materials
|
||||
- Ores
|
||||
- Personal
|
||||
- Shop
|
||||
- Space Ships
|
||||
- Shields
|
||||
- Weapons
|
||||
## - Hostiles List
|
||||
### Panel Setup
|
||||
- Tags (Dynamic)
|
||||
- Default (all)
|
||||
- Ground Units
|
||||
- Space Ships
|
||||
## - Player List
|
||||
- Tags (Dynamic)
|
||||
- Default (all)
|
||||
- Members
|
||||
- Moderators
|
||||
- Admins
|
||||
## - Permissions
|
||||
### Panel hierarchy
|
||||
- Roles (Static)
|
||||
- Edit
|
||||
- Role Tag
|
||||
- Role Name
|
||||
- Permission Nodes
|
||||
- Chat Font Color
|
||||
- New
|
||||
- Role Tag
|
||||
- Role Name
|
||||
- Permission Nodes
|
||||
- Chat Font Color
|
||||
- Users (Static)
|
||||
- Edit
|
||||
- Permission Nodes
|
||||
# Permission Nodes
|
||||
### Default Roles
|
||||
- Members Permission Nodes
|
||||
- permission.node.player.text.chat
|
||||
- permission.node.player.text.chat.emote
|
||||
- permission.node.player.text.chat.message
|
||||
- permission.node.player.text.chat.message.direct
|
||||
- permission.node.player.text.color.name
|
||||
- permission.node.guild.join
|
||||
- Moderator Permission Nodes
|
||||
- global.roles.members.*
|
||||
- permission.node.player.server.ban
|
||||
- permission.node.player.server.timeout
|
||||
- permission.node.player.server.unban
|
||||
- permission.node.player.text.ban
|
||||
- permission.node.player.text.timeout.["timeinseconds"]
|
||||
- permission.node.player.text.unban
|
||||
- Admin Permission Nodes
|
||||
- global.roles.moderators.*
|
||||
- permission.node.player.clean.database.all
|
||||
- permission.node.player.clean.database.item
|
||||
- permission.node.player.clean.inventory.all
|
||||
- permission.node.player.clean.inventory.item
|
||||
- permission.node.player.console
|
||||
- permission.node.player.give.exp
|
||||
- permission.node.player.give.item
|
||||
- permission.node.player.give.skill
|
||||
- permission.node.player.permission.add.["permission.node.*"]
|
||||
- permission.node.player.permission.edit.["permission.node.*"]
|
||||
- permission.node.player.permission.remove.["permission.node.*"]
|
||||
- permission.node.player.role.add.["permission.node.*"]
|
||||
- permission.node.player.role.edit
|
||||
- permission.node.player.role.give
|
||||
- permission.node.player.role.hierarchy
|
||||
- permission.node.player.role.new
|
||||
- permission.node.player.role.remove
|
||||
- permission.node.player.role.remove.["permission.node.*"]
|
||||
- Super Admin Permission Nodes (First Person On Server)
|
||||
- permission.node.player.bypass
|
||||
### Extra Nodes
|
||||
- permission.node.tab.*.(allow/deny)
|
||||
- permission.node.tab.dashboard.(allow/deny)
|
||||
- permission.node.tab.dungeons.*
|
||||
- ["permission.node.tab.dungeons.{datapackId}.{dungeonId}.(allow/deny)"]
|
||||
- permission.node.tab.skills.*
|
||||
- ["permission.node.tab.skills.{datapackId}.{skillsId}.(allow/deny)"]
|
||||
- permission.node.tab.inventory.*
|
||||
- ["permission.node.tab.inventory.{datapackId}.{core_systemId}.(allow/deny)"]
|
||||
- permission.node.tab.shop.*
|
||||
- ["permission.node.tab.shop.{datapackId}.{shopId}.(allow/deny)"]
|
||||
- permission.node.tab.crafting.*
|
||||
- ["permission.node.tab.crafting.{datapackId}.{craftingId}.(allow/deny)"]
|
||||
- permission.node.tab.admin.*
|
||||
- ["permission.node.tab.admin.{datapackId}.{adminId}.(allow/deny)"]
|
||||
- permission.node.tab.chat.*
|
||||
- ["permission.node.tab.chat.{datapackId}.{chatId}.(allow/deny)"]
|
||||
- permission.node.tab.alerts.(allow/deny)
|
||||
- permission.node.generate.credits.online.*.(allow/deny)
|
||||
- permission.node.generate.credits.offline.*.(allow/deny)
|
||||
- permission.node.generate.datacores.online.*.(allow/deny)
|
||||
- permission.node.generate.datacores.offline.*.(allow/deny)
|
||||
- permission.node.player.nickname.(allow/deny)
|
||||
- permission.node.player.text.color.(allow/deny)
|
||||
- permission.node.player.text.emote.(allow/deny)
|
||||
### Guild Type Permissions
|
||||
- guild.roles.*
|
||||
- permission.node.guild.admin.*
|
||||
- permission.node.guild.admin.alliance.*
|
||||
- permission.node.guild.admin.alliance.create
|
||||
- permission.node.guild.admin.alliance.join
|
||||
- permission.node.guild.admin.alliance.leave
|
||||
- permission.node.guild.admin.manage.*
|
||||
- permission.node.guild.admin.manage.base.*
|
||||
- permission.node.guild.admin.manage.base.type.*
|
||||
- permission.node.guild.admin.manage.base.type.booster.*
|
||||
- permission.node.guild.admin.manage.base.type.booster.{integar}
|
||||
- permission.node.guild.admin.manage.base.type.mine
|
||||
- permission.node.guild.admin.manage.base.type.mine.{integar}
|
||||
- permission.node.guild.admin.manage.base.type.research.*
|
||||
- permission.node.guild.admin.manage.base.type.research.{{datapackId}.{researchId}}
|
||||
- permission.node.guild.admin.manage.base.type.storage.*
|
||||
- permission.node.guild.admin.manage.base.type.storage.{integar}
|
||||
- permission.node.guild.admin.manage.base.type.storage.{integar}.name
|
||||
- permission.node.guild.admin.manage.base.type.storage.{integer}.limit.*
|
||||
- permission.node.guild.admin.manage.base.type.storage.{integar}.limit.add
|
||||
- permission.node.guild.admin.manage.base.type.storage.{integar}.limit.remove
|
||||
- permission.node.guild.admin.manage.base.type.storage.{integar}.hidden
|
||||
- permission.node.guild.admin.manage.message.announcement
|
||||
- permission.node.guild.admin.manage.message.day
|
||||
- permission.node.guild.admin.manage.message.recuitement
|
||||
- permission.node.guild.admin.manage.name
|
||||
- permission.node.guild.admin.manage.role.*
|
||||
- permission.node.guild.admin.manage.role.create
|
||||
- permission.node.guild.admin.manage.role.delete
|
||||
- permission.node.guild.admin.manage.role.edit.*
|
||||
- permission.node.guild.admin.manage.role.edit.hierarchy
|
||||
- permission.node.guild.admin.manage.role.edit.name
|
||||
- permission.node.guild.admin.manage.role.edit.permission
|
||||
- permission.node.guild.invite
|
||||
- permission.node.guild.join
|
||||
- permission.node.guild.storage.*
|
||||
- permission.node.guild.storage.add.*
|
||||
- permission.node.guild.storage.add.{integer}
|
||||
- permission.node.guild.storage.hidden.{integer}
|
||||
- permission.node.guild.storage.remove.*
|
||||
- permission.node.guild.storage.remove.{integer}
|
||||
- permission.node.guild.text.chat.message.["guild.roles.*"]
|
||||
### Alliance Type Permissions
|
||||
- alliance.roles.*
|
||||
- permission.node.alliance.admin.*
|
||||
- permission.node.alliance.admin.manage.*
|
||||
- permission.node.alliance.admin.manage.base.*
|
||||
- permission.node.alliance.admin.manage.base.type.*
|
||||
- permission.node.alliance.admin.manage.base.type.booster.*
|
||||
- permission.node.alliance.admin.manage.base.type.booster.{integar}
|
||||
- permission.node.alliance.admin.manage.base.type.mine
|
||||
- permission.node.alliance.admin.manage.base.type.mine.{integar}
|
||||
- permission.node.alliance.admin.manage.base.type.research.*
|
||||
- permission.node.alliance.admin.manage.base.type.research.{{datapackId}.{researchId}}
|
||||
- permission.node.alliance.admin.manage.base.type.storage.*
|
||||
- permission.node.alliance.admin.manage.base.type.storage.{integar}
|
||||
- permission.node.alliance.admin.manage.base.type.storage.{integar}.name
|
||||
- permission.node.alliance.admin.manage.base.type.storage.{integer}.limit.*
|
||||
- permission.node.alliance.admin.manage.base.type.storage.{integar}.limit.add
|
||||
- permission.node.alliance.admin.manage.base.type.storage.{integar}.limit.remove
|
||||
- permission.node.alliance.admin.manage.base.type.storage.{integar}.hidden
|
||||
- permission.node.alliance.admin.manage.kick
|
||||
- permission.node.alliance.admin.manage.message.announcement
|
||||
- permission.node.alliance.admin.manage.message.day
|
||||
- permission.node.alliance.admin.manage.message.recuitement
|
||||
- permission.node.alliance.admin.manage.name
|
||||
- permission.node.alliance.admin.manage.role.*
|
||||
- permission.node.alliance.admin.manage.role.create
|
||||
- permission.node.alliance.admin.manage.role.delete
|
||||
- permission.node.alliance.admin.manage.role.edit.*
|
||||
- permission.node.alliance.admin.manage.role.edit.hierarchy
|
||||
- permission.node.alliance.admin.manage.role.edit.name
|
||||
- permission.node.alliance.admin.manage.role.edit.permission
|
||||
- permission.node.alliance.invite
|
||||
- permission.node.alliance.join
|
||||
- permission.node.alliance.storage.*
|
||||
- permission.node.alliance.storage.add.*
|
||||
- permission.node.alliance.storage.add.{integer}
|
||||
- permission.node.alliance.storage.hidden.{integer}
|
||||
- permission.node.alliance.storage.remove.*
|
||||
- permission.node.alliance.storage.remove.{integer}
|
||||
- permission.node.alliance.text.chat.message.["alliance.roles.*"]
|
||||
@ -1,18 +0,0 @@
|
||||
# Quests Panel
|
||||
## Quests new variables
|
||||
```js
|
||||
{
|
||||
"quests": {
|
||||
"id": "datapackID:questID",
|
||||
"displayName": "items.materials.original.quest.quest_name",
|
||||
"description": "items.materials.original.quest.quest_name.desc",
|
||||
"repeatable": boolean,
|
||||
"questType": String,
|
||||
"requiredDone": [],
|
||||
"unlockRequirements": [],
|
||||
"onFinish": [],
|
||||
"meta": {
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -1,20 +0,0 @@
|
||||
# Store Panel
|
||||
## Items new variables
|
||||
```js
|
||||
{
|
||||
"materials": {
|
||||
"id": "original:ore_coal",
|
||||
"texture": "original/assets/textures/materials/ore/coal.png",
|
||||
"displayName": "items.materials.original.ores.coal",
|
||||
"description": "items.materials.original.ores.coal.desc",
|
||||
"meta": {
|
||||
"storeCategory": "original:materials",
|
||||
"storeFeaturedDiscountPercentage": 0.5,
|
||||
"storeFeaturedShowWeight": 10, #Higher number harder for role.
|
||||
"storePrice": 50,
|
||||
"storeSellValue": 10,
|
||||
"storeShowWeight": 10 #Higher number harder for role.
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -1,23 +0,0 @@
|
||||
{
|
||||
"name": "api",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"start": "node ./src/index.js"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"type": "commonjs",
|
||||
"dependencies": {
|
||||
"bcryptjs": "^3.0.3",
|
||||
"cors": "^2.8.6",
|
||||
"dotenv": "^17.3.1",
|
||||
"express": "^5.2.1",
|
||||
"jsonwebtoken": "^9.0.3",
|
||||
"mongoose": "^9.3.0",
|
||||
"socket.io": "^4.8.3"
|
||||
}
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
require("dotenv").config();
|
||||
|
||||
if (!process.env.MONGODB_URI) {
|
||||
console.error("❌ ERROR: MONGODB_URI is not defined in .env file");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const config = {
|
||||
mongodbUri: process.env.MONGODB_URI,
|
||||
port: process.env.PORT || 3000,
|
||||
isProduction: process.env.NODE_ENV === "production",
|
||||
gameServerSecret: process.env.GAME_SERVER_SECRET || "secret",
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
@ -1,25 +0,0 @@
|
||||
const authService = require("../services/authService");
|
||||
|
||||
const registerUser = async (req, res) => {
|
||||
try {
|
||||
const user = await authService.register(req.body);
|
||||
res.status(201).json(user);
|
||||
} catch (error) {
|
||||
res.status(400).json({ message: error.message });
|
||||
}
|
||||
};
|
||||
|
||||
const loginUser = async (req, res) => {
|
||||
try {
|
||||
const { email, password } = req.body;
|
||||
const user = await authService.login(email, password);
|
||||
res.status(200).json(user);
|
||||
} catch (error) {
|
||||
res.status(401).json({ message: error.message });
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
registerUser,
|
||||
loginUser,
|
||||
};
|
||||
@ -1,73 +0,0 @@
|
||||
const serverService = require("../services/serverService");
|
||||
const config = require("../config/config.js");
|
||||
|
||||
const register = async (req, res) => {
|
||||
try {
|
||||
const { name, url, secret, region, description } = req.body;
|
||||
|
||||
if (secret !== process.env.GAME_SERVER_SECRET) {
|
||||
console.warn(`⚠️ Unauthorized registration attempt for server: ${name}`);
|
||||
return res.status(401).json({ message: "Unauthorized server" });
|
||||
}
|
||||
|
||||
await serverService.registerGameServer({ name, url, region, description });
|
||||
res.json({ message: "Server registered successfully" });
|
||||
} catch (error) {
|
||||
console.error(`❌ Registration error: ${error.message}`);
|
||||
res.status(500).json({ message: "Internal server error" });
|
||||
}
|
||||
};
|
||||
const heartbeat = async (req, res) => {
|
||||
const { name, secret, playersOnline } = req.body;
|
||||
|
||||
if (secret !== process.env.GAME_SERVER_SECRET) {
|
||||
return res.status(401).json({ message: "Unauthorized" });
|
||||
}
|
||||
try {
|
||||
await serverService.updateHeartbeat(name, playersOnline);
|
||||
res.json({ status: "ok" });
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: error.message });
|
||||
}
|
||||
};
|
||||
|
||||
const list = async (req, res) => {
|
||||
try {
|
||||
const servers = await serverService.getAvailableServers();
|
||||
res.json(servers);
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Error fetching servers" });
|
||||
}
|
||||
};
|
||||
const join = async (req, res) => {
|
||||
try {
|
||||
const { serverId } = req.body;
|
||||
|
||||
if (!serverId) {
|
||||
return res.status(400).json({ message: "Server ID is required" });
|
||||
}
|
||||
|
||||
const server = await serverService.getServerConnectionDetails(serverId);
|
||||
if (!server) {
|
||||
return res.status(404).json({ message: "Server not found or offline" });
|
||||
}
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
connectUrl: server.url,
|
||||
port: server.port,
|
||||
serverName: server.name,
|
||||
description: server.description,
|
||||
region: server.region,
|
||||
});
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Error processing join request" });
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
register,
|
||||
heartbeat,
|
||||
list,
|
||||
join,
|
||||
};
|
||||
@ -1,19 +0,0 @@
|
||||
const mongoose = require("mongoose");
|
||||
const config = require("../config/config.js");
|
||||
|
||||
const connectDB = async () => {
|
||||
try {
|
||||
const conn = await mongoose.connect(config.mongodbUri);
|
||||
|
||||
console.log(`MongoDB Connected: ${conn.connection.host}`);
|
||||
} catch (error) {
|
||||
console.error(`Error connecting to MongoDB: ${error.message}`);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
mongoose.connection.on("disconnected", () => {
|
||||
console.warn("MongoDB disconnected!");
|
||||
});
|
||||
|
||||
module.exports = connectDB;
|
||||
@ -1,33 +0,0 @@
|
||||
const express = require("express");
|
||||
const cors = require("cors");
|
||||
const config = require("./config/config.js");
|
||||
const connectDB = require("./db/db.js");
|
||||
const authRoutes = require("./routes/authRoutes");
|
||||
const userRoutes = require("./routes/userRoutes");
|
||||
const serverRoutes = require("./routes/serverRoutes.js");
|
||||
const app = express();
|
||||
|
||||
connectDB();
|
||||
|
||||
app.use(
|
||||
cors({
|
||||
origin: "*",
|
||||
allowedHeaders: ["Content-Type", "Authorization"],
|
||||
credentials: true,
|
||||
}),
|
||||
);
|
||||
app.use(express.json());
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
|
||||
app.use("/api/auth", authRoutes);
|
||||
app.use("/api/users", userRoutes);
|
||||
app.use("/api/servers", serverRoutes);
|
||||
|
||||
app.get("/health", (req, res) => {
|
||||
res.status(200).json({ status: "OK" });
|
||||
});
|
||||
|
||||
const PORT = config.port;
|
||||
app.listen(PORT, () => {
|
||||
console.log(`🚀 Server running on port ${PORT}`);
|
||||
});
|
||||
@ -1,32 +0,0 @@
|
||||
const jwt = require("jsonwebtoken");
|
||||
const User = require("../models/User");
|
||||
const config = require("../config/config.js");
|
||||
|
||||
const protect = async (req, res, next) => {
|
||||
let token;
|
||||
|
||||
if (
|
||||
req.headers.authorization &&
|
||||
req.headers.authorization.startsWith("Bearer")
|
||||
) {
|
||||
try {
|
||||
token = req.headers.authorization.split(" ")[1];
|
||||
const decoded = jwt.verify(token, process.env.JWT_SECRET || "secret_key");
|
||||
|
||||
req.user = await User.findById(decoded.id).select("-password");
|
||||
|
||||
if (!req.user) {
|
||||
return res.status(401).json({ message: "User not found" });
|
||||
}
|
||||
|
||||
return next(); // Обов'язково return, щоб зупинити виконання функції
|
||||
} catch (error) {
|
||||
return res.status(401).json({ message: "Not authorized, token failed" });
|
||||
}
|
||||
}
|
||||
|
||||
if (!token) {
|
||||
return res.status(401).json({ message: "Not authorized, no token" });
|
||||
}
|
||||
};
|
||||
module.exports = { protect };
|
||||
@ -1,16 +0,0 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const gameServerSchema = new mongoose.Schema({
|
||||
name: String,
|
||||
url: String,
|
||||
lastHeartbeat: { type: Date, default: Date.now },
|
||||
status: { type: String, default: "online" },
|
||||
description: { type: String, default: "Description..." },
|
||||
isModded: { type: Boolean, default: false },
|
||||
region: { type: String, default: "Null" },
|
||||
playersOnline: {
|
||||
type: Number,
|
||||
default: 0,
|
||||
},
|
||||
});
|
||||
module.exports = mongoose.model("GameServer", gameServerSchema);
|
||||
@ -1,38 +0,0 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const userSchema = new mongoose.Schema(
|
||||
{
|
||||
username: {
|
||||
type: String,
|
||||
required: [true, "Username is required"],
|
||||
unique: true,
|
||||
trim: true,
|
||||
minlength: [3, "Username must be at least 3 characters long"],
|
||||
},
|
||||
email: {
|
||||
type: String,
|
||||
required: [true, "Email is required"],
|
||||
unique: true,
|
||||
lowercase: true,
|
||||
trim: true,
|
||||
match: [/^\S+@\S+\.\S+$/, "Please use a valid email address"],
|
||||
},
|
||||
password: {
|
||||
type: String,
|
||||
required: [true, "Password is required"],
|
||||
minlength: [6, "Password must be at least 6 characters long"],
|
||||
},
|
||||
|
||||
role: {
|
||||
type: String,
|
||||
enum: ["user", "admin"],
|
||||
default: "user",
|
||||
},
|
||||
},
|
||||
{
|
||||
timestamps: true,
|
||||
},
|
||||
);
|
||||
|
||||
const User = mongoose.model("User", userSchema);
|
||||
module.exports = User;
|
||||
@ -1,7 +0,0 @@
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const { registerUser, loginUser } = require("../controllers/authController");
|
||||
|
||||
router.post("/register", registerUser);
|
||||
router.post("/login", loginUser);
|
||||
module.exports = router;
|
||||
@ -1,9 +0,0 @@
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const serverController = require("../controllers/serverController");
|
||||
const { protect } = require("../middleware/authMiddleware");
|
||||
router.post("/register", serverController.register);
|
||||
router.post("/heartbeat", serverController.heartbeat);
|
||||
router.get("/list", serverController.list);
|
||||
router.post("/join", protect, serverController.join);
|
||||
module.exports = router;
|
||||
@ -1,10 +0,0 @@
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const { protect } = require("../middleware/authMiddleware");
|
||||
const User = require("../models/User");
|
||||
|
||||
router.get("/me", protect, async (req, res) => {
|
||||
res.json(req.user);
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
@ -1,59 +0,0 @@
|
||||
const User = require("../models/User");
|
||||
const bcrypt = require("bcryptjs");
|
||||
const jwt = require("jsonwebtoken");
|
||||
const config = require("../config/config.js");
|
||||
|
||||
const register = async (userData) => {
|
||||
const { username, email, password } = userData;
|
||||
|
||||
const userExists = await User.findOne({ email });
|
||||
if (userExists) {
|
||||
throw new Error("User already exists");
|
||||
}
|
||||
|
||||
const salt = await bcrypt.genSalt(10);
|
||||
const hashedPassword = await bcrypt.hash(password, salt);
|
||||
|
||||
const user = await User.create({
|
||||
username,
|
||||
email,
|
||||
password: hashedPassword,
|
||||
});
|
||||
|
||||
return {
|
||||
_id: user._id,
|
||||
username: user.username,
|
||||
email: user.email,
|
||||
token: generateToken(user._id),
|
||||
};
|
||||
};
|
||||
|
||||
const login = async (email, password) => {
|
||||
const user = await User.findOne({ email });
|
||||
if (!user) {
|
||||
throw new Error("Invalid credentials");
|
||||
}
|
||||
|
||||
const isMatch = await bcrypt.compare(password, user.password);
|
||||
if (!isMatch) {
|
||||
throw new Error("Invalid credentials");
|
||||
}
|
||||
|
||||
return {
|
||||
_id: user._id,
|
||||
username: user.username,
|
||||
email: user.email,
|
||||
token: generateToken(user._id),
|
||||
};
|
||||
};
|
||||
|
||||
const generateToken = (id) => {
|
||||
return jwt.sign({ id }, process.env.JWT_SECRET || "secret_key", {
|
||||
expiresIn: "30d",
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
register,
|
||||
login,
|
||||
};
|
||||
@ -1,62 +0,0 @@
|
||||
const GameServer = require("../models/GameServer");
|
||||
|
||||
const registerGameServer = async (serverData) => {
|
||||
const { name, url, region, description } = serverData;
|
||||
|
||||
const server = await GameServer.findOneAndUpdate(
|
||||
{ name },
|
||||
{
|
||||
url,
|
||||
lastHeartbeat: Date.now(),
|
||||
status: "online",
|
||||
description,
|
||||
region,
|
||||
},
|
||||
{ upsert: true, returnDocument: "after" },
|
||||
);
|
||||
|
||||
console.log(`📡 [REGISTRY] Game Server "${name}" at ${url} is now ONLINE`);
|
||||
return server;
|
||||
};
|
||||
const updateHeartbeat = async (name, playersOnline) => {
|
||||
return await GameServer.findOneAndUpdate(
|
||||
{ name },
|
||||
{
|
||||
lastHeartbeat: Date.now(),
|
||||
status: "online",
|
||||
playersOnline: playersOnline,
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
const checkServerHealth = async () => {
|
||||
const timeout = new Date(Date.now() - 60000);
|
||||
|
||||
const result = await GameServer.updateMany(
|
||||
{ lastHeartbeat: { $lt: timeout }, status: "online" },
|
||||
{ status: "offline" },
|
||||
);
|
||||
|
||||
if (result.modifiedCount > 0) {
|
||||
console.log(`[CLEANUP] Marked ${result.modifiedCount} servers as OFFLINE`);
|
||||
}
|
||||
};
|
||||
|
||||
const getAvailableServers = async () => {
|
||||
return await GameServer.find({}).select(
|
||||
"name url playersOnline status maxPlayers",
|
||||
);
|
||||
};
|
||||
const getServerConnectionDetails = async (serverId) => {
|
||||
return await GameServer.findOne({ _id: serverId, status: "online" }).select(
|
||||
"name url port region description",
|
||||
);
|
||||
};
|
||||
setInterval(checkServerHealth, 60000);
|
||||
|
||||
module.exports = {
|
||||
registerGameServer,
|
||||
updateHeartbeat,
|
||||
getAvailableServers,
|
||||
getServerConnectionDetails,
|
||||
};
|
||||
24
client/.gitignore
vendored
@ -1,24 +0,0 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
@ -1,29 +0,0 @@
|
||||
{
|
||||
"name": "client",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --host 0.0.0.0",
|
||||
"build": "vite build",
|
||||
"lint": "eslint .",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^1.13.6",
|
||||
"react": "^19.2.0",
|
||||
"react-dom": "^19.2.0",
|
||||
"socket.io-client": "^4.8.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.39.1",
|
||||
"@types/react": "^19.2.5",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@vitejs/plugin-react": "^5.1.1",
|
||||
"eslint": "^9.39.1",
|
||||
"eslint-plugin-react-hooks": "^7.0.1",
|
||||
"eslint-plugin-react-refresh": "^0.4.24",
|
||||
"globals": "^16.5.0",
|
||||
"vite": "^7.2.4"
|
||||
}
|
||||
}
|
||||
@ -1,98 +0,0 @@
|
||||
### Dungeon Datapack Documentation
|
||||
|
||||
### Dungeon Configuration
|
||||
|
||||
**Path:** `datapacks/[namespace]/dungeons/[path]/dungeon.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"dungeon": {
|
||||
"id": "Unique system ID (namespace:path/name)",
|
||||
"displayName": "Translation key for the dungeon name",
|
||||
"description": "Translation key for the atmospheric location description",
|
||||
"meta": {
|
||||
"energyCost": "Amount of energy required for entry",
|
||||
"repeatable": "Boolean (true/false): whether the dungeon can be replayed",
|
||||
"raid": "Whether this dungeon is designed for a group of players"
|
||||
},
|
||||
"rooms": [
|
||||
{ "id": "Reference to a specific Room ID from the available rooms pool" }
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Room Configuration
|
||||
|
||||
**Path:** `datapacks/[namespace]/rooms/[path]/room.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"room": {
|
||||
"id": "Unique system ID (namespace:path/name)",
|
||||
"displayName": "Translation key for the UI display name",
|
||||
"description": "Translation key for the atmospheric flavor text shown upon entry",
|
||||
"hostiles": [
|
||||
"Array of Enemy IDs to spawn in this room (e.g., ['id1', 'id2'])"
|
||||
],
|
||||
"gainXp": "Fixed amount of experience awarded for clearing the room",
|
||||
"credits": "Fixed amount of currency guaranteed to drop",
|
||||
"loot": [],
|
||||
"meta": {
|
||||
"isBossRoom": "Boolean: whether to trigger boss-fight logic"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Hostile Configuration
|
||||
|
||||
Path: datapacks/[namespace]/enemies/hostiles/[path]/enemy.json
|
||||
|
||||
```json
|
||||
{
|
||||
"hostile": {
|
||||
"id": "Unique system ID (namespace:path/name)",
|
||||
"displayName": "Translation key for the enemy's name",
|
||||
"stats": {
|
||||
"health": "Numerical HP value",
|
||||
"defense": "Numerical defense value",
|
||||
"damage": "Numerical base damage value",
|
||||
"critical.chance": "Critical hit chance",
|
||||
"attack.rate": "Attack speed (seconds)"
|
||||
},
|
||||
"loot": [],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Loot System Specification
|
||||
|
||||
This structure is used to define item drops within **Rooms** (on completion) or from **Hostiles** (on death).
|
||||
|
||||
```json
|
||||
{
|
||||
"loot": [
|
||||
{
|
||||
"id": "Unique Item ID (namespace:items/item_name)",
|
||||
"chance": "Probability of dropping, from 0.0 (0%) to 1.0 (100%)",
|
||||
"count": {
|
||||
"min": "Minimum number of items to drop if the chance succeeds",
|
||||
"max": "Maximum number of items to drop if the chance succeeds"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "Unique Item ID",
|
||||
"chance": "Probability of dropping",
|
||||
"count": "Fixed integer value if the item amount is always constant"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Project Examples Reference
|
||||
|
||||
- **Dungeon Example:** [crystal_mine](example/datapack/ex/data/dungeons/caverns/crystal_mine.json)
|
||||
- **Room Examples:** \* [crystal_hallway](example/datapack/ex/data/enemies/rooms/caverns/crystal_hallway.json)
|
||||
- **Hostile Example:** [crystal_guardian](example/datapack/ex/data/enemies/hostiles/caverns/crystal_guardian.json)
|
||||
@ -1,17 +0,0 @@
|
||||
{
|
||||
"dungeon": {
|
||||
"id": "original:caverns/crystal_mine",
|
||||
"displayName": "dungeons.original.caverns.crystal_mine.name",
|
||||
"description": "dungeons.original.caverns.crystal_mine.desc",
|
||||
"meta": {
|
||||
"energyCost": 15,
|
||||
"repeatable": true,
|
||||
"raid": false
|
||||
},
|
||||
"rooms": [
|
||||
{ "id": "original:caverns/crystal_hallway" },
|
||||
{ "id": "original:caverns/crystal_hallway" },
|
||||
{ "id": "original:caverns/core_vault" }
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -1,36 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:caverns/crystal_guardian",
|
||||
"displayName": "enemies.original.caverns.crystal_guardian.name",
|
||||
"stats": {
|
||||
"health": 120,
|
||||
"defense": 0.25,
|
||||
"damage": 18.0,
|
||||
"critical,chance": 0.15,
|
||||
"attack.rate": 2.5
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_coal",
|
||||
"chance": 0.8,
|
||||
"count": { "min": 2, "max": 5 }
|
||||
},
|
||||
{
|
||||
"id": "original:ore_copper",
|
||||
"chance": 0.6,
|
||||
"count": { "min": 1, "max": 3 }
|
||||
},
|
||||
{
|
||||
"id": "original:crystal_flux_core",
|
||||
"chance": 0.15,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"id": "original:crystal_dimentional",
|
||||
"chance": 0.02,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
{
|
||||
"room": {
|
||||
"id": "original:caverns/core_vault",
|
||||
"displayName": "rooms.original.caverns.core_vault.name",
|
||||
"description": "rooms.original.caverns.core_vault.desc",
|
||||
"hostiles": [
|
||||
"original:caverns/crystal_guardian",
|
||||
"original:pirate/boarding_drone"
|
||||
],
|
||||
"gainXp": 120,
|
||||
"credits": 850,
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:crystal_flux_core",
|
||||
"chance": 0.5,
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"id": "original:ore_copper",
|
||||
"chance": 1.0,
|
||||
"count": { "min": 5, "max": 10 }
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"isBossRoom": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,23 +0,0 @@
|
||||
{
|
||||
"room": {
|
||||
"id": "original:caverns/crystal_hallway",
|
||||
"displayName": "rooms.original.caverns.crystal_hallway.name",
|
||||
"description": "rooms.original.caverns.crystal_hallway.desc",
|
||||
"hostiles": [
|
||||
"original:pirate/boarding_drone",
|
||||
"original:pirate/boarding_drone"
|
||||
],
|
||||
"gainXp": 45,
|
||||
"credits": 250,
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_coal",
|
||||
"chance": 1.0,
|
||||
"count": { "min": 3, "max": 6 }
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"isBossRoom": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,41 +0,0 @@
|
||||
{
|
||||
"_comment_Admin": "",
|
||||
"admin.category.core.dungeon_list": "Dungeon list",
|
||||
"admin.category.core.hostile_list": "Hostile list",
|
||||
"admin.category.core.item_list": "Item list",
|
||||
"admin.category.core.player_list": "Player list",
|
||||
"admin.category.core.item_list.all": "All",
|
||||
"admin.category.core.hostile_list.all": "All",
|
||||
"admin.category.core.player_list.all": "All",
|
||||
"_comment_Stats": "",
|
||||
"stats.category.core.attack.base": "Attack",
|
||||
"stats.category.core.attack.chance": "Attack Chance",
|
||||
"stats.category.core.attack.rate": "Attack Rate",
|
||||
"stats.category.core.defence.base": "Defence",
|
||||
"stats.category.core.defence.chance": "Defence Chance",
|
||||
"stats.category.core.defence.rate": "Defence Rate",
|
||||
"stats.category.core.health": "Health",
|
||||
"stats.category.core.penetration.base": "Penetration",
|
||||
"stats.category.core.penetration.chance": "Penetration Chance",
|
||||
"stats.category.core.penetration.rate": "Penetration Rate",
|
||||
"stats.category.core.reflect.base": "Reflect",
|
||||
"stats.category.core.reflect.chance": "Reflection Chance",
|
||||
"stats.category.core.reflect.rate": "Reflection Rate",
|
||||
"stats.category.core.resistance.base": "Resistance",
|
||||
"stats.category.core.resistance.cold": "Cold Resistance",
|
||||
"stats.category.core.resistance.gamma": "Gamma Resistance",
|
||||
"stats.category.core.resistance.heat": "Heat Resistance",
|
||||
"stats.category.core.resistance.ion": "Ion Resistance",
|
||||
"stats.category.core.resistance.physical": "Physical Resistance",
|
||||
"stats.category.core.resistance.plasma": "Plasma Resistance",
|
||||
"_comment_Tabs": "",
|
||||
"category.tabs.core.crafting": "Crafting",
|
||||
"category.tabs.core.dashboard": "Dashboard",
|
||||
"category.tabs.core.datapack": "Datapack",
|
||||
"category.tabs.core.dungeons": "Dungeons",
|
||||
"category.tabs.core.inventory": "Inventory",
|
||||
"category.tabs.core.quest": "Quests",
|
||||
"category.tabs.core.shop": "Shop",
|
||||
"category.tabs.core.skills": "Skills"
|
||||
}
|
||||
|
||||
@ -1,102 +0,0 @@
|
||||
{
|
||||
"name": "core",
|
||||
"version": "0.0.1",
|
||||
"admin_dungeon_list": {
|
||||
"categories": {
|
||||
"dungeon:all": {
|
||||
"displayName": "admin.category.core.dungeon_list.all"
|
||||
}
|
||||
}
|
||||
},
|
||||
"admin_hostiles_list": {
|
||||
"categories": {
|
||||
"core:all": {
|
||||
"displayName": "admin.category.core.hostile_list.all"
|
||||
}
|
||||
}
|
||||
},
|
||||
"admin_item_list": {
|
||||
"categories": {
|
||||
"core:all": {
|
||||
"displayName": "admin.category.core.item_list.all"
|
||||
}
|
||||
}
|
||||
},
|
||||
"admin_panel": {
|
||||
"categories": {
|
||||
"core:admin_dungeon_list": {
|
||||
"displayName": "admin.category.core.dungeon_list"
|
||||
},
|
||||
"core:admin_hostiles_list": {
|
||||
"displayName": "admin.category.core.hostile_list"
|
||||
},
|
||||
"core:admin_item_list": {
|
||||
"displayName": "admin.category.core.item_list"
|
||||
},
|
||||
"core:admin_player_list": {
|
||||
"displayName": "admin.category.core.player_list"
|
||||
}
|
||||
}
|
||||
},
|
||||
"admin_player_list": {
|
||||
"categories": {
|
||||
"core:all": {
|
||||
"displayName": "admin.category.core.player_list.all"
|
||||
}
|
||||
}
|
||||
},
|
||||
"core_systems": {
|
||||
"categories": {
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"categories": {
|
||||
"core:dashboard_id":{
|
||||
"displayName": "dashboard.category.core.dashboard_id"
|
||||
},
|
||||
"core:dashboard_finance":{
|
||||
"displayName": "dashboard.category.core.dashboard_finance"
|
||||
},
|
||||
"core:dashboard_system":{
|
||||
"displayName": "dashboard.category.core.dashboard_system"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dashboard_finance": {
|
||||
"categories": {
|
||||
}
|
||||
},
|
||||
"dashboard_id": {
|
||||
"categories": {
|
||||
"core:rank":{
|
||||
"displayName": "dashboard.category.core.id_rank"
|
||||
},
|
||||
"core:experiance":{
|
||||
"displayName": "dashboard.category.core.id_exeriance"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dashboard_system": {
|
||||
"categories": {
|
||||
"core:server_status":{
|
||||
"displayName": "dashboard.category.core.server_status"
|
||||
}
|
||||
}
|
||||
},
|
||||
"quests": {
|
||||
"categories": {
|
||||
}
|
||||
},
|
||||
"recipes": {
|
||||
"categories": {
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
"categories": {
|
||||
}
|
||||
},
|
||||
"skills": {
|
||||
"categories": {
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,298 +0,0 @@
|
||||
{
|
||||
"_comment_Admin" : "",
|
||||
"admin.category.original.hostile_list" : "Hostile List",
|
||||
"admin.category.original.item_list" : "Item List",
|
||||
"admin.category.original.player_list" : "Player List",
|
||||
"admin.category.original.item_list.all" : "All",
|
||||
"admin.category.original.item_list.alloys" : "Alloys",
|
||||
"admin.category.original.item_list.circuits" : "Circuits",
|
||||
"admin.category.original.item_list.customizables" : "Customizables",
|
||||
"admin.category.original.item_list.ingots" : "Ingots",
|
||||
"admin.category.original.item_list.maerials" : "Materials",
|
||||
"admin.category.original.item_list.ores" : "Ores",
|
||||
"admin.category.original.item_list.personal" : "Personal",
|
||||
"admin.category.original.item_list.ships" : "Ships",
|
||||
"admin.category.original.item_list.shields" : "Shields",
|
||||
"admin.category.original.item_list.weapons" : "Weapons",
|
||||
"admin.category.original.hostile_list.all" : "All",
|
||||
"admin.category.original.hostile_list.ground" : "Ground Units",
|
||||
"admin.category.original.hostile_list.ships" : "Ships",
|
||||
"admin.category.original.player_list.all" : "All",
|
||||
"admin.category.original.player_list.members" : "Members",
|
||||
"admin.category.original.player_list.moderators" : "Moderators",
|
||||
"admin.category.original.player_list.admins" : "Admins",
|
||||
"_comment_Core_Systems" : "",
|
||||
"core_systems.category.original.person.backpack" : "Personal Backpack",
|
||||
"core_systems.category.original.person.helmet" : "Personal Helmet",
|
||||
"core_systems.category.original.person.suit" : "Personal Suit",
|
||||
"core_systems.category.original.person.gloves" : "Personal Gloves",
|
||||
"core_systems.category.original.person.boots" : "Personal Boots",
|
||||
"core_systems.category.original.person.accessory_1" : "Personal Accessory 1",
|
||||
"core_systems.category.original.person.accessory_2" : "Personal Accessory 2",
|
||||
"core_systems.category.original.person.accessory_3" : "Personal Accessory 3",
|
||||
"core_systems.category.original.person.accessory_4" : "Personal Accessory 4",
|
||||
"core_systems.category.original.person.weapon" : "Personal Weapon",
|
||||
"core_systems.category.original.ship.hull" : "Ship Hull",
|
||||
"core_systems.category.original.ship.shields" : "Ship Shield",
|
||||
"core_systems.category.original.ship.engines" : "Ship Engine",
|
||||
"core_systems.category.original.ship.weapon_1" : "Ship Weapon 1",
|
||||
"core_systems.category.original.ship.weapon_2" : "Ship Weapon 2",
|
||||
"core_systems.category.original.ship.thruster_1" : "Ship Thruster 1",
|
||||
"core_systems.category.original.ship.thruster_2" : "Ship Thruster 2",
|
||||
"core_systems.category.original.ship.thruster_3" : "Ship Thruster 3",
|
||||
"core_systems.category.original.ship.thruster_4" : "Ship Thruster 4",
|
||||
"_comment_Dungeons" : "",
|
||||
"dungeons.original.pirate.pirates_outpost" : "Pirate Outpost",
|
||||
"dungeons.original.pirate.pirates_outpost.desc" : "A hidden supply station belonging to the Black Mark syndicate.",
|
||||
"dungeons.original.tutorial.tutorial" : "Tutorial",
|
||||
"dungeons.original.tutorial.tutorial.desc" : "A one time dungeon.",
|
||||
"dungeons.original.Kaleidoscope" : "Kaleidoscope",
|
||||
"dungeons.original.Kaleidoscope.desc" : "hope you got lots of diffrent resistances...",
|
||||
"_comment_Enemies" : "",
|
||||
"enemies.original.creatures.pirate.black_mark_heavy_cruiser" : "Black Mark Heavy Cruiser",
|
||||
"enemies.original.pirate.black_mark_heavy_cruiser" : "Raider Frigate",
|
||||
"enemies.original.pirate.raider_frigate" : "Snacher Clipper",
|
||||
"enemies.original.pirate.corvid_corvette" : "Corvid Corvette",
|
||||
"enemies.original.pirate.snacher_clipper" : "Scout Drone",
|
||||
"enemies.original.tutorial.tutorial_hostile" : "Tutorial hostile",
|
||||
"enemies.original.tutorial.tutorial_boss_hostile" : "Tutorial Boss",
|
||||
"enemies.original.pirate.scout_drone" : "scout drone",
|
||||
"enemies.original.creatures.gamma_fiend" : "mutant",
|
||||
"enemies.original.creatures.gamma_fiend.desc" : "the radiation sickens you",
|
||||
"enemies.original.creatures.fire_fiend" : "fire fiend",
|
||||
"enemies.original.creatures.fire_fiend.desc" : "Hot HOT HOT!",
|
||||
"enemies.original.anomalies.electrical_anomaly" : "Electrical Anomaly",
|
||||
"enemies.original.anomalies.electrical_anomaly.desc" : "a ball of angry lightning",
|
||||
"enemies.original.creatures.not_a_giant_rat" : "Mouse XL",
|
||||
"enemies.original.creatures.not_a_giant_rat.desc" : "No, not a giant rat, stop asking",
|
||||
"enemies.original.anomalies.plasma_anomaly" : "Plasma Anomaly",
|
||||
"enemies.original.anomalies.plasma_anomaly.desc" : "an angry ball of plasma",
|
||||
"enemies.original.creatures.frost_fiend" : "woolly wambler",
|
||||
"enemies.original.creatures.frost_fiend.desc" : "beware its ice spikes",
|
||||
"enemies.original.pirate.scout_drone.desc" : "a scout ahead of its group",
|
||||
"enemies.original.pirate.snacher_clipper.desc" : "Fast and hard to hit. Built to run blockades and transport VIPs",
|
||||
"enemies.original.pirate.raider_frigate.desc" : "Perfect for raiding under defended colonies and stations",
|
||||
"enemies.original.pirate.black_mark_heavy_cruiser.desc" : "what passes as a typical pirate lord cammand ship",
|
||||
"enemies.original.pirate.corvid_corvette.desc" : "stealthy and uses hard to resist plasma attacks",
|
||||
"_comment_Equipment_Personal" : "",
|
||||
"items.materials.original.personal.accessory.basic_personal_accessory" : "Personal accessory",
|
||||
"items.materials.original.personal.accessory.basic_personal_accessory.desc" : "Test accessory",
|
||||
"items.materials.original.personal.backpack.basic_personal_backpack" : "Personal backpack",
|
||||
"items.materials.original.personal.backpack.basic_personal_backpack.desc" : "Test backpack",
|
||||
"items.materials.original.personal.armor.boots.basic_personal_boots" : "Personal boots",
|
||||
"items.materials.original.personal.armor.boots.basic_personal_boots.desc" : "Test boots",
|
||||
"items.materials.original.personal.armor.gloves.basic_personal_gloves" : "Personal gloves",
|
||||
"items.materials.original.personal.armor.gloves.basic_personal_gloves.desc" : "Test gloves",
|
||||
"items.materials.original.personal.suit.basic_personal_suit" : "Personal suit",
|
||||
"items.materials.original.personal.suit.basic_personal_suit.desc" : "Test suit",
|
||||
"items.materials.original.personal.weapon.basic_personal_weapon" : "Personal weapon",
|
||||
"items.materials.original.personal.weapon.basic_personal_weapon.desc" : "Test weapon",
|
||||
"items.materials.original.personal.backpack.personal_shield" : "Personal Shield",
|
||||
"items.materials.original.personal.backpack.personal_shield.desc" : "Provides a lot of protection but lacks sufficent storage space",
|
||||
"_comment_Equipment_Ship" : "",
|
||||
"items.materials.original.ship.engine.basic_ship_engines" : "Ship engines",
|
||||
"items.materials.original.ship.engine.basic_ship_engines.desc" : "Test engines",
|
||||
"items.materials.original.ship.engine.rtg" : "RTG",
|
||||
"items.materials.original.ship.engine.rtg.desc" : "very baisic and low power genarator with a long track record of reliability",
|
||||
"items.materials.original.ship.engine.gen1_fission_reactor" : "Gen 1 nuclear reactor",
|
||||
"items.materials.original.ship.engine.gen1_fission_reactor.desc" : "A boiling water reactor. Little more than a pile of glowing rocks in some hot water",
|
||||
"items.materials.original.ship.engine.gen2_fission_reactor" : "Gen 2 nuclear reactor",
|
||||
"items.materials.original.ship.engine.gen2_fission_reactor.desc" : "A Gas cooled reactor. Uses CO2 as a coolant allowing it to run hotter and at higher pressures and be much more power dense. The high power density and pressures comes at a price of reliability",
|
||||
"items.materials.original.ship.engine.gen3_fission_reactor" : "Gen 3 nuclear reactor",
|
||||
"items.materials.original.ship.engine.gen3_fission_reactor.desc" : "A Molten salt reactor. The pinical of fission power. Uses molten salt as its coolant allowing for very high temperatures and low pressures. Safer than most reactors",
|
||||
"items.materials.original.ship.plating.basic_plating" : "Ship plating",
|
||||
"items.materials.original.ship.plating.basic_plating.desc" : "Better at stopping sing large hits",
|
||||
"items.materials.original.ship.plating.heavy_plating" : "Heavy Plating",
|
||||
"items.materials.original.ship.plating.heavy_plating.desc" : "Strong plating capable of resisting high damage impacts",
|
||||
"items.materials.original.ship.plating.reflective_plating" : "Reflective plating",
|
||||
"items.materials.original.ship.plating.reflective_plating.desc" : "About as strong as heavy plating but reflects damage back at attackers",
|
||||
"items.materials.original.ship.shields.basic_shield" : "Ship shield",
|
||||
"items.materials.original.ship.shields.basic_shield.desc" : "Better at stopping many smaller hits. Weak to ion damage",
|
||||
"items.materials.original.ship.shields.heavy_shield" : "Heavy shield",
|
||||
"items.materials.original.ship.shields.heavy_shield.desc" : "A high capacity shild for dealing with lots of inbond threats",
|
||||
"items.materials.original.ship.shields.reflecter_shield" : "Reflecter Shields",
|
||||
"items.materials.original.ship.shields.reflecter_shield.desc" : "About as strong as heavy shields but reflects a lot of damage back at the attacker",
|
||||
"items.materials.original.ship.thruster.basic_ship_thruster" : "Ship thruster",
|
||||
"items.materials.original.ship.thruster.basic_ship_thruster.desc" : "Test thruster",
|
||||
"items.materials.original.ship.thruster.big_ship_thruster" : "Big ship thruster",
|
||||
"items.materials.original.ship.thruster.big_ship_thruster.desc" : "Used as a main drive for a ship",
|
||||
"items.materials.original.ship.weapon.basic_ship_weapon" : "Ship weapon",
|
||||
"items.materials.original.ship.weapon.basic_ship_weapon.desc" : "Test weapon",
|
||||
"items.materials.original.ship.weapon.unstable_partical_cannon" : "Unstable partical cannon",
|
||||
"items.materials.original.ship.weapon.unstable_partical_cannon.desc" : "Does a lot of damage in a small space but to power it requires a lot of changes to the ships internals making it more prone to damage",
|
||||
"items.materials.original.ship.weapon.serpent_missiles" : "Serpent Missiles",
|
||||
"items.materials.original.ship.weapon.serpent_missiles.desc" : "Missiles do more damage for their tier but prone to magazine detonations",
|
||||
"_comment_Materials" : "",
|
||||
"items.materials.original.bio.bio_pulp" : "Bio pulp",
|
||||
"items.materials.original.bio.bio_pulp.desc" : "A pile of biological material.",
|
||||
"items.materials.original.alloys.steel" : "Steel ingot",
|
||||
"items.materials.original.alloys.steel.desc" : "A steel ingot.",
|
||||
"items.materials.original.alloys.titanium_weave" : "Titanium weave",
|
||||
"items.materials.original.alloys.titanium_weave.desc" : "used where flexibility does not compromise strength",
|
||||
"items.materials.original.alloys.void_steel" : "Void steel",
|
||||
"items.materials.original.alloys.void_steel.desc" : "Steel that is very strong and increadably light absorbent",
|
||||
"items.materials.original.alloys.chronotanium" : "Chronotanium ingot",
|
||||
"items.materials.original.alloys.chronotanium.desc" : "A chronite-titianium alloy for strong and energetic applications",
|
||||
"items.materials.original.alloys.neutronium_composite" : "Neutronium composite",
|
||||
"items.materials.original.alloys.neutronium_composite.desc" : "A compostite of neutronium of",
|
||||
"items.materials.original.alloys.superconductor" : "Superconductor",
|
||||
"items.materials.original.alloys.superconductor.desc" : "A material with no resistance and expells all magnetic fields very usefull in high energy compnents",
|
||||
"items.materials.original.circuits.basic" : "Basic Circuit",
|
||||
"items.materials.original.circuits.basic.desc" : "Basic electronics used in simple electromecanical systems. Probably made in someone's shed. Rated for common Tier systems.",
|
||||
"items.materials.original.circuits.advanced" : "Advanced Circuit",
|
||||
"items.materials.original.circuits.advanced.desc" : "Advanced electronics used in electromecanical systems, featuring transistors for compact switching. Made with industrial Machines. Rated for uncommon Tier systems.",
|
||||
"items.materials.original.circuits.processing_unit" : "Processing unit",
|
||||
"items.materials.original.circuits.processing_unit.desc" : "Highly Advanced electronics used in demanding systems, featuring Integrated circuts replacing entire boards. Made with precision UV lithography machines. Rated for Rare Tier systems.",
|
||||
"items.materials.original.circuits.quantum_processor" : "Quantum Processor",
|
||||
"items.materials.original.circuits.quantum_processor.desc" : "Increadably electronics used in complex systems, featuring quantum cores for unparalleled parallel computation. Made with . Rated for Epic Tier systems.",
|
||||
"items.materials.original.circuits.ai_core" : "Ai Core",
|
||||
"items.materials.original.circuits.ai_core.desc" : "A semi sapient general intelligence, featuring advanced reasoning skills and simulated simulations, it will never truly know if it is in another simulation. Made under incudulus supervison and adhears to strict laws. Warrrenty void if not reset every terran standerd season.",
|
||||
"items.materials.original.crystal.flux" : "Flux crystal",
|
||||
"items.materials.original.crystal.flux.desc" : "A crystal whose properties are in constant flux. Commenly used in high power electrical aplications",
|
||||
"items.materials.original.crystal.flux_core" : "Flux Core",
|
||||
"items.materials.original.crystal.flux_core.desc" : "The crystal tamed can nhow be used in more demanding applications",
|
||||
"items.materials.original.crystal.void" : "Void crystal",
|
||||
"items.materials.original.crystal.void.desc" : "A crystal that seems to sap the very light from the room. Commenly used in armor and stealth applications",
|
||||
"items.materials.original.crystal.dimentional" : "Dimentional crystal",
|
||||
"items.materials.original.crystal.dimentional.desc" : "reality warps at its edges, imagine the possibilities",
|
||||
"items.materials.original.crystal.neutronium" : "Neutronium",
|
||||
"items.materials.original.crystal.neutronium.desc" : "A hyper dense piece of along dead star",
|
||||
"items.materials.original.ingots.aluminum" : "Aluminum ingot",
|
||||
"items.materials.original.ingots.aluminum.desc" : "An aluminum ingot.",
|
||||
"items.materials.original.ingots.carbon" : "carbon ingot",
|
||||
"items.materials.original.ingots.carbon.desc" : "A carbon ingot.",
|
||||
"items.materials.original.ingots.chronite" : "Chronite Ingot",
|
||||
"items.materials.original.ingots.chronite.desc" : "A chronite ingot.",
|
||||
"items.materials.original.ingots.copper" : "Copper ingot",
|
||||
"items.materials.original.ingots.copper.desc" : "A copper ingot.",
|
||||
"items.materials.original.ingots.gold" : "Gold ingot",
|
||||
"items.materials.original.ingots.gold.desc" : "A gold ingot.",
|
||||
"items.materials.original.ingots.iron" : "Iron Ingot",
|
||||
"items.materials.original.ingots.iron.desc" : "A iron ingot.",
|
||||
"items.materials.original.ingots.titanium" : "Titanium ingot",
|
||||
"items.materials.original.ingots.titanium.desc" : "A titanium ingot.",
|
||||
"items.materials.original.ingots.tungsten" : "Tungsten ingot",
|
||||
"items.materials.original.ingots.tungsten.desc" : "A tungsten ingot.",
|
||||
"items.materials.original.ores.bauxite" : "Bauxite ore",
|
||||
"items.materials.original.ores.bauxite.desc" : "A pile of bauxite ore.",
|
||||
"items.materials.original.ores.chronite" : "Chronium ore",
|
||||
"items.materials.original.ores.chronite.desc" : "A pile of chronium ore.",
|
||||
"items.materials.original.ores.coal" : "Coal ore",
|
||||
"items.materials.original.ores.coal.desc" : "A pile of coal ore.",
|
||||
"items.materials.original.ores.copper" : "Copper ore",
|
||||
"items.materials.original.ores.copper.desc" : "A pile of copper ore.",
|
||||
"items.materials.original.ores.gold" : "Gold ore",
|
||||
"items.materials.original.ores.gold.desc" : "A pile of gold ore.",
|
||||
"items.materials.original.ores.ilunite" : "Ilunite ore",
|
||||
"items.materials.original.ores.ilunite.desc" : "A pile of ilunite ore.",
|
||||
"items.materials.original.ores.iron" : "Iron ore",
|
||||
"items.materials.original.ores.iron.desc" : "A pile of iron ore.",
|
||||
"items.materials.original.ores.wolframite" : "Wolframite ore",
|
||||
"items.materials.original.ores.wolframite.desc" : "A pile of wolframite ore.",
|
||||
"items.materials.original.plating.basic_ship_plating" : "Ship plating",
|
||||
"items.materials.original.plating.basic_ship_plating.desc" : "Just basic ship plating.",
|
||||
"_comment_Quests" : "",
|
||||
"quests.category.original.story" : "Story",
|
||||
"quests.category.original.daily" : "Daily",
|
||||
"quests.category.original.weekly" : "Weekly",
|
||||
"quests.category.original.monthly" : "Monthly",
|
||||
"quests.category.original.seasonal" : "Seasons",
|
||||
"quests.original.tutorial.starter_kit" : "Starter Kit: Neural Link",
|
||||
"quests.tutorial.slay_boss.name" : "Trial by Fire",
|
||||
"quests.tutorial.slay_boss.desc" : "Prove your combat capabilities by neutralizing the Tutorial Boss unit.",
|
||||
"quests.tutorial.slay_boss.obj1" : "Defeat the Tutorial Boss",
|
||||
"Welcome, Commander. Your neural link is active. Initial equipment has been authorized." : "",
|
||||
"_comment_Recipes" : "",
|
||||
"recipes.category.original.alloys" : "Alloys",
|
||||
"recipes.category.original.circuits" : "Circuits",
|
||||
"recipes.category.original.crystals" : "Crystals",
|
||||
"recipes.category.original.food" : "Food",
|
||||
"recipes.category.original.forging" : "Forging",
|
||||
"recipes.category.original.hull_sections" : "Hull Sections",
|
||||
"recipes.category.original.hulls" : "Hulls",
|
||||
"recipes.category.original.organics" : "Organics",
|
||||
"recipes.category.original.spacesuit_parts" : "Spacesuit Parts",
|
||||
"_comment_Shop" : "",
|
||||
"shop.category.original.consumables" : "Consumables",
|
||||
"shop.category.original.defence" : "Defence",
|
||||
"shop.category.original.featured" : "Featured",
|
||||
"shop.category.original.materials" : "Materials",
|
||||
"shop.category.original.premium" : "Premium",
|
||||
"shop.category.original.ships" : "Ships",
|
||||
"shop.category.original.weapons" : "Weapons",
|
||||
"shop.category.original.personal.equipment" : "Personal Equipment",
|
||||
"shop.category.original.ship.equipment" : "Ship Equipment",
|
||||
"_comment_Skills" : "",
|
||||
"skills.category.original.combat" : "Combat",
|
||||
"skills.category.original.combat.weapon_effiency" : "Weapon Effiency",
|
||||
"skills.category.original.combat.weapon_effiency.desc" : "Let's get those weapons better!",
|
||||
"skills.category.original.crafting" : "Crafting",
|
||||
"skills.category.original.crafting.blacksmithing" : "Blacksmithing",
|
||||
"skills.category.original.crafting.blacksmithing.desc" : "To forge the basics.",
|
||||
"skills.category.original.crafting.alloying" : "Alloying",
|
||||
"skills.category.original.crafting.alloying.desc" : "Lets start alloy making.",
|
||||
"skills.category.original.science" : "Science",
|
||||
"skills.category.original.science.alien_technology" : "Alien Technology",
|
||||
"skills.category.original.science.alien_technology.desc" : "Unknown Mysterious Tech",
|
||||
"skills.category.original.science.biology_engineering" : "Biology Engineering",
|
||||
"skills.category.original.science.biology_engineering.desc" : "Maybe we will unlock bio-tech?",
|
||||
"skills.category.original.crafting.ship_manufacturing" : "Ship Manufacturing",
|
||||
"skills.category.original.crafting.ship_manufacturing.desc" : "To build a ship to sail the stars",
|
||||
"skills.category.original.crafting.high_energetics" : "High Energetics",
|
||||
"skills.category.original.crafting.high_energetics.desc" : "Learn how to make and manage reactors and energy weapons",
|
||||
"skills.category.original.combat.engine_effiency" : "",
|
||||
"skills.category.original.combat.engine_effiency.desc" : "",
|
||||
"skills.category.original.combat.shield_effiency" : "",
|
||||
"skills.category.original.combat.shield_effiency.desc" : "",
|
||||
"skills.category.original.combat.thruster_effiency" : "",
|
||||
"skills.category.original.combat.thruster_effiency.desc" : "",
|
||||
"skills.category.original.crafting.circuit_assembly" : "",
|
||||
"skills.category.original.crafting.circuit_assembly.desc" : "",
|
||||
"skills.category.original.crafting.forging" : "",
|
||||
"skills.category.original.crafting.forging.desc" : "",
|
||||
"_comment_Stats" : "",
|
||||
"stats.category.original.attack.base" : "Attack",
|
||||
"stats.category.original.attack.chance" : "Attack Chance",
|
||||
"stats.category.original.attack.rate" : "Attack Rate",
|
||||
"stats.category.original.defence.base" : "Defence",
|
||||
"stats.category.original.defence.chance" : "Defence Chance",
|
||||
"stats.category.original.defence.rate" : "Defence Rate",
|
||||
"stats.category.original.health" : "Health",
|
||||
"stats.category.original.penetration.base" : "Penetration",
|
||||
"stats.category.original.penetration.chance" : "Penetration Chance",
|
||||
"stats.category.original.penetration.rate" : "Penetration Rate",
|
||||
"stats.category.original.reflect.base" : "Reflect",
|
||||
"stats.category.original.reflect.chance" : "Reflection Chance",
|
||||
"stats.category.original.reflect.rating" : "Reflection Rating",
|
||||
"stats.category.original.resistance.base" : "Resistance",
|
||||
"stats.category.original.resistance.cold" : "Cold Resistance",
|
||||
"stats.category.original.resistance.gamma" : "Gamma Resistance",
|
||||
"stats.category.original.resistance.heat" : "Heat Resistance",
|
||||
"stats.category.original.resistance.ion" : "Ion Resistance",
|
||||
"stats.category.original.resistance.physical" : "Physical Resistance",
|
||||
"stats.category.original.resistance.plasma" : "Plasma Resistance",
|
||||
"_comment_Tabs" : "",
|
||||
"category.tabs.original.crafting" : "Crafting",
|
||||
"category.tabs.original.dashboard" : "Dashboard",
|
||||
"category.tabs.original.datapack" : "Debug Tab",
|
||||
"category.tabs.original.dungeons" : "Dungeons",
|
||||
"category.tabs.original.inventory" : "Inventory",
|
||||
"category.tabs.original.shop" : "Shop",
|
||||
"category.tabs.original.skills" : "Skills",
|
||||
"category.tabs.original.quests" : "Quests",
|
||||
"_comment_Rooms" : "",
|
||||
"rooms.original.pirates.pirate_supply_bay" : "",
|
||||
"rooms.original.pirates.pirate_supply_bay.desc" : "",
|
||||
"rooms.original.tutorial.tutorial_boss_room.name" : "",
|
||||
"rooms.original.tutorial.tutorial_boss_room.desc" : "",
|
||||
"rooms.original.tutorial.tutorial_enemy_room.name" : "",
|
||||
"rooms.original.tutorial.tutorial_enemy_room.desc" : "",
|
||||
"rooms.original.tutorial.tutorial_loot_room.name" : "",
|
||||
"rooms.original.tutorial.tutorial_loot_room.desc" : "",
|
||||
"rooms.original.themed.broken_reactor" : "",
|
||||
"rooms.original.themed.broken_reactor.desc" : "",
|
||||
"rooms.original.themed.the_rat_one" : "",
|
||||
"rooms.original.themed.the_rat_one.desc" : "",
|
||||
"rooms.original.themed.cold" : "",
|
||||
"rooms.original.themed.cold.desc" : ""
|
||||
}
|
||||
@ -1,189 +0,0 @@
|
||||
{
|
||||
"_comment_Admin" : "",
|
||||
"admin.category.original.hostile_list" : "Hostile List",
|
||||
"admin.category.original.item_list" : "Item List",
|
||||
"admin.category.original.player_list" : "Player List",
|
||||
"admin.category.original.item_list.all" : "All",
|
||||
"admin.category.original.item_list.alloys" : "Alloys",
|
||||
"admin.category.original.item_list.circuits" : "Circuits",
|
||||
"admin.category.original.item_list.customizables" : "Customizables",
|
||||
"admin.category.original.item_list.ingots" : "Ingots",
|
||||
"admin.category.original.item_list.maerials" : "Materials",
|
||||
"admin.category.original.item_list.ores" : "Ores",
|
||||
"admin.category.original.item_list.personal" : "Personal",
|
||||
"admin.category.original.item_list.ships" : "Ships",
|
||||
"admin.category.original.item_list.shields" : "Shields",
|
||||
"admin.category.original.item_list.weapons" : "Weapons",
|
||||
"admin.category.original.hostile_list.all" : "All",
|
||||
"admin.category.original.hostile_list.ground" : "Ground Units",
|
||||
"admin.category.original.hostile_list.ships" : "Ships",
|
||||
"admin.category.original.player_list.all" : "All",
|
||||
"admin.category.original.player_list.members" : "Members",
|
||||
"admin.category.original.player_list.moderators" : "Moderators",
|
||||
"admin.category.original.player_list.admins" : "Admins",
|
||||
"_comment_Core_Systems" : "",
|
||||
"core_systems.category.original.person.helmet" : "Personal Helmet",
|
||||
"core_systems.category.original.person.suit" : "Personal Suit",
|
||||
"core_systems.category.original.person.gloves" : "Personal Gloves",
|
||||
"core_systems.category.original.person.boots" : "Personal Boots",
|
||||
"core_systems.category.original.person.accessory_1" : "Personal Accessory 1",
|
||||
"core_systems.category.original.person.accessory_2" : "Personal Accessory 2",
|
||||
"core_systems.category.original.person.accessory_3" : "Personal Accessory 3",
|
||||
"core_systems.category.original.person.accessory_4" : "Personal Accessory 4",
|
||||
"core_systems.category.original.person.weapon" : "Personal Weapon",
|
||||
"core_systems.category.original.ship.hull" : "Ship Hull",
|
||||
"core_systems.category.original.ship.shields" : "Ship Shield",
|
||||
"core_systems.category.original.ship.engines" : "Ship Engine",
|
||||
"core_systems.category.original.ship.weapon_1" : "Ship Weapon 1",
|
||||
"core_systems.category.original.ship.weapon_2" : "Ship Weapon 2",
|
||||
"core_systems.category.original.ship.thruster_1" : "Ship Thruster 1",
|
||||
"core_systems.category.original.ship.thruster_2" : "Ship Thruster 2",
|
||||
"core_systems.category.original.ship.thruster_3" : "Ship Thruster 3",
|
||||
"core_systems.category.original.ship.thruster_4" : "Ship Thruster 4",
|
||||
"_comment_Dungeons": "",
|
||||
"dungeons.original.pirate.pirates_outpost": "Avant-Poste Pirate",
|
||||
"dungeons.original.pirate.pirates_outpost.desc": "Une station de ravitaillement caché appartenant au syndicat de la Marque Noire.",
|
||||
"dungeons.original.tutorial.tutorial": "Tutoriel",
|
||||
"dungeons.original.tutorial.tutorial.desc": "Un donjon unique.",
|
||||
"_comment_Enemies": "",
|
||||
"enemies.original.pirate.black_mark_heavy_cruiser": "Croiseur Lourd Marque Noire",
|
||||
"enemies.original.pirate.raider_frigate": "Frégate d'Assaillant",
|
||||
"enemies.original.pirate.snacher_clipper": "Snacher Clipper",
|
||||
"enemies.original.pirate.corvid_corvette": "Corvid Corvette",
|
||||
"enemies.original.pirate.scout_drone": "Drone d'espionnage",
|
||||
"enemies.original.tutorial.tutorial_hostile": "Tutoriel hostile",
|
||||
"enemies.original.tutorial.tutorial_boss_hostile": "Maître tutoriel",
|
||||
"_comment_Equipment": "",
|
||||
"items.materials.original.backpack_basic": "Sac à dos basique",
|
||||
"items.materials.original.backpack_basic.desc": "Les bases des costumes.",
|
||||
"items.materials.original.backpack_advanced": "Sac à dos Avancé",
|
||||
"items.materials.original.backpack_advanced.desc": "Essayer un meilleur costume.",
|
||||
"items.materials.original.backpack_elite": "Sac à dos d'élite",
|
||||
"items.materials.original.backpack_elite.desc": "Maintenant, le meilleur que le monde ait à offrir.",
|
||||
"_comment_Materials": "",
|
||||
"items.materials.original.bio.bio_pulp": "Pulpe de biographie",
|
||||
"items.materials.original.bio.bio_pulp.desc": "Une pile de matériel biologique.",
|
||||
"items.materials.original.alloys.steel": "Lingot d'Acier",
|
||||
"items.materials.original.alloys.steel.desc": "Un lingot d'acier.",
|
||||
"items.materials.original.alloys.titanium_weave" : "titianium weave",
|
||||
"items.materials.original.alloys.titanium_weave.desc" : "used where flexibility does not compromise strength",
|
||||
"items.materials.original.alloys.neutronium_composite" :"Neutronium composite",
|
||||
"items.materials.original.alloys.neutronium_composite.desc" :"A compostite of neutronium of",
|
||||
"items.materials.original.alloys.superconductor" : "Superconductor",
|
||||
"items.materials.original.alloys.superconductor.desc" : "A material with no resistance and expells all magnetic fields very usefull in high energy compnents",
|
||||
"items.materials.original.alloys.chronotanium" :"Chronotanium",
|
||||
"items.materials.original.alloys.chronotanium.desc" :"A chronite-titianium alloy for strong and energetic applications",
|
||||
"items.materials.original.circuits.basic" : "Basic Circuit",
|
||||
"items.materials.original.circuits.basic.desc" : "Basic electronics used in simple electromecanical systems. Probably made in someone's shed. Rated for common Tier systems.",
|
||||
"items.materials.original.circuits.advanced" : "Advanced Circuit",
|
||||
"items.materials.original.circuits.advanced.desc" : "Advanced electronics used in electromecanical systems, featuring transistors for compact switching. Made with industrial Machines. Rated for uncommon Tier systems.",
|
||||
"items.materials.original.circuits.processing_unit" : "Processing unit",
|
||||
"items.materials.original.circuits.processing_unit.desc" : "Highly Advanced electronics used in demanding systems, featuring Integrated circuts replacing entire boards. Made with precision UV lithography machines. Rated for Rare Tier systems.",
|
||||
"items.materials.original.circuits.quantum_processor" : "Quantum Processor",
|
||||
"items.materials.original.circuits.quantum_processor.desc" : "Increadably electronics used in complex systems, featuring quantum cores for unparalleled parallel computation. Made with . Rated for Epic Tier systems.",
|
||||
"items.materials.original.circuits.ai_core" : "Ai Core",
|
||||
"items.materials.original.circuits.ai_core.desc" : "A semi sapient general intelligence, featuring advanced reasoning skills and simulated simulations, it will never truly know if it is in another simulation. Made under incudulus supervison and adhears to strict laws. Warrrenty void if not reset every terran standerd season.",
|
||||
"items.materials.original.crystal.flux" :"Flux crystal",
|
||||
"items.materials.original.crystal.flux.desc" :"A crystal whose properties are in constant flux. Commenly used in high power electrical aplications",
|
||||
"items.materials.original.crystal.flux_core" : "Flux Core",
|
||||
"items.materials.original.crystal.flux_core.desc" : "The crystal tamed can nhow be used in more demanding applications",
|
||||
"items.materials.original.crystal.void" :"Void crystal",
|
||||
"items.materials.original.crystal.void.desc" :"A crystal that seems to sap the very light from the room. Commenly used in armor and stealth applications",
|
||||
"items.materials.original.crystal.dimentional" : "Dimentonal crystal",
|
||||
"items.materials.original.crystal.dimentional.desc" : "reality warps at its edges, imagine the possibilities",
|
||||
"items.materials.original.crystal.neutronium" :"Neutronium",
|
||||
"items.materials.original.crystal.neutronium.desc" :"A hyper dense piece of along dead star",
|
||||
"items.materials.original.ingots.aluminum": "Lingot d'aluminium",
|
||||
"items.materials.original.ingots.aluminum.desc": "Un lingot d'aluminium",
|
||||
"items.materials.original.ingots.chronite": "Lingot chronite",
|
||||
"items.materials.original.ingots.chronite.desc": "Un lingot de chronite.",
|
||||
"items.materials.original.ingots.copper": "Lingot de cuivre",
|
||||
"items.materials.original.ingots.copper.desc": "Un lingot de cuivre.",
|
||||
"items.materials.original.ingots.gold": "Lingot d'or",
|
||||
"items.materials.original.ingots.gold.desc": "Un lingot d'or.",
|
||||
"items.materials.original.ingots.iron": "Lingot d'acier",
|
||||
"items.materials.original.ingots.iron.desc": "Un lingot de fer.",
|
||||
"items.materials.original.ingots.titanium": "Lingot de titane",
|
||||
"items.materials.original.ingots.titanium.desc": "Un lingot de titane",
|
||||
"items.materials.original.ingots.tungsten": "Lingot de tungstène",
|
||||
"items.materials.original.ingots.tungsten.desc": "Un lingot de tungstène",
|
||||
"items.materials.original.ores.bauxite": "Minerai de Bauxite",
|
||||
"items.materials.original.ores.bauxite.desc": "Une pile de minerai de bauxite.",
|
||||
"items.materials.original.ores.chronite": "Minerai de Chronium",
|
||||
"items.materials.original.ores.chronite.desc": "Une pile de minerai de chronium.",
|
||||
"items.materials.original.ores.coal": "Minerai de Charbon",
|
||||
"items.materials.original.ores.coal.desc": "Une pile de minerai de charbon.",
|
||||
"items.materials.original.ores.copper": "Minerai de cuivre",
|
||||
"items.materials.original.ores.copper.desc": "Une pile de minerai de cuivre.",
|
||||
"items.materials.original.ores.gold": "Minerai d'or",
|
||||
"items.materials.original.ores.gold.desc": "Une pile de minerai d'or.",
|
||||
"items.materials.original.ores.ilunite": "Minerai d'Ilménite",
|
||||
"items.materials.original.ores.ilunite.desc": "Une pile de minerai d'ilménite.",
|
||||
"items.materials.original.ores.iron": "Minerai de fer",
|
||||
"items.materials.original.ores.iron.desc": "Une pile de minerai de fer.",
|
||||
"items.materials.original.ores.wolframite": "Minerai de Louframite",
|
||||
"items.materials.original.ores.wolframite.desc": "Une pile de minerai de louframite.",
|
||||
"items.materials.original.plating.basic_ship_plating": "Plaque de Navire",
|
||||
"items.materials.original.plating.basic_ship_plating.desc": "Juste l'assiette de base du navire.",
|
||||
"_comment_Recipes": "",
|
||||
"recipes.category.original.alloys": "Alliages",
|
||||
"recipes.category.original.circuits": "Circuits",
|
||||
"recipes.category.original.crystals" : "Crystals",
|
||||
"recipes.category.original.food": "Nourriture",
|
||||
"recipes.category.original.forging": "Forge",
|
||||
"recipes.category.original.hull_sections": "Sections de coque",
|
||||
"recipes.category.original.hulls": "Coques",
|
||||
"recipes.category.original.organics": "Organismes",
|
||||
"recipes.category.original.spacesuit_parts": "Pièces spatiales",
|
||||
"_comment_Shop" : "",
|
||||
"shop.category.original.consumables" : "Consumables",
|
||||
"shop.category.original.defence" : "Defence",
|
||||
"shop.category.original.featured" : "Featured",
|
||||
"shop.category.original.materials" : "Materials",
|
||||
"shop.category.original.premium" : "Premium",
|
||||
"shop.category.original.ships" : "Ships",
|
||||
"shop.category.original.weapons" : "Weapons",
|
||||
"_comment_Skills": "",
|
||||
"skills.category.original.combat": "Guerre",
|
||||
"skills.category.original.combat.weapon_effiency": "Efficacité de l'arme",
|
||||
"skills.category.original.combat.weapon_effiency.desc": "Améliorons ces armes !",
|
||||
"skills.category.original.crafting": "Fabriquer",
|
||||
"skills.category.original.crafting.blacksmithing": "Forge",
|
||||
"skills.category.original.crafting.blacksmithing.desc": "Pour forger les bases.",
|
||||
"skills.category.original.crafting.alloying": "Alliage",
|
||||
"skills.category.original.crafting.alloying.desc": "Commençons à fabriquer des alliages.",
|
||||
"skills.category.original.science": "Sciences",
|
||||
"skills.category.original.science.alien_technology": "Technologies extraterrestres",
|
||||
"skills.category.original.science.alien_technology.desc": "Technique Mystérieuse Inconnue",
|
||||
"skills.category.original.science.biology_engineering": "Ingénierie de la Biologie",
|
||||
"skills.category.original.science.biology_engineering.desc": "Peut-être débloquons-nous la biotechnologie ?",
|
||||
"_comment_Stats": "",
|
||||
"stats.category.original.attack.base": "Attaque",
|
||||
"stats.category.original.attack.chance": "Chances d'Attaque",
|
||||
"stats.category.original.attack.rating": "Classement d'Attaque",
|
||||
"stats.category.original.defence.base": "Défense",
|
||||
"stats.category.original.defence.chance": "Chance de défense",
|
||||
"stats.category.original.defence.rating": "Classement de défense",
|
||||
"stats.category.original.health": "Vie",
|
||||
"stats.category.original.penetration.base": "Pénétration",
|
||||
"stats.category.original.penetration.chance": "Chance de pénétration",
|
||||
"stats.category.original.penetration.rating": "Évaluation de pénétration",
|
||||
"stats.category.original.reflect.base": "Reflet",
|
||||
"stats.category.original.reflect.chance": "Chance de réflexion",
|
||||
"stats.category.original.reflect.rating": "Évaluation de réflexion",
|
||||
"stats.category.original.resistance.base": "résistance",
|
||||
"stats.category.original.resistance.cold": "Résistance au froid",
|
||||
"stats.category.original.resistance.gamma": "Résistance au gamma",
|
||||
"stats.category.original.resistance.heat": "Résistance à la chaleur",
|
||||
"stats.category.original.resistance.ion": "Résistance à l'ion",
|
||||
"stats.category.original.resistance.physical": "Résistance physique",
|
||||
"stats.category.original.resistance.plasma": "Résistance au plasma",
|
||||
"_comment_Tabs": "",
|
||||
"category.tabs.original.admin_panel" : "Admin",
|
||||
"category.tabs.original.crafting": "Fabriquer",
|
||||
"category.tabs.original.dashboard": "Tableaux de bord",
|
||||
"category.tabs.original.dungeons": "Les donjons",
|
||||
"category.tabs.original.inventory": "Inventaire",
|
||||
"category.tabs.original.shop": "Boutique",
|
||||
"category.tabs.original.skills": "Possibilité"
|
||||
}
|
||||
@ -1,189 +0,0 @@
|
||||
{
|
||||
"_comment_Admin" : "",
|
||||
"admin.category.original.hostile_list" : "Hostile List",
|
||||
"admin.category.original.item_list" : "Item List",
|
||||
"admin.category.original.player_list" : "Player List",
|
||||
"admin.category.original.item_list.all" : "All",
|
||||
"admin.category.original.item_list.alloys" : "Alloys",
|
||||
"admin.category.original.item_list.circuits" : "Circuits",
|
||||
"admin.category.original.item_list.customizables" : "Customizables",
|
||||
"admin.category.original.item_list.ingots" : "Ingots",
|
||||
"admin.category.original.item_list.maerials" : "Materials",
|
||||
"admin.category.original.item_list.ores" : "Ores",
|
||||
"admin.category.original.item_list.personal" : "Personal",
|
||||
"admin.category.original.item_list.ships" : "Ships",
|
||||
"admin.category.original.item_list.shields" : "Shields",
|
||||
"admin.category.original.item_list.weapons" : "Weapons",
|
||||
"admin.category.original.hostile_list.all" : "All",
|
||||
"admin.category.original.hostile_list.ground" : "Ground Units",
|
||||
"admin.category.original.hostile_list.ships" : "Ships",
|
||||
"admin.category.original.player_list.all" : "All",
|
||||
"admin.category.original.player_list.members" : "Members",
|
||||
"admin.category.original.player_list.moderators" : "Moderators",
|
||||
"admin.category.original.player_list.admins" : "Admins",
|
||||
"_comment_Core_Systems" : "",
|
||||
"core_systems.category.original.person.helmet" : "Personal Helmet",
|
||||
"core_systems.category.original.person.suit" : "Personal Suit",
|
||||
"core_systems.category.original.person.gloves" : "Personal Gloves",
|
||||
"core_systems.category.original.person.boots" : "Personal Boots",
|
||||
"core_systems.category.original.person.accessory_1" : "Personal Accessory 1",
|
||||
"core_systems.category.original.person.accessory_2" : "Personal Accessory 2",
|
||||
"core_systems.category.original.person.accessory_3" : "Personal Accessory 3",
|
||||
"core_systems.category.original.person.accessory_4" : "Personal Accessory 4",
|
||||
"core_systems.category.original.person.weapon" : "Personal Weapon",
|
||||
"core_systems.category.original.ship.hull" : "Ship Hull",
|
||||
"core_systems.category.original.ship.shields" : "Ship Shield",
|
||||
"core_systems.category.original.ship.engines" : "Ship Engine",
|
||||
"core_systems.category.original.ship.weapon_1" : "Ship Weapon 1",
|
||||
"core_systems.category.original.ship.weapon_2" : "Ship Weapon 2",
|
||||
"core_systems.category.original.ship.thruster_1" : "Ship Thruster 1",
|
||||
"core_systems.category.original.ship.thruster_2" : "Ship Thruster 2",
|
||||
"core_systems.category.original.ship.thruster_3" : "Ship Thruster 3",
|
||||
"core_systems.category.original.ship.thruster_4" : "Ship Thruster 4",
|
||||
"_comment_Dungeons": "",
|
||||
"dungeons.original.pirate.pirates_outpost": "Аванпост піратів",
|
||||
"dungeons.original.pirate.pirates_outpost.desc": "Прихована станція постачання, що належить синдикату «Чорна Мітка».",
|
||||
"dungeons.original.tutorial.tutorial": "Навчання",
|
||||
"dungeons.original.tutorial.tutorial.desc": "Одноразове підземелля для освоєння азів.",
|
||||
"_comment_Enemies": "",
|
||||
"enemies.original.pirate.black_mark_heavy_cruiser": "Важкий крейсер «Чорної Мітки»",
|
||||
"enemies.original.pirate.raider_frigate": "Фрегат рейдерів",
|
||||
"enemies.original.pirate.snacher_clipper": "Snacher Clipper",
|
||||
"enemies.original.pirate.corvid_corvette": "Corvid Corvette",
|
||||
"enemies.original.pirate.scout_drone": "Дрон-розвідник",
|
||||
"enemies.original.tutorial.tutorial_hostile": "Тренувальний ворог",
|
||||
"enemies.original.tutorial.tutorial_boss_hostile": "Бос навчання",
|
||||
"_comment_Equipment": "",
|
||||
"items.materials.original.backpack_basic": "Базовий рюкзак",
|
||||
"items.materials.original.backpack_basic.desc": "Основа вашого спорядження.",
|
||||
"items.materials.original.backpack_advanced": "Покращений рюкзак",
|
||||
"items.materials.original.backpack_advanced.desc": "Спроба використати більш досконалий костюм.",
|
||||
"items.materials.original.backpack_elite": "Елітний рюкзак",
|
||||
"items.materials.original.backpack_elite.desc": "Найкраще, що може запропонувати світ.",
|
||||
"_comment_Materials": "",
|
||||
"items.materials.original.bio.bio_pulp": "Біомаса",
|
||||
"items.materials.original.bio.bio_pulp.desc": "Купа біологічного матеріалу.",
|
||||
"items.materials.original.alloys.steel": "Сталевий злиток",
|
||||
"items.materials.original.alloys.steel.desc": "Злиток високоміцної сталі.",
|
||||
"items.materials.original.alloys.titanium_weave" : "titianium weave",
|
||||
"items.materials.original.alloys.titanium_weave.desc" : "used where flexibility does not compromise strength",
|
||||
"items.materials.original.alloys.neutronium_composite" :"Neutronium composite",
|
||||
"items.materials.original.alloys.neutronium_composite.desc" :"A compostite of neutronium of",
|
||||
"items.materials.original.alloys.superconductor" : "Superconductor",
|
||||
"items.materials.original.alloys.superconductor.desc" : "A material with no resistance and expells all magnetic fields very usefull in high energy compnents",
|
||||
"items.materials.original.alloys.chronotanium.desc" :"A chronite-titianium alloy for strong and energetic applications",
|
||||
"items.materials.original.alloys.chronotanium" :"Chronotanium",
|
||||
"items.materials.original.circuits.basic" : "Basic Circuit",
|
||||
"items.materials.original.circuits.basic.desc" : "Basic electronics used in simple electromecanical systems. Probably made in someone's shed. Rated for common Tier systems.",
|
||||
"items.materials.original.circuits.advanced" : "Advanced Circuit",
|
||||
"items.materials.original.circuits.advanced.desc" : "Advanced electronics used in electromecanical systems, featuring transistors for compact switching. Made with industrial Machines. Rated for uncommon Tier systems.",
|
||||
"items.materials.original.circuits.processing_unit" : "Processing unit",
|
||||
"items.materials.original.circuits.processing_unit.desc" : "Highly Advanced electronics used in demanding systems, featuring Integrated circuts replacing entire boards. Made with precision UV lithography machines. Rated for Rare Tier systems.",
|
||||
"items.materials.original.circuits.quantum_processor" : "Quantum Processor",
|
||||
"items.materials.original.circuits.quantum_processor.desc" : "Increadably electronics used in complex systems, featuring quantum cores for unparalleled parallel computation. Made with . Rated for Epic Tier systems.",
|
||||
"items.materials.original.circuits.ai_core" : "Ai Core",
|
||||
"items.materials.original.circuits.ai_core.desc" : "A semi sapient general intelligence, featuring advanced reasoning skills and simulated simulations, it will never truly know if it is in another simulation. Made under incudulus supervison and adhears to strict laws. Warrrenty void if not reset every terran standerd season.",
|
||||
"items.materials.original.crystal.flux" :"Flux crystal",
|
||||
"items.materials.original.crystal.flux.desc" :"A crystal whose properties are in constant flux. Commenly used in high power electrical aplications",
|
||||
"items.materials.original.crystal.flux_core" : "Flux Core",
|
||||
"items.materials.original.crystal.flux_core.desc" : "The crystal tamed can nhow be used in more demanding applications",
|
||||
"items.materials.original.crystal.void" :"Void crystal",
|
||||
"items.materials.original.crystal.void.desc" :"A crystal that seems to sap the very light from the room. Commenly used in armor and stealth applications",
|
||||
"items.materials.original.crystal.dimentional" : "Dimentonal crystal",
|
||||
"items.materials.original.crystal.dimentional.desc" : "reality warps at its edges, imagine the possibilities",
|
||||
"items.materials.original.crystal.neutronium" :"Neutronium",
|
||||
"items.materials.original.crystal.neutronium.desc" :"A hyper dense piece of along dead star",
|
||||
"items.materials.original.ingots.aluminum": "Алюмінієвий злиток",
|
||||
"items.materials.original.ingots.aluminum.desc": "Легкий алюмінієвий злиток.",
|
||||
"items.materials.original.ingots.chronite": "Хронітовий злиток",
|
||||
"items.materials.original.ingots.chronite.desc": "Злиток рідкісного хроніту.",
|
||||
"items.materials.original.ingots.copper": "Мідний злиток",
|
||||
"items.materials.original.ingots.copper.desc": "Злиток чистої міді.",
|
||||
"items.materials.original.ingots.gold": "Золотий злиток",
|
||||
"items.materials.original.ingots.gold.desc": "Злиток щирого золота.",
|
||||
"items.materials.original.ingots.iron": "Залізний злиток",
|
||||
"items.materials.original.ingots.iron.desc": "Злиток переплавленого заліза.",
|
||||
"items.materials.original.ingots.titanium": "Титановий злиток",
|
||||
"items.materials.original.ingots.titanium.desc": "Надміцний титановий злиток.",
|
||||
"items.materials.original.ingots.tungsten": "Вольфрамовий злиток",
|
||||
"items.materials.original.ingots.tungsten.desc": "Тугоплавкий вольфрамовий злиток.",
|
||||
"items.materials.original.ores.bauxite": "Бокситова руда",
|
||||
"items.materials.original.ores.bauxite.desc": "Купа бокситової руди.",
|
||||
"items.materials.original.ores.chronite": "Хромова руда",
|
||||
"items.materials.original.ores.chronite.desc": "Купа хромової руди.",
|
||||
"items.materials.original.ores.coal": "Вугілля",
|
||||
"items.materials.original.ores.coal.desc": "Купа викопного вугілля.",
|
||||
"items.materials.original.ores.copper": "Мідна руда",
|
||||
"items.materials.original.ores.copper.desc": "Купа мідної руди.",
|
||||
"items.materials.original.ores.gold": "Золота руда",
|
||||
"items.materials.original.ores.gold.desc": "Купа золотоносної руди.",
|
||||
"items.materials.original.ores.ilunite": "Ільменітова руда",
|
||||
"items.materials.original.ores.ilunite.desc": "Купа ільменітової руди.",
|
||||
"items.materials.original.ores.iron": "Залізна руда",
|
||||
"items.materials.original.ores.iron.desc": "Купа залізної руди.",
|
||||
"items.materials.original.ores.wolframite": "Вольфрамова руда",
|
||||
"items.materials.original.ores.wolframite.desc": "Купа вольфрамової руди.",
|
||||
"items.materials.original.plating.basic_ship_plating": "Корабельна обшивка",
|
||||
"items.materials.original.plating.basic_ship_plating.desc": "Звичайна базова обшивка для суден.",
|
||||
"_comment_Recipes": "",
|
||||
"recipes.category.original.alloys": "Сплави",
|
||||
"recipes.category.original.circuits": "Схеми",
|
||||
"recipes.category.original.crystals" : "Crystals",
|
||||
"recipes.category.original.food": "Їжа",
|
||||
"recipes.category.original.forging": "Кування",
|
||||
"recipes.category.original.hull_sections": "Секції корпусу",
|
||||
"recipes.category.original.hulls": "Корпуси",
|
||||
"recipes.category.original.organics": "Органіка",
|
||||
"recipes.category.original.spacesuit_parts": "Деталі скафандра",
|
||||
"_comment_Shop": "",
|
||||
"shop.category.original.consumables" : "Consumables",
|
||||
"shop.category.original.defence" : "Defence",
|
||||
"shop.category.original.featured" : "Featured",
|
||||
"shop.category.original.materials": "Матеріали",
|
||||
"shop.category.original.premium" : "Premium",
|
||||
"shop.category.original.ships" : "Ships",
|
||||
"shop.category.original.weapons" : "Weapons",
|
||||
"_comment_Skills": "",
|
||||
"skills.category.original.combat": "Бойові навички",
|
||||
"skills.category.original.combat.weapon_effiency": "Ефективність зброї",
|
||||
"skills.category.original.combat.weapon_effiency.desc": "Час зробити наші гармати смертоноснішими!",
|
||||
"skills.category.original.crafting": "Ремесло",
|
||||
"skills.category.original.crafting.blacksmithing": "Ковальство",
|
||||
"skills.category.original.crafting.blacksmithing.desc": "Виготовлення базових металевих виробів.",
|
||||
"skills.category.original.crafting.alloying": "Створення сплавів",
|
||||
"skills.category.original.crafting.alloying.desc": "Мистецтво поєднання металів.",
|
||||
"skills.category.original.science": "Наука",
|
||||
"skills.category.original.science.alien_technology": "Інопланетні технології",
|
||||
"skills.category.original.science.alien_technology.desc": "Вивчення невідомих таємничих технологій.",
|
||||
"skills.category.original.science.biology_engineering": "Біоінженерія",
|
||||
"skills.category.original.science.biology_engineering.desc": "Можливо, нам вдасться розблокувати біотехнології?",
|
||||
"_comment_Stats": "",
|
||||
"stats.category.original.attack.base": "Атака",
|
||||
"stats.category.original.attack.chance": "Шанс атаки",
|
||||
"stats.category.original.attack.rating": "Рейтинг атаки",
|
||||
"stats.category.original.defence.base": "Захист",
|
||||
"stats.category.original.defence.chance": "Шанс захисту",
|
||||
"stats.category.original.defence.rating": "Рейтинг захисту",
|
||||
"stats.category.original.health": "Здоров'я",
|
||||
"stats.category.original.penetration.base": "Пробиття",
|
||||
"stats.category.original.penetration.chance": "Шанс пробиття",
|
||||
"stats.category.original.penetration.rating": "Рейтинг пробиття",
|
||||
"stats.category.original.reflect.base": "Відбиття",
|
||||
"stats.category.original.reflect.chance": "Шанс відбиття",
|
||||
"stats.category.original.reflect.rating": "Рейтинг відбиття",
|
||||
"stats.category.original.resistance.base": "Опір",
|
||||
"stats.category.original.resistance.cold": "Опір холоду",
|
||||
"stats.category.original.resistance.gamma": "Гамма-резист",
|
||||
"stats.category.original.resistance.heat": "Опір теплу",
|
||||
"stats.category.original.resistance.ion": "Іонний опір",
|
||||
"stats.category.original.resistance.physical": "Фізичний опір",
|
||||
"stats.category.original.resistance.plasma": "Плазмовий опір",
|
||||
"_comment_Tabs": "",
|
||||
"category.tabs.original.admin_panel" : "Admin",
|
||||
"category.tabs.original.crafting": "Крафт",
|
||||
"category.tabs.original.dashboard": "Головна",
|
||||
"category.tabs.original.dungeons": "Підземелля",
|
||||
"category.tabs.original.inventory": "Інвентар",
|
||||
"category.tabs.original.shop": "Магазин",
|
||||
"category.tabs.original.skills": "Навички"
|
||||
}
|
||||
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 445 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 226 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 22 KiB |
@ -1,20 +0,0 @@
|
||||
{
|
||||
"dungeon": {
|
||||
"id": "original:pirate/pirate_outpost",
|
||||
"displayName": "dungeons.original.pirate.pirates_outpost",
|
||||
"description": "dungeons.original.pirate.pirates_outpost.desc",
|
||||
"meta": {
|
||||
"energyCost": 10,
|
||||
"repeatable": true,
|
||||
"missionArea":"ground",
|
||||
"raid": false, "_comment_1":"Future raid type picking, when you can have friends in the dugeon to help you.",
|
||||
"missionAllowed": [], "_comment_2":"Future ground type picking, when ground classes are started"
|
||||
},
|
||||
"rooms": [
|
||||
{ "id": "original:pirate/pirate_patrol_room" },
|
||||
{ "id": "original:pirate/pirate_supply_bay" },
|
||||
{ "id": "original:pirate/pirate_ambush_zone" },
|
||||
{ "id": "original:pirate/pirate_boss_bridge" }
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -1,27 +0,0 @@
|
||||
{
|
||||
"dungeon": {
|
||||
"id": "original:Kaleidoscope",
|
||||
"displayName": "dungeons.original.Kaleidoscope",
|
||||
"description": "dungeons.original.Kaleidoscope.desc",
|
||||
"meta": {
|
||||
"energyCost": 0,
|
||||
"repeatable": true,
|
||||
"raid": false
|
||||
},
|
||||
"rooms": [
|
||||
{
|
||||
"id": "original:themed/the_rat_one"
|
||||
},
|
||||
{
|
||||
"id": "original:themed/cold"
|
||||
},
|
||||
{
|
||||
"id": "original:themed/heat_anomaly"
|
||||
},
|
||||
{
|
||||
"id": "original:themed/broken_reactor"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
{
|
||||
"dungeon": {
|
||||
"id": "original:tutorial/tutorial_dungeon",
|
||||
"displayName": "dungeons.original.tutorial.tutorial",
|
||||
"description": "dungeons.original.tutorial.tutorial.desc",
|
||||
"meta": {
|
||||
"energyCost": 0,
|
||||
"repeatable": false,
|
||||
"missionArea": "space",
|
||||
"raid": false,
|
||||
"_comment_1": "Future raid type picking, when you can have friends in the dugeon to help you.",
|
||||
"missionAllowed": [],
|
||||
"_comment_2": "Future ship type picking, when ship classes are started"
|
||||
},
|
||||
"rooms": [
|
||||
{ "id": "original:tutorial/tutorial_enemy_room" },
|
||||
{ "id": "original:tutorial/tutorial_loot_room" },
|
||||
{ "id": "original:tutorial/tutorial_boss_room" }
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -1,55 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:anomalies/electrical_anomaly",
|
||||
"displayName": "enemies.original.anomalies.electrical_anomaly",
|
||||
"description": "enemies.original.anomalies.electrical_anomaly.desc",
|
||||
"texture": "mypack/assets/textures/enemies/pirates/raider_frigate.png",
|
||||
"stats": {
|
||||
"health": 150,
|
||||
"defense": 2,
|
||||
"critical.chance": 0.15,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 0,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 6,
|
||||
"damage.physical": 0,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": 0,
|
||||
"resistance.gamma": 0,
|
||||
"resistance.heat": 0,
|
||||
"resistance.ion": 0.5,
|
||||
"resistance.physical": -0.5,
|
||||
"resistance.plasma": 0
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_copper",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ore_gold",
|
||||
"chance": 0.7000000000000001,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:crystal_flux",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:anomalies/plasma_anomaly",
|
||||
"displayName": "enemies.original.anomalies.plasma_anomaly",
|
||||
"description": "enemies.original.anomalies.plasma_anomaly.desc",
|
||||
"texture": "mypack/assets/textures/enemies/pirates/raider_frigate.png",
|
||||
"stats": {
|
||||
"health": 150,
|
||||
"defense": 2,
|
||||
"critical.chance": 0.15,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 0,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 0,
|
||||
"damage.plasma": 6,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": -0.5,
|
||||
"resistance.gamma": 0.25,
|
||||
"resistance.heat": 0.25,
|
||||
"resistance.ion": 0,
|
||||
"resistance.physical": 0,
|
||||
"resistance.plasma": 0.5
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:crystal_flux",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:crystal_flux_core",
|
||||
"chance": 0.1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:creatures/fire_fiend",
|
||||
"displayName": "enemies.original.creatures.fire_fiend",
|
||||
"description": "enemies.original.creatures.fire_fiend.desc",
|
||||
"texture": "mypack/assets/textures/enemies/pirates/raider_frigate.png",
|
||||
"stats": {
|
||||
"health": 150,
|
||||
"defense": 2,
|
||||
"critical.chance": 0.15,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 0,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 6,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 0,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": -0.5,
|
||||
"resistance.gamma": 0,
|
||||
"resistance.heat": 0.5,
|
||||
"resistance.ion": 0,
|
||||
"resistance.physical": 0,
|
||||
"resistance.plasma": 0
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_coal",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ingot_carbon",
|
||||
"chance": 0.25,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:creatures/frost_fiend",
|
||||
"displayName": "enemies.original.creatures.frost_fiend",
|
||||
"description": "enemies.original.creatures.frost_fiend.desc",
|
||||
"texture": "mypack/assets/textures/enemies/pirates/raider_frigate.png",
|
||||
"stats": {
|
||||
"health": 150,
|
||||
"defense": 2,
|
||||
"critical.chance": 0.15,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 0,
|
||||
"damage.cold": 6,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 0,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": 0.5,
|
||||
"resistance.gamma": 0,
|
||||
"resistance.heat": -0.5,
|
||||
"resistance.ion": 0,
|
||||
"resistance.physical": 0,
|
||||
"resistance.plasma": -0.25
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_copper",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ore_ilunite",
|
||||
"chance": 0.5,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:creatures/gamma_fiend",
|
||||
"displayName": "enemies.original.creatures.gamma_fiend",
|
||||
"description": "enemies.original.creatures.gamma_fiend.desc",
|
||||
"texture": "mypack/assets/textures/enemies/pirates/raider_frigate.png",
|
||||
"stats": {
|
||||
"health": 150,
|
||||
"defense": 2,
|
||||
"critical.chance": 0.15,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 0,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 6,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 0,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": 0,
|
||||
"resistance.gamma": 0.5,
|
||||
"resistance.heat": -0.25,
|
||||
"resistance.ion": 0,
|
||||
"resistance.physical": -0.25,
|
||||
"resistance.plasma": 0
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:crystal_void",
|
||||
"chance": 0.75,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:crystal_flux",
|
||||
"chance": 0.25,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:creatures/not_a_giant_rat",
|
||||
"displayName": "enemies.original.creatures.not_a_giant_rat",
|
||||
"description": "enemies.original.creatures.not_a_giant_rat.desc",
|
||||
"texture": "mypack/assets/textures/enemies/pirates/raider_frigate.png",
|
||||
"stats": {
|
||||
"health": 150,
|
||||
"defense": 2,
|
||||
"critical.chance": 0.15,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 0,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 6,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": 0,
|
||||
"resistance.gamma": 0.25,
|
||||
"resistance.heat": -0.5,
|
||||
"resistance.ion": 0,
|
||||
"resistance.physical": 0.5,
|
||||
"resistance.plasma": 0
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_iron",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ore_copper",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 3
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,71 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:pirates/black_mark_cruiser",
|
||||
"displayName": "enemies.original.pirate.black_mark_heavy_cruiser",
|
||||
"description": "enemies.original.pirate.black_mark_heavy_cruiser.desc",
|
||||
"texture": "original/assets/textures/enemies/pirates/black_mark_cruiser.png",
|
||||
"stats": {
|
||||
"health": 850,
|
||||
"defense": 5,
|
||||
"critical.chance": 0.15,
|
||||
"attack.rate": 0.6,
|
||||
"damage.base": 8,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 10,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0.1,
|
||||
"resistance.cold": 0,
|
||||
"resistance.gamma": 0,
|
||||
"resistance.heat": 0,
|
||||
"resistance.ion": 0,
|
||||
"resistance.physical": 0,
|
||||
"resistance.plasma": 0
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:circuit_basic",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ore_wolframite",
|
||||
"chance": 0.1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ore_ilunite",
|
||||
"chance": 0.1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ingot_gold",
|
||||
"chance": 0.5,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ore_gold",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,30 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:pirates/corvid_corvette",
|
||||
"displayName": "enemies.original.pirate.corvid_corvette",
|
||||
"description": "enemies.original.pirate.corvid_corvette.desc",
|
||||
"texture": "original/assets/textures/enemies/pirates/corvid_corvette.png",
|
||||
"stats": {
|
||||
"health": 100,
|
||||
"defense": 1,
|
||||
"critical.chance": 0.1,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 2,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 0,
|
||||
"damage.plasma": 6,
|
||||
"resistance.base": 0.2,
|
||||
"resistance.cold": 0,
|
||||
"resistance.gamma": 0,
|
||||
"resistance.heat": 0,
|
||||
"resistance.ion": 0.1,
|
||||
"resistance.physical": 0,
|
||||
"resistance.plasma": 0.1
|
||||
},
|
||||
"loot": [],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:pirates/raider_frigate",
|
||||
"displayName": "enemies.original.pirate.raider_frigate",
|
||||
"description": "enemies.original.pirate.raider_frigate.desc",
|
||||
"texture": "original/assets/textures/enemies/pirates/raider_frigate.png",
|
||||
"stats": {
|
||||
"health": 210,
|
||||
"defense": 1.5,
|
||||
"critical.chance": 0.2,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 0,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 8,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": 0,
|
||||
"resistance.gamma": 0,
|
||||
"resistance.heat": 0,
|
||||
"resistance.ion": 0,
|
||||
"resistance.physical": 0,
|
||||
"resistance.plasma": 0
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_iron",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:circuit_basic",
|
||||
"chance": 0.5,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:pirates/scout_drone",
|
||||
"displayName": "enemies.original.pirate.scout_drone",
|
||||
"description": "enemies.original.pirate.scout_drone.desc",
|
||||
"texture": "original/assets/textures/enemies/pirates/scout_drone.png",
|
||||
"stats": {
|
||||
"health": 25,
|
||||
"defense": 0,
|
||||
"critical.chance": 0.1,
|
||||
"attack.rate": 1,
|
||||
"damage.base": 1,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 2,
|
||||
"damage.physical": 0,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": 0,
|
||||
"resistance.gamma": 0,
|
||||
"resistance.heat": 0,
|
||||
"resistance.ion": 0,
|
||||
"resistance.physical": 0,
|
||||
"resistance.plasma": 0
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_iron",
|
||||
"chance": 0.5,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:pirates/snacher_clipper",
|
||||
"displayName": "enemies.original.pirate.snacher_clipper",
|
||||
"description": "enemies.original.pirate.snacher_clipper.desc",
|
||||
"texture": "original/assets/textures/enemies/pirates/snacher_clipper.png",
|
||||
"stats": {
|
||||
"health": 100,
|
||||
"defense": 5,
|
||||
"critical.chance": 0.5,
|
||||
"attack.rate": 3,
|
||||
"damage.base": 0,
|
||||
"damage.cold": 0,
|
||||
"damage.gamma": 0,
|
||||
"damage.heat": 0,
|
||||
"damage.ion": 0,
|
||||
"damage.physical": 5,
|
||||
"damage.plasma": 0,
|
||||
"resistance.base": 0,
|
||||
"resistance.cold": 0,
|
||||
"resistance.gamma": 0,
|
||||
"resistance.heat": -0.1,
|
||||
"resistance.ion": -0.25,
|
||||
"resistance.physical": 0,
|
||||
"resistance.plasma": 0
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:Big_ship_thruster",
|
||||
"chance": 0.25,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:ore_copper",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,26 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:tutorial/tutorial_boss_hostile",
|
||||
"displayName": "enemies.original.tutorial.tutorial_boss_hostile",
|
||||
"stats": {
|
||||
"health": 60,
|
||||
"defense": 1.3,
|
||||
"damage": 4,
|
||||
"critical.chance": 0.3,
|
||||
"attack.rate": 2
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ore_coal",
|
||||
"chance": 1.0,
|
||||
"count": 50
|
||||
},
|
||||
{
|
||||
"id": "original:ore_copper",
|
||||
"chance": 1.0,
|
||||
"count": 20
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,24 +0,0 @@
|
||||
{
|
||||
"hostile": {
|
||||
"id": "original:tutorial/tutorial_hostile",
|
||||
"displayName": "enemies.original.tutorial.tutorial_hostile",
|
||||
"stats": {
|
||||
"health": 30,
|
||||
"defense": 0.0,
|
||||
"damage": 2,
|
||||
"critical.chance": 0.0,
|
||||
"attack.rate": 1
|
||||
},
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:ingot_iron",
|
||||
"chance": 0.8,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {}
|
||||
}
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:pirate/pirate_ambush_zone",
|
||||
"hostiles": [
|
||||
"original:pirates/scout_drone",
|
||||
"original:pirates/raider_frigate",
|
||||
"original:pirates/raider_frigate"
|
||||
],
|
||||
"gainXp": 25,
|
||||
"credits": 400
|
||||
}
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:pirate/pirate_boss_bridge",
|
||||
"hostiles": ["original:pirates/black_mark_cruiser"],
|
||||
"gainXp": 100,
|
||||
"credits": 2500
|
||||
}
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:pirate/pirate_patrol_room",
|
||||
"hostiles": [
|
||||
"original:pirates/scout_drone",
|
||||
"original:pirates/scout_drone"
|
||||
],
|
||||
"gainXp": 8,
|
||||
"credits": 120
|
||||
}
|
||||
}
|
||||
@ -1,9 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:pirate/pirate_supply_bay",
|
||||
"hostiles": [],
|
||||
"gainXp": 5,
|
||||
"credits": 800,
|
||||
"description": "You found a hidden cargo container filled with stolen tech."
|
||||
}
|
||||
}
|
||||
@ -1,45 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:themed/broken_reactor",
|
||||
"displayName": "rooms.original.themed.broken_reactor",
|
||||
"description": "rooms.original.themed.broken_reactor.desc",
|
||||
"hostiles": [
|
||||
"original:anomalies/electrical_anomaly",
|
||||
"original:creatures/gamma_fiend",
|
||||
"original:anomalies/electrical_anomaly",
|
||||
"original:creatures/gamma_fiend"
|
||||
],
|
||||
"gainXp": 145,
|
||||
"credits": 1000,
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:rtg",
|
||||
"chance": 0.66,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:gen2_fission_reactor",
|
||||
"chance": 0.33,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "original:alloy_superconductor",
|
||||
"chance": 0.2,
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"isBossRoom": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,18 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:themed/cold",
|
||||
"displayName": "rooms.original.themed.cold",
|
||||
"description": "rooms.original.themed.cold.desc",
|
||||
"hostiles": [
|
||||
"original:creatures/frost_fiend",
|
||||
"original:creatures/frost_fiend"
|
||||
],
|
||||
"gainXp": 69,
|
||||
"credits": 420,
|
||||
"loot": [],
|
||||
"meta": {
|
||||
"isBossRoom": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:themed/heat_anomaly",
|
||||
"displayName": "rooms.original.themed.heat_anomaly",
|
||||
"description": "rooms.original.themed.heat_anomaly.desc",
|
||||
"hostiles": [
|
||||
"original:anomalies/plasma_anomaly",
|
||||
"original:creatures/fire_fiend",
|
||||
"original:creatures/fire_fiend"
|
||||
],
|
||||
"gainXp": 25,
|
||||
"credits": 400,
|
||||
"loot": [],
|
||||
"meta": {
|
||||
"isBossRoom": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:themed/the_rat_one",
|
||||
"displayName": "rooms.original.themed.the_rat_one",
|
||||
"description": "rooms.original.themed.the_rat_one.desc",
|
||||
"hostiles": [
|
||||
"original:creatures/not_a_giant_rat",
|
||||
"original:creatures/not_a_giant_rat",
|
||||
"original:creatures/not_a_giant_rat"
|
||||
],
|
||||
"gainXp": 69,
|
||||
"credits": 420,
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:crystal_void",
|
||||
"chance": 1,
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"isBossRoom": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:tutorial/tutorial_boss_room",
|
||||
"displayName": "rooms.original.tutorial.tutorial_boss_room.name",
|
||||
"description": "rooms.original.tutorial.tutorial_boss_room.desc",
|
||||
"hostiles": ["original:tutorial/tutorial_boss_hostile"],
|
||||
"gainXp": 4,
|
||||
"credits": 200,
|
||||
"loot": [],
|
||||
"meta": {
|
||||
"isBossRoom": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,17 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:tutorial/tutorial_enemy_room",
|
||||
"displayName": "rooms.original.tutorial.tutorial_enemy_room.name",
|
||||
"description": "rooms.original.tutorial.tutorial_enemy_room.desc",
|
||||
"hostiles": [
|
||||
"original:tutorial/tutorial_hostile",
|
||||
"original:tutorial/tutorial_hostile"
|
||||
],
|
||||
"gainXp": 3,
|
||||
"credits": 30,
|
||||
"loot": [],
|
||||
"meta": {
|
||||
"isBossRoom": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,20 +0,0 @@
|
||||
{
|
||||
"rooms": {
|
||||
"id": "original:tutorial/tutorial_loot_room",
|
||||
"displayName": "rooms.original.tutorial.tutorial_loot_room.name",
|
||||
"description": "rooms.original.tutorial.tutorial_loot_room.desc",
|
||||
"hostiles": [],
|
||||
"gainXp": 0,
|
||||
"credits": 0,
|
||||
"loot": [
|
||||
{
|
||||
"id": "original:bio_pulp",
|
||||
"chance": 1.0,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"isBossRoom": false
|
||||
}
|
||||
}
|
||||
}
|
||||