ProjectRR — нативный прототип на ассетах ProjectR
- Все 189 скелетов Spine сконвертированы в нативные Godot Skeleton2D (.tscn), без Spine в рантайме - Меню + сцены: подземелье (карта комнат), просмотр спрайтов, нативные анимации - Кастомизация цвета (кожа/волосы/глаза) через шейдер - Вытащенные текстуры/UI/шрифты + нарезка спрайтов из атласа - Датасет комнат для LoRA, офлайн-инструменты конвертации в tools/ Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
[
|
||||
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["Patrol", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_combat",
|
||||
"Animation": ["walk_0"],
|
||||
"Loop": true,
|
||||
"IsCombat": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["Chase", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_combat",
|
||||
"Animation": ["walk_0"],
|
||||
"Loop": true,
|
||||
"IsCombat": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["Attack", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_combat",
|
||||
"Animation": ["attack_0"],
|
||||
"Loop": true,
|
||||
"IsCombat": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["Skill", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_combat",
|
||||
"Animation": ["attack_1"],
|
||||
"Loop": false,
|
||||
"IsCombat": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["Wait", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_combat",
|
||||
"Animation": ["idle_0"],
|
||||
"Loop": true,
|
||||
"IsCombat": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["Knockback", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_combat",
|
||||
"Animation": ["knockback_0"],
|
||||
"Loop": true,
|
||||
"IsCombat": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["Stun", "Combination"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_combat",
|
||||
"Animation": ["stun_0"],
|
||||
"Loop": true,
|
||||
"IsCombat": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["SkillIcon", "Combination"],
|
||||
"Image": [
|
||||
{
|
||||
"Path": "%image\skill_orcextractor1.png",
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"State": ["Map", "Map"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_combat",
|
||||
"Animation": ["portrait_0"],
|
||||
"Loop": false,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"Figure": ["OrcExtractor"],
|
||||
"State": ["Icon"],
|
||||
"Spine": [
|
||||
{
|
||||
"Path": "%spine\orcextractor_icon",
|
||||
"Animation": ["animation"],
|
||||
"Loop": true,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
]
|
||||
@@ -0,0 +1,28 @@
|
||||
[
|
||||
{
|
||||
"Group": "OrcExtractor",
|
||||
"Name": "#OrcExtractor",
|
||||
"Text": "#OrcExtractorText",
|
||||
"Script": "CombinationScripts.OrcExtractor",
|
||||
"List": [
|
||||
{
|
||||
"Figure": ["Orc", "Elf1"],
|
||||
"Size": [4, 1],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://swqav032vq4g"
|
||||
path="res://.godot/imported/skill_orcextractor1.png-85e1eac966bd789a93e0af8d1d8dc594.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://characters/orc_elf1/image/skill_orcextractor1.png"
|
||||
dest_files=["res://.godot/imported/skill_orcextractor1.png-85e1eac966bd789a93e0af8d1d8dc594.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"Id": "OrcExtractor",
|
||||
"Name": "#OrcExtractor",
|
||||
"Figure": "Orc",
|
||||
"Unit": "Orc",
|
||||
|
||||
"Type": "Monster",
|
||||
"Gender": "Male",
|
||||
"Race": "Orc",
|
||||
|
||||
"SexTime": [45],
|
||||
"BabyGrowthTime": [60],
|
||||
|
||||
"Health": [45],
|
||||
"Defense": [4],
|
||||
"Damage": [6],
|
||||
"CriticalHtiChance": [20],
|
||||
"CriticalHtiMultiplier": [165],
|
||||
"KnockbackStability": [25],
|
||||
"KnockbackDistance": [70],
|
||||
|
||||
"WalkingSpeed": [200],
|
||||
"WalkingSpeedMultiplier": [1],
|
||||
"AttackSpeedMultiplier": [1],
|
||||
|
||||
"RangeAngle": [20, -20],
|
||||
|
||||
"Size": [2, 0.5],
|
||||
"Deployment": [4, 1],
|
||||
|
||||
"Script": "CharacterScripts.OrcExtractor",
|
||||
|
||||
"ScriptCombat1": "CharacterBehaviourScripts.Hold",
|
||||
"ScriptCombat2": "CharacterBehaviourScripts.Forward_OrcExtractor",
|
||||
"ScriptCombat3": "CharacterBehaviourScripts.Forward_OrcExtractor",
|
||||
|
||||
"Skill": [
|
||||
{
|
||||
"Name": "#SkillNameOrcExtractor",
|
||||
"Text": "#SkillTextOrcExtractor",
|
||||
|
||||
"HitType": "Projectile:Elf1Weapon",
|
||||
"State": "Attack",
|
||||
"Range": [18],
|
||||
"Multiplier": [200],
|
||||
},
|
||||
],
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,38 @@
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://characters/orc_elf1/spine/orcextractor_icon.png" id="1_wc66s"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kyi6g"]
|
||||
length = 0.001
|
||||
loop_mode = 1
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fgutl"]
|
||||
_data = {
|
||||
&"animation": SubResource("Animation_kyi6g")
|
||||
}
|
||||
|
||||
[node name="Native" type="Node2D" unique_id=1753327938]
|
||||
|
||||
[node name="SpineRoot" type="Node2D" parent="." unique_id=1438423250]
|
||||
position = Vector2(640, 360)
|
||||
scale = Vector2(4.8403363, -4.8403363)
|
||||
|
||||
[node name="Skeleton2D" type="Skeleton2D" parent="SpineRoot" unique_id=1528273785]
|
||||
|
||||
[node name="root" type="Bone2D" parent="SpineRoot/Skeleton2D" unique_id=1210257956]
|
||||
rest = Transform2D(1, 0, 0, 1, 0, 0)
|
||||
auto_calculate_length_and_angle = false
|
||||
length = 0.0
|
||||
bone_angle = 0.0
|
||||
|
||||
[node name="Icon" type="Polygon2D" parent="SpineRoot/Skeleton2D" unique_id=1872219901]
|
||||
texture = ExtResource("1_wc66s")
|
||||
skeleton = NodePath("..")
|
||||
polygon = PackedVector2Array(2.5532973, 59.5, 58.5, 19.80742, 58.5, -4.55662, 4.0424323, -59.5, -2.9982274, -59.5, -58.5, -3.72896, -58.5, 3.86498, -2.6805527, 59.5)
|
||||
uv = PackedVector2Array(63.05329, 2, 119, 41.692585, 119, 66.05662, 64.54243, 121.00001, 57.50177, 121.00001, 2, 65.22896, 2, 57.63502, 57.81945, 2)
|
||||
polygons = [PackedInt32Array(2, 5, 6), PackedInt32Array(0, 1, 2), PackedInt32Array(2, 4, 5), PackedInt32Array(6, 7, 0), PackedInt32Array(6, 0, 2), PackedInt32Array(3, 4, 2)]
|
||||
bones = ["root", PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1)]
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1028766893]
|
||||
root_node = NodePath("../SpineRoot/Skeleton2D")
|
||||
libraries/ = SubResource("AnimationLibrary_fgutl")
|
||||
@@ -0,0 +1,231 @@
|
||||
orcextractor_combat.png
|
||||
size:868,868
|
||||
filter:Linear,Linear
|
||||
C_armA
|
||||
bounds:462,67,95,58
|
||||
offsets:573,361,1080,1080
|
||||
C_armchainA1
|
||||
bounds:526,607,69,75
|
||||
offsets:578,374,1080,1080
|
||||
C_armclothA
|
||||
bounds:671,431,61,53
|
||||
offsets:573,366,1080,1080
|
||||
C_armclothA2
|
||||
bounds:831,482,26,45
|
||||
offsets:609,365,1080,1080
|
||||
C_bodyA
|
||||
bounds:228,593,170,89
|
||||
offsets:521,337,1080,1080
|
||||
C_clothbodyA1
|
||||
bounds:509,6,37,59
|
||||
offsets:654,337,1080,1080
|
||||
C_clothbodyA2
|
||||
bounds:316,209,21,26
|
||||
offsets:664,332,1080,1080
|
||||
C_clothface
|
||||
bounds:634,145,52,35
|
||||
offsets:681,352,1080,1080
|
||||
C_clothlegA1
|
||||
bounds:583,492,94,99
|
||||
offsets:441,311,1080,1080
|
||||
C_clothlegA2
|
||||
bounds:831,529,35,84
|
||||
offsets:498,333,1080,1080
|
||||
C_faceA_a
|
||||
bounds:564,703,31,39
|
||||
offsets:696,341,1080,1080
|
||||
C_faceA_b
|
||||
bounds:832,184,32,37
|
||||
offsets:697,343,1080,1080
|
||||
C_faceB_a
|
||||
bounds:832,223,31,39
|
||||
offsets:696,341,1080,1080
|
||||
C_faceB_b
|
||||
bounds:735,92,32,37
|
||||
offsets:697,343,1080,1080
|
||||
C_hairbackA
|
||||
bounds:559,51,81,81
|
||||
offsets:660,347,1080,1080
|
||||
C_hairbackB1_1
|
||||
bounds:734,463,95,71
|
||||
offsets:602,378,1080,1080
|
||||
C_hairbackB1_2
|
||||
bounds:794,264,66,62
|
||||
offsets:631,375,1080,1080
|
||||
C_hairbackB2_2
|
||||
bounds:2,307,200,284
|
||||
offsets:515,119,1080,1080
|
||||
C_hairclothA1
|
||||
bounds:548,271,69,95
|
||||
offsets:621,332,1080,1080
|
||||
C_hairfrontA1_1
|
||||
bounds:804,328,43,75
|
||||
offsets:690,337,1080,1080
|
||||
C_hairfrontA1_2
|
||||
bounds:821,615,45,89
|
||||
offsets:688,323,1080,1080
|
||||
C_hairfrontA2_1
|
||||
bounds:624,182,46,88
|
||||
offsets:671,328,1080,1080
|
||||
C_hairfrontA2_2
|
||||
bounds:679,486,53,105
|
||||
offsets:666,311,1080,1080
|
||||
C_hairfrontA3_1
|
||||
bounds:567,744,28,68
|
||||
offsets:719,333,1080,1080
|
||||
C_hairfrontA3_2
|
||||
bounds:672,183,27,87
|
||||
offsets:719,314,1080,1080
|
||||
C_hairfrontA4_1
|
||||
bounds:673,288,42,83
|
||||
offsets:709,328,1080,1080
|
||||
C_hairfrontA4_2
|
||||
bounds:619,272,52,94
|
||||
offsets:705,318,1080,1080
|
||||
C_hairfrontB
|
||||
bounds:688,131,52,34
|
||||
offsets:689,373,1080,1080
|
||||
C_headA
|
||||
bounds:200,18,119,61
|
||||
offsets:620,336,1080,1080
|
||||
C_legA1
|
||||
bounds:204,81,143,123
|
||||
offsets:441,311,1080,1080
|
||||
C_legA1_L
|
||||
bounds:716,2,33,28
|
||||
offsets:516,400,1080,1080
|
||||
C_legA2
|
||||
bounds:597,593,120,122
|
||||
offsets:349,310,1080,1080
|
||||
C_legB1
|
||||
bounds:701,210,67,69
|
||||
offsets:540,364,1080,1080
|
||||
C_legchainA1
|
||||
bounds:656,373,58,56
|
||||
offsets:360,364,1080,1080
|
||||
C_nippleA
|
||||
bounds:671,32,44,29
|
||||
offsets:606,276,1080,1080
|
||||
C_nippleB
|
||||
bounds:686,63,45,29
|
||||
offsets:643,278,1080,1080
|
||||
C_pregnant_1
|
||||
bounds:583,444,86,46
|
||||
offsets:542,324,1080,1080
|
||||
C_pregnant_2
|
||||
bounds:734,405,100,56
|
||||
offsets:535,316,1080,1080
|
||||
C_pregnant_3
|
||||
bounds:403,2,104,63
|
||||
offsets:532,308,1080,1080
|
||||
C_pregnant_4
|
||||
bounds:548,368,106,74
|
||||
offsets:530,300,1080,1080
|
||||
C_titsA
|
||||
bounds:123,23,75,93
|
||||
offsets:597,281,1080,1080
|
||||
C_titsA_L
|
||||
bounds:770,193,60,69
|
||||
offsets:611,286,1080,1080
|
||||
C_titsB
|
||||
bounds:550,177,72,92
|
||||
offsets:624,282,1080,1080
|
||||
M_armA1
|
||||
bounds:204,206,110,197
|
||||
offsets:380,417,1080,1080
|
||||
M_armA2
|
||||
bounds:605,717,129,149
|
||||
offsets:377,320,1080,1080
|
||||
M_armB1
|
||||
bounds:335,411,95,180
|
||||
offsets:553,416,1080,1080
|
||||
M_armB2
|
||||
bounds:462,127,86,131
|
||||
offsets:573,347,1080,1080
|
||||
M_body
|
||||
bounds:2,593,224,273
|
||||
offsets:388,360,1080,1080
|
||||
M_chainA1
|
||||
bounds:734,536,85,82
|
||||
offsets:561,436,1080,1080
|
||||
M_chainA2
|
||||
bounds:717,281,75,62
|
||||
offsets:589,446,1080,1080
|
||||
M_chainB1
|
||||
bounds:349,76,111,159
|
||||
offsets:476,468,1080,1080
|
||||
M_chainB2
|
||||
bounds:535,463,46,142
|
||||
offsets:593,468,1080,1080
|
||||
M_cumshotA_a
|
||||
bounds:686,94,47,35
|
||||
offsets:467,375,1080,1080
|
||||
M_cumshotB_a
|
||||
bounds:632,2,37,47
|
||||
offsets:484,326,1080,1080
|
||||
M_dickA
|
||||
bounds:818,147,45,35
|
||||
offsets:527,368,1080,1080
|
||||
M_dickB
|
||||
bounds:548,9,82,40
|
||||
offsets:481,361,1080,1080
|
||||
M_dickC
|
||||
bounds:321,2,80,72
|
||||
offsets:446,300,1080,1080
|
||||
M_eye
|
||||
bounds:763,156,53,35
|
||||
offsets:584,593,1080,1080
|
||||
M_headA1
|
||||
bounds:717,345,85,58
|
||||
offsets:544,548,1080,1080
|
||||
M_headA2
|
||||
bounds:701,167,60,41
|
||||
offsets:570,569,1080,1080
|
||||
M_headB1
|
||||
bounds:2,19,119,97
|
||||
offsets:528,575,1080,1080
|
||||
M_headB1_L
|
||||
bounds:733,64,36,26
|
||||
offsets:552,643,1080,1080
|
||||
M_headB2
|
||||
bounds:671,2,43,28
|
||||
offsets:580,576,1080,1080
|
||||
M_legA1
|
||||
bounds:432,431,101,169
|
||||
offsets:371,131,1080,1080
|
||||
M_legA2
|
||||
bounds:204,405,129,186
|
||||
offsets:364,232,1080,1080
|
||||
M_legB1
|
||||
bounds:316,237,109,166
|
||||
offsets:531,138,1080,1080
|
||||
M_legB2
|
||||
bounds:2,118,200,187
|
||||
offsets:448,241,1080,1080
|
||||
M_legclothA1
|
||||
bounds:719,620,98,84
|
||||
offsets:365,116,1080,1080
|
||||
M_legclothA2
|
||||
bounds:736,706,119,160
|
||||
offsets:365,139,1080,1080
|
||||
M_legclothB1
|
||||
bounds:400,602,124,80
|
||||
offsets:519,127,1080,1080
|
||||
M_legclothB2
|
||||
bounds:427,260,119,149
|
||||
offsets:528,144,1080,1080
|
||||
M_semenA_1
|
||||
bounds:550,134,82,41
|
||||
offsets:483,363,1080,1080
|
||||
M_semenB_1
|
||||
bounds:642,69,42,74
|
||||
offsets:474,298,1080,1080
|
||||
shadow
|
||||
bounds:228,814,375,52
|
||||
offsets:344,114,1080,1080
|
||||
weapon_skill_a
|
||||
bounds:228,684,334,63
|
||||
offsets:625,446,1080,1080
|
||||
weapon_skill_b
|
||||
bounds:228,749,337,63
|
||||
offsets:625,446,1080,1080
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 363 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dil77fprfatc5"
|
||||
path="res://.godot/imported/orcextractor_combat.png-a4e08c067e0f578b4dd871c3e944b114.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://characters/orc_elf1/spine/orcextractor_combat.png"
|
||||
dest_files=["res://.godot/imported/orcextractor_combat.png-a4e08c067e0f578b4dd871c3e944b114.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
orcextractor_icon.png
|
||||
size:124,124
|
||||
filter:Linear,Linear
|
||||
Button_unitmix_4
|
||||
bounds:2,2,117,119
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cb60iw3mbeoub"
|
||||
path="res://.godot/imported/orcextractor_icon.png-71ea44624e0a9dacd3d2b12df377351d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://characters/orc_elf1/spine/orcextractor_icon.png"
|
||||
dest_files=["res://.godot/imported/orcextractor_icon.png-71ea44624e0a9dacd3d2b12df377351d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"Type": "Combination",
|
||||
"Id": "OrcExtractor",
|
||||
"Cost": 20,
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user