upd
This commit is contained in:
parent
5c9be94aba
commit
8b61aa1d7b
15
Assets/Items/Cloth/3dglasses.clitem
Normal file
15
Assets/Items/Cloth/3dglasses.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "bugulma/3dglasses",
|
||||
"Slot": "Body",
|
||||
"Name": "3D Glasses",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/bugulma/3dglasses/thumb/9f61b3b4-74cb-4eb5-9ec8-eb399c7c9c7d.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/arrowthroughhead.clitem
Normal file
15
Assets/Items/Cloth/arrowthroughhead.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "microfivetwotwo/arrowthroughhead",
|
||||
"Slot": "Body",
|
||||
"Name": "Arrow through head",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/microfivetwotwo.arrowthroughhead/thumb.png.84ad8ab39e94fb7f",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/aviatorsunglasses.clitem
Normal file
15
Assets/Items/Cloth/aviatorsunglasses.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "bugulma/aviatorsunglasses",
|
||||
"Slot": "Body",
|
||||
"Name": "Aviator Sunglasses",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/bugulma/aviatorsunglasses/thumb/af7f9115-c03a-411f-84d9-364c21a3a88a.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/axolotlhat.clitem
Normal file
15
Assets/Items/Cloth/axolotlhat.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "gbonn/axolotlhat",
|
||||
"Slot": "Body",
|
||||
"Name": "Axolotl Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/gbonn.axolotlhat/thumb.png.6904ffacd460d7ac",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/balaclavanoholesblack.clitem
Normal file
15
Assets/Items/Cloth/balaclavanoholesblack.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/balaclavanoholesblack",
|
||||
"Slot": "Body",
|
||||
"Name": "Balaclava Noholes Black",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/balaclavanoholesblack/thumb/718ab42d-4149-4533-ada2-7c1f22fe138d.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/ballisticmaskv1.clitem
Normal file
15
Assets/Items/Cloth/ballisticmaskv1.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/ballisticmaskv1",
|
||||
"Slot": "Body",
|
||||
"Name": "Ballistic Mask - Slightly Worn",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/ballisticmaskv1/thumb/4a6d7662-29b0-4f0c-a6ed-90b2905116dd.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/bunnyears.clitem
Normal file
15
Assets/Items/Cloth/bunnyears.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "neil/bunnyears",
|
||||
"Slot": "Body",
|
||||
"Name": "Bunny Ears",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/neil.bunnyears/thumb.png.3fc91cf542b0f276",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/classicbasketballsneakers.clitem
Normal file
15
Assets/Items/Cloth/classicbasketballsneakers.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "microfivetwotwo/classicbasketballsneakers",
|
||||
"Slot": "Body",
|
||||
"Name": "Classic Basketball Sneakers",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/microfivetwotwo.classicbasketballsneakers/thumb.png.5e316a9db5ed8a1d",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/cleaningglovesv1.clitem
Normal file
15
Assets/Items/Cloth/cleaningglovesv1.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/cleaningglovesv1",
|
||||
"Slot": "Body",
|
||||
"Name": "Cleaning Gloves 2 tone",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/cleaningglovesv1/thumb/3bcc1fb8-b7ba-47d4-a7e3-6a61243bb15a.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/cleaningglovesv2.clitem
Normal file
15
Assets/Items/Cloth/cleaningglovesv2.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/cleaningglovesv2",
|
||||
"Slot": "Body",
|
||||
"Name": "Black Cleaning Gloves",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/cleaningglovesv2/thumb/d0ecb094-4931-4619-be25-3628711b9431.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/cyberpunkglasses.clitem
Normal file
15
Assets/Items/Cloth/cyberpunkglasses.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "jammie/cyberpunkglasses",
|
||||
"Slot": "Body",
|
||||
"Name": "Cyberpunk Glasses",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/jammie.cyberpunkglasses/thumb.png.ac1dde3ce46a63e8",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/denimshorts.clitem
Normal file
15
Assets/Items/Cloth/denimshorts.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "doubletrouble/denimshorts",
|
||||
"Slot": "Body",
|
||||
"Name": "Denim Shorts",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/doubletrouble/denimshorts/thumb/6eb2b1e4-d5cc-4afb-8482-ef4b3c049727.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/devilhorns.clitem
Normal file
15
Assets/Items/Cloth/devilhorns.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "zedskipper/devilhorns",
|
||||
"Slot": "Body",
|
||||
"Name": "Devil Horns",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/zedskipper.devilhorns/thumb.png.6d4a8cdf9b857a8f",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/devilwings.clitem
Normal file
15
Assets/Items/Cloth/devilwings.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "zedskipper/devilwings",
|
||||
"Slot": "Body",
|
||||
"Name": "Devil Wings",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/zedskipper/devilwings/thumb/51af0358-cba4-4213-8664-98104900638b.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/doubletophat.clitem
Normal file
15
Assets/Items/Cloth/doubletophat.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "gbonn/doubletophat",
|
||||
"Slot": "Body",
|
||||
"Name": "Double Top Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/gbonn.doubletophat/thumb.png.b7cf66efffe14d5f",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/duckhat.clitem
Normal file
15
Assets/Items/Cloth/duckhat.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/duckhat",
|
||||
"Slot": "Body",
|
||||
"Name": "Duck Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/duckhat/thumb/1588b283-19e0-4982-a421-f90068fa688c.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/firefighter_helmet_top.clitem
Normal file
15
Assets/Items/Cloth/firefighter_helmet_top.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "zedskipper/firefighter_helmet_top",
|
||||
"Slot": "Body",
|
||||
"Name": "Firefighter Helmet",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/zedskipper.firefighter_helmet_top/thumb.png.ce6459e8d15f4efa",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/fluffyslippers.clitem
Normal file
15
Assets/Items/Cloth/fluffyslippers.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "shadb/fluffyslippers",
|
||||
"Slot": "Body",
|
||||
"Name": "Fluffy Slippers",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/shadb.fluffyslippers/thumb.png.74097a2166abfb5",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/froghatv1.clitem
Normal file
15
Assets/Items/Cloth/froghatv1.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/froghatv1",
|
||||
"Slot": "Body",
|
||||
"Name": "Frog Bucket Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/froghatv1/thumb/84c3fed2-376c-49bc-a54e-3c8ba00f5530.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/goathorns.clitem
Normal file
15
Assets/Items/Cloth/goathorns.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "stellawisps/goathorns",
|
||||
"Slot": "Body",
|
||||
"Name": "Horns",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/stellawisps.goathorns/thumb.png.f0af53d423adb315",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/hatjester.clitem
Normal file
15
Assets/Items/Cloth/hatjester.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "lakrin/hatjester",
|
||||
"Slot": "Body",
|
||||
"Name": "Jester Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/lakrin.hatjester/thumb.png.12c08519ee16b454",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/hockeymask.clitem
Normal file
15
Assets/Items/Cloth/hockeymask.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "doubletrouble/hockeymask",
|
||||
"Slot": "Body",
|
||||
"Name": "Hockey Mask",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/doubletrouble.hockeymask/thumb.png.a188f9176597da70",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/homberg_hat.clitem
Normal file
15
Assets/Items/Cloth/homberg_hat.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "zontax/homberg_hat",
|
||||
"Slot": "Body",
|
||||
"Name": "Homberg Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/zontax.homberg_hat/thumb.png.e9ed7f1952377c22",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/imwithterrytshirt.clitem
Normal file
15
Assets/Items/Cloth/imwithterrytshirt.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "microfivetwotwo/imwithterrytshirt",
|
||||
"Slot": "Body",
|
||||
"Name": "I\u0027m with Terry T-Shirt",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/microfivetwotwo.imwithterrytshirt/thumb.png.ece2bc0c74946d6b",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/jetpack.clitem
Normal file
15
Assets/Items/Cloth/jetpack.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "bitropy/jetpack",
|
||||
"Slot": "Body",
|
||||
"Name": "Jetpack",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/bitropy.jetpack/thumb.png.d0b1def606dfc2b7",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/jussipaitajumper.clitem
Normal file
15
Assets/Items/Cloth/jussipaitajumper.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "luke/jussipaitajumper",
|
||||
"Slot": "Body",
|
||||
"Name": "Jussipaita Jumper",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/luke.jussipaitajumper/thumb.png.b1175df9d30f95d2",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/looseblackpants.clitem
Normal file
15
Assets/Items/Cloth/looseblackpants.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/looseblackpants",
|
||||
"Slot": "Body",
|
||||
"Name": "Loose Black Pants",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/looseblackpants/thumb/28653368-fde8-4b09-9adf-591f46afbb3c.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/loosebrownpants.clitem
Normal file
15
Assets/Items/Cloth/loosebrownpants.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/loosebrownpants",
|
||||
"Slot": "Body",
|
||||
"Name": "Loose Brown Pants",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/loosebrownpants/thumb/34fed9c3-d279-4608-8dd4-1f1dedca188e.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/melonhelmet.clitem
Normal file
15
Assets/Items/Cloth/melonhelmet.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "gbonn/melonhelmet",
|
||||
"Slot": "Body",
|
||||
"Name": "Melon Helmet",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/gbonn.melonhelmet/thumb.png.f4b3ec8c275076c3",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/nvg.clitem
Normal file
15
Assets/Items/Cloth/nvg.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "bugulma/nvg",
|
||||
"Slot": "Body",
|
||||
"Name": "Night-vision Goggles",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/bugulma/nvg/thumb/6c78edae-06ee-48b9-aa5b-4f751187a155.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/paperbag.clitem
Normal file
15
Assets/Items/Cloth/paperbag.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "raf/paperbag",
|
||||
"Slot": "Body",
|
||||
"Name": "Paper Bag Mask",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/raf/paperbag/thumb/f2d2e954-5032-45e8-a55c-c9bb6c756c08.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/piratehat.clitem
Normal file
15
Assets/Items/Cloth/piratehat.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "zedskipper/piratehat",
|
||||
"Slot": "Body",
|
||||
"Name": "Pirate Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/zedskipper.piratehat/thumb.png.4dc0302e00f6fbd7",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/poncho2.clitem
Normal file
15
Assets/Items/Cloth/poncho2.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "edgyvoxel/poncho2",
|
||||
"Slot": "Body",
|
||||
"Name": "Western Poncho",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/edgyvoxel/poncho2/thumb/326c9f9b-6b35-478b-b617-f50318173df3.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/propanetankhelm.clitem
Normal file
15
Assets/Items/Cloth/propanetankhelm.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/propanetankhelm",
|
||||
"Slot": "Body",
|
||||
"Name": "Propane Tank Helm",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/propanetankhelm/thumb/f3f94d9c-0782-4f8a-9fbf-9c0c66e099bc.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/propellerhat.clitem
Normal file
15
Assets/Items/Cloth/propellerhat.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "gbonn/propellerhat",
|
||||
"Slot": "Body",
|
||||
"Name": "Propeller Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/gbonn.propellerhat/thumb.png.39d839fc687bb529",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/pyjamabottoms.clitem
Normal file
15
Assets/Items/Cloth/pyjamabottoms.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "pukes/pyjamabottoms",
|
||||
"Slot": "Body",
|
||||
"Name": "Pyjama Bottoms",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/pukes.pyjamabottoms/thumb.png.2c4ce23bebd09859",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
@ -3,9 +3,13 @@
|
||||
"Slot": "Body",
|
||||
"Name": "Pyjama Top",
|
||||
"Description": null,
|
||||
"Prefab": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/pukes.pyjamatop/thumb.png.9405387bc9d8e406",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/rangerhelmet.clitem
Normal file
15
Assets/Items/Cloth/rangerhelmet.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "bulldog/rangerhelmet",
|
||||
"Slot": "Body",
|
||||
"Name": "Ranger Helmet",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/bulldog.rangerhelmet/thumb.png.72fd06137d4691df",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/reapersuit.clitem
Normal file
15
Assets/Items/Cloth/reapersuit.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "microfivetwotwo/reapersuit",
|
||||
"Slot": "Body",
|
||||
"Name": "Reaper Suit",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/microfivetwotwo.reapersuit/thumb.png.9233598a0d5c782",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/retrotechracerhelmet.clitem
Normal file
15
Assets/Items/Cloth/retrotechracerhelmet.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "microfivetwotwo/retrotechracerhelmet",
|
||||
"Slot": "Body",
|
||||
"Name": "Retrotech Racer Helmet",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/microfivetwotwo.retrotechracerhelmet/thumb.png.6debe4873184c136",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/safetyglasses.clitem
Normal file
15
Assets/Items/Cloth/safetyglasses.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "gkaf/safetyglasses",
|
||||
"Slot": "Body",
|
||||
"Name": "Safety Glasses",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/gkaf.safetyglasses/thumb.png.4930fdfd9dcd705c",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/sfsocks.clitem
Normal file
15
Assets/Items/Cloth/sfsocks.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "luke/sfsocks",
|
||||
"Slot": "Body",
|
||||
"Name": "Smallfish Socks",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/luke.sfsocks/thumb.png.1afb82a849d2f8d3",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/sharkhead.clitem
Normal file
15
Assets/Items/Cloth/sharkhead.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "shadb/sharkhead",
|
||||
"Slot": "Body",
|
||||
"Name": "Shark Head",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/shadb.sharkhead/thumb.png.cda75d69b325a050",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/skibidilid.clitem
Normal file
15
Assets/Items/Cloth/skibidilid.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "microfivetwotwo/skibidilid",
|
||||
"Slot": "Body",
|
||||
"Name": "Skibidi Lid",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/microfivetwotwo.skibidilid/thumb.png.c7d32555cfd3eb63",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/skihelmet.clitem
Normal file
15
Assets/Items/Cloth/skihelmet.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/skihelmet",
|
||||
"Slot": "Body",
|
||||
"Name": "Ski Helmet",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/skihelmet/thumb/0eca8fcf-1cb2-47da-9fba-d89bd0ae30fc.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/skihelmetgreen.clitem
Normal file
15
Assets/Items/Cloth/skihelmetgreen.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/skihelmetgreen",
|
||||
"Slot": "Body",
|
||||
"Name": "Ski Helmet Green",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/skihelmetgreen/thumb/9fb0468b-fa48-4c39-a80c-870d91293046.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/sleepmask.clitem
Normal file
15
Assets/Items/Cloth/sleepmask.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "pukes/sleepmask",
|
||||
"Slot": "Body",
|
||||
"Name": "Sleep Mask",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/pukes.sleepmask/thumb.png.b87686ad5d97c35a",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/snowgoggles.clitem
Normal file
15
Assets/Items/Cloth/snowgoggles.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "jammie/snowgoggles",
|
||||
"Slot": "Body",
|
||||
"Name": "Snow Goggles",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/jammie.snowgoggles/thumb.png.2fe4662e72e3ea5f",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/snowmitten.clitem
Normal file
15
Assets/Items/Cloth/snowmitten.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "jammie/snowmitten",
|
||||
"Slot": "Body",
|
||||
"Name": "Snow Mitten",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/jammie.snowmitten/thumb.png.df78824a882b0fc0",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/striped_jumper.clitem
Normal file
15
Assets/Items/Cloth/striped_jumper.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "saandy/striped_jumper",
|
||||
"Slot": "Body",
|
||||
"Name": "Striped Jumper",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/saandy.striped_jumper/thumb.png.e7d9044e41dc9eb2",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/sunglasseswithanimatedlenses.clitem
Normal file
15
Assets/Items/Cloth/sunglasseswithanimatedlenses.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "microfivetwotwo/sunglasseswithanimatedlenses",
|
||||
"Slot": "Body",
|
||||
"Name": "Jackpot Animated Sunglasses",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/microfivetwotwo.sunglasseswithanimatedlenses/thumb.png.4cd0e084b475da06",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/teashades.clitem
Normal file
15
Assets/Items/Cloth/teashades.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "bugulma/teashades",
|
||||
"Slot": "Body",
|
||||
"Name": "Teashade Sunglasses",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/bugulma/teashades/thumb/1fff6fe6-2c7e-4b62-849c-e29431069241.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/thugglasses.clitem
Normal file
15
Assets/Items/Cloth/thugglasses.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "fanlab/thugglasses",
|
||||
"Slot": "Body",
|
||||
"Name": "Thug Glasses",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/fanlab.thugglasses/thumb.png.16669a12b1e62af3",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/tracktop.clitem
Normal file
15
Assets/Items/Cloth/tracktop.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "daemoncast/tracktop",
|
||||
"Slot": "Body",
|
||||
"Name": "Tracktop",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/daemoncast.tracktop/thumb.png.66d21464a19ee9e0",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/trafficcone.clitem
Normal file
15
Assets/Items/Cloth/trafficcone.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "gbonn/trafficcone",
|
||||
"Slot": "Body",
|
||||
"Name": "Traffic Cone",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/gbonn.trafficcone/thumb.png.a97a7cac4a8e8918",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/varsityjacket.clitem
Normal file
15
Assets/Items/Cloth/varsityjacket.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "luke/varsityjacket",
|
||||
"Slot": "Body",
|
||||
"Name": "Varsity Jacket",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/luke.varsityjacket/thumb.png.89c73c05e40e0f6a",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/weldinggogglesvisorup.clitem
Normal file
15
Assets/Items/Cloth/weldinggogglesvisorup.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/weldinggogglesvisorup",
|
||||
"Slot": "Body",
|
||||
"Name": "Welding Goggles Visor Up",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/weldinggogglesvisorup/thumb/ff7a517b-ded4-49e6-b777-696e6a6b8f0b.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/whitetanktop.clitem
Normal file
15
Assets/Items/Cloth/whitetanktop.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/whitetanktop",
|
||||
"Slot": "Body",
|
||||
"Name": "White Tank top",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/whitetanktop/thumb/03760953-e3ef-4a1d-9d4d-8514d4a4a65a.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/whitetanktopspoiled.clitem
Normal file
15
Assets/Items/Cloth/whitetanktopspoiled.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "ducksworkshop/whitetanktopspoiled",
|
||||
"Slot": "Body",
|
||||
"Name": "Spoiled White Tank Top",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/ducksworkshop/whitetanktopspoiled/thumb/e5cddda6-bc97-4e43-a98e-c0b069cf4a73.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/wizardhat.clitem
Normal file
15
Assets/Items/Cloth/wizardhat.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "shadb/wizardhat",
|
||||
"Slot": "Body",
|
||||
"Name": "Wizard Hat",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/shadb.wizardhat/thumb.png.e1eed67e9d79abca",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
15
Assets/Items/Cloth/xvioutfit.clitem
Normal file
15
Assets/Items/Cloth/xvioutfit.clitem
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ClothUrl": "edgyvoxel/xvioutfit",
|
||||
"Slot": "Body",
|
||||
"Name": "17th Outfit",
|
||||
"Description": null,
|
||||
"Prefab": {
|
||||
"_type": "gameobject",
|
||||
"prefab": "prefabs/item_parcel.prefab"
|
||||
},
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/org/edgyvoxel/xvioutfit/thumb/648dca1c-4b2a-4b9f-bdd2-bca374536455.png",
|
||||
"MaxCount": 1,
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
{
|
||||
"ClothUrl": "pukes/pyjamabottoms",
|
||||
"Slot": "Body",
|
||||
"Name": "Pyjama Bottoms",
|
||||
"Description": "Pyjama Bottoms",
|
||||
"Prefab": null,
|
||||
"ImageTexture": null,
|
||||
"ImageUrl": "https://cdn.sbox.game/asset/pukes.pyjamatop/thumb.png.9405387bc9d8e406",
|
||||
"__references": [],
|
||||
"__version": 0
|
||||
}
|
||||
@ -133,6 +133,7 @@
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"OverrideGravity": "0,0,-1",
|
||||
"Renderer": {
|
||||
"_type": "component",
|
||||
"component_id": "559de9a6-0eab-4676-99e4-9e6c3cdc2a95",
|
||||
@ -250,6 +251,30 @@
|
||||
"Static": false,
|
||||
"Surface": null,
|
||||
"SurfaceVelocity": "0,0,0"
|
||||
},
|
||||
{
|
||||
"__type": "Sandbox.Dresser",
|
||||
"__guid": "7b5b1f12-0e9a-4319-bd8e-dfe338cce579",
|
||||
"__enabled": true,
|
||||
"ApplyHeightScale": true,
|
||||
"BodyTarget": {
|
||||
"_type": "component",
|
||||
"component_id": "559de9a6-0eab-4676-99e4-9e6c3cdc2a95",
|
||||
"go": "4ee14eb8-86a4-4742-8298-7492b7deccea",
|
||||
"component_type": "SkinnedModelRenderer"
|
||||
},
|
||||
"Clothing": [],
|
||||
"ManualAge": 0.5,
|
||||
"ManualHeight": 0.5,
|
||||
"ManualTint": 0.5,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"Source": "Manual",
|
||||
"WorkshopItems": []
|
||||
}
|
||||
],
|
||||
"Children": [
|
||||
@ -1995,7 +2020,7 @@
|
||||
"Flags": 8,
|
||||
"Name": "aim_matrix_02a",
|
||||
"Position": "5.864844,0.005568608,9.842515",
|
||||
"Rotation": "-0.00000000000000000000001185265,0.0000000000000001455021,-0.000000387137,1",
|
||||
"Rotation": "-0.00000000000000000000001185265,0.0000000000000001455021,-0.0000003871369,1",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2012,7 +2037,7 @@
|
||||
"Flags": 8,
|
||||
"Name": "aim_matrix_02b",
|
||||
"Position": "9.801846,0.005565077,9.842513",
|
||||
"Rotation": "-0.00000000000000000000001185277,0.0000000000000001455018,-0.000000387137,1",
|
||||
"Rotation": "-0.00000000000000000000001185278,0.0000000000000001455018,-0.0000003871369,1",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2028,8 +2053,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "ankle_R",
|
||||
"Position": "0.409983,-4.377514,3.807766",
|
||||
"Rotation": "0.6728485,0.2185345,-0.3316539,0.624118",
|
||||
"Position": "0.4100258,-4.377087,3.80752",
|
||||
"Rotation": "0.672856,0.2185197,-0.3316687,0.6241072",
|
||||
"Scale": "1.000001,1.000001,1.000001",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2045,8 +2070,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "ankle_L",
|
||||
"Position": "0.4083189,4.428035,3.806114",
|
||||
"Rotation": "0.6245992,0.3320901,-0.2183362,0.6722509",
|
||||
"Position": "0.4083739,4.427568,3.805843",
|
||||
"Rotation": "0.624587,0.3321075,-0.2183182,0.6722596",
|
||||
"Scale": "1.000001,1.000001,1.000001",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2062,8 +2087,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "arm_lower_R",
|
||||
"Position": "-2.1681,-9.431196,41.19865",
|
||||
"Rotation": "0.4944381,0.37219,-0.5413064,0.5692039",
|
||||
"Position": "-2.248101,-8.62746,41.00563",
|
||||
"Rotation": "0.5017254,0.3809418,-0.5422131,0.5560213",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2079,8 +2104,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "arm_lower_L",
|
||||
"Position": "-2.005183,9.136837,41.20834",
|
||||
"Rotation": "0.5773867,0.5358267,-0.3725455,0.4906366",
|
||||
"Position": "-1.88412,9.84506,41.47677",
|
||||
"Rotation": "0.5825445,0.5398754,-0.372816,0.4797757",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2096,8 +2121,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "hand_R",
|
||||
"Position": "-1.112873,-11.34385,33.80799",
|
||||
"Rotation": "0.4663244,0.3495446,-0.5979788,0.5502559",
|
||||
"Position": "-1.309633,-10.32845,33.54772",
|
||||
"Rotation": "0.4728318,0.3592023,-0.5989242,0.5373023",
|
||||
"Scale": "1.000004,1.000004,1.000004",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2113,8 +2138,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "hand_L",
|
||||
"Position": "-0.8630744,11.08804,33.84074",
|
||||
"Rotation": "0.5587665,0.5926774,-0.3494848,0.4630054",
|
||||
"Position": "-0.8122468,11.93556,34.13684",
|
||||
"Rotation": "0.564046,0.596406,-0.3489397,0.4520986",
|
||||
"Scale": "1.000004,1.000004,1.000004",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2130,8 +2155,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "hold_R",
|
||||
"Position": "0.3033191,-10.05647,27.72632",
|
||||
"Rotation": "0.3018348,0.7246752,0.06230799,0.6163273",
|
||||
"Position": "0.04548915,-8.87489,27.48961",
|
||||
"Rotation": "0.3158478,0.7257434,0.06756637,0.6074303",
|
||||
"Scale": "1.000005,1.000005,1.000005",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2147,9 +2172,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "hold_L",
|
||||
"Position": "0.5723044,9.822827,27.75871",
|
||||
"Rotation": "-0.2925257,0.7254868,-0.06610834,0.6194572",
|
||||
"Scale": "1.000005,1.000005,1.000005",
|
||||
"Position": "0.5382646,10.78157,28.01336",
|
||||
"Rotation": "-0.2832639,0.7311895,-0.05981389,0.6176938",
|
||||
"Scale": "1.000004,1.000004,1.000004",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2165,7 +2190,7 @@
|
||||
"Flags": 8,
|
||||
"Name": "IK_right_hand",
|
||||
"Position": "-1.684358,-11.3081,33.23968",
|
||||
"Rotation": "0.4603032,0.3490922,-0.6097353,0.5426588",
|
||||
"Rotation": "0.4603033,0.3490922,-0.6097354,0.5426587",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2182,7 +2207,7 @@
|
||||
"Flags": 8,
|
||||
"Name": "IK_left_hand",
|
||||
"Position": "-1.501041,11.36666,33.23686",
|
||||
"Rotation": "0.5482481,0.6048241,-0.3533375,0.4569075",
|
||||
"Rotation": "0.5482481,0.6048241,-0.3533374,0.4569075",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2198,8 +2223,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "leg_lower_R",
|
||||
"Position": "3.02255,-4.632833,16.04495",
|
||||
"Rotation": "0.4713203,0.5268413,-0.5716739,0.4165147",
|
||||
"Position": "2.155842,-4.43963,16.20059",
|
||||
"Rotation": "0.491346,0.5029026,-0.5628809,0.4345495",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2215,9 +2240,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "leg_lower_L",
|
||||
"Position": "2.155716,4.636949,16.19732",
|
||||
"Rotation": "0.4311262,0.5604271,-0.5056977,0.494289",
|
||||
"Scale": "1.000001,1.000001,1.000001",
|
||||
"Position": "3.027968,4.837151,16.03734",
|
||||
"Rotation": "0.4127347,0.5692022,-0.5297762,0.4743376",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2232,8 +2257,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "middle_of_both_hands",
|
||||
"Position": "-0.7482702,-0.11094,29.00881",
|
||||
"Rotation": "0.004989519,0.7527336,-0.001331221,0.6583049",
|
||||
"Position": "-0.8828036,0.9401312,29.01773",
|
||||
"Rotation": "0.01912965,0.7545437,0.003921955,0.6559592",
|
||||
"Scale": "1.000004,1.000004,1.000004",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2249,7 +2274,7 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_arm_upper_R_twist1",
|
||||
"Position": "-1.2787,-8.364439,46.02543",
|
||||
"Position": "-1.32694,-7.710932,45.85728",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
@ -2266,7 +2291,7 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_arm_lower_R_twist1",
|
||||
"Position": "-1.640486,-10.38752,37.50332",
|
||||
"Position": "-1.778867,-9.477953,37.27668",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
@ -2283,9 +2308,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_elbow_R_position",
|
||||
"Position": "-2.180049,-9.433502,41.19473",
|
||||
"Rotation": "-0.02861762,-0.6189936,0.7847716,0.01270967",
|
||||
"Scale": "1.000004,1.000004,1.000004",
|
||||
"Position": "-2.251795,-8.630569,41.00162",
|
||||
"Rotation": "-0.02769216,-0.6303626,0.7755523,0.01986925",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2300,9 +2325,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_elbow_L_position",
|
||||
"Position": "-2.017065,9.139403,41.20432",
|
||||
"Rotation": "-0.04637044,0.7844297,-0.613399,0.0791298",
|
||||
"Scale": "1.000004,1.000004,1.000004",
|
||||
"Position": "-1.887652,9.848536,41.47289",
|
||||
"Rotation": "-0.04448023,0.791288,-0.6053749,0.07352691",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2317,7 +2342,7 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_arm_upper_L_twist1",
|
||||
"Position": "-1.169505,8.015933,46.03245",
|
||||
"Position": "-1.043476,8.613153,46.27288",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
@ -2334,7 +2359,7 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_arm_lower_L_twist1",
|
||||
"Position": "-1.434129,10.11244,37.52454",
|
||||
"Position": "-1.348183,10.89031,37.80681",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1.000004,1.000004,1.000004",
|
||||
"Tags": "",
|
||||
@ -2351,7 +2376,7 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_leg_upper_R_twist1",
|
||||
"Position": "1.876673,-4.498212,23.18756",
|
||||
"Position": "1.394789,-4.274455,23.39375",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
@ -2368,7 +2393,7 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_leg_upper_L_twist1",
|
||||
"Position": "1.445647,4.562048,23.39719",
|
||||
"Position": "1.860858,4.789178,23.17761",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
@ -2385,9 +2410,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_kneecap_R_position",
|
||||
"Position": "3.568419,-4.690867,16.00689",
|
||||
"Rotation": "0.5159015,0.4807676,-0.5308076,0.4700548",
|
||||
"Scale": "0.9999997,0.9999997,0.9999997",
|
||||
"Position": "2.51964,-4.481263,16.17043",
|
||||
"Rotation": "0.5185956,0.4738925,-0.533102,0.4714729",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2402,8 +2427,8 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_kneecap_L_position",
|
||||
"Position": "2.509118,4.677139,16.16555",
|
||||
"Rotation": "0.7047989,0.04552961,0.03070755,0.7072784",
|
||||
"Position": "3.579065,4.895428,15.99909",
|
||||
"Rotation": "0.7002168,0.0440556,0.02651213,0.7120762",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
@ -2419,9 +2444,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_leg_lower_R_twist1",
|
||||
"Position": "1.716266,-4.505174,9.926357",
|
||||
"Position": "1.282935,-4.408351,10.00407",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1,1,1",
|
||||
"Scale": "1.000001,1.000001,1.000001",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2436,9 +2461,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "driver_leg_lower_L_twist1",
|
||||
"Position": "1.282023,4.53249,10.00171",
|
||||
"Position": "1.718169,4.632352,9.9216",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1.000001,1.000001,1.000001",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2453,7 +2478,7 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "forward_reference_modelspace",
|
||||
"Position": "-0.2125276,-0.06392401,43.42877",
|
||||
"Position": "-0.2026396,0.2526463,43.41861",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1.000001,1.000001,1.000001",
|
||||
"Tags": "",
|
||||
@ -2470,9 +2495,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "eyes",
|
||||
"Position": "5.906095,-0.3021989,63.2759",
|
||||
"Rotation": "-0.0001773983,-0.01521605,-0.009447872,0.9998396",
|
||||
"Scale": "1.000002,1.000002,1.000002",
|
||||
"Position": "6.016993,-0.1828848,63.23574",
|
||||
"Rotation": "0.01225863,-0.01333019,-0.01481459,0.9997262",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2487,9 +2512,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "eye_R_forward",
|
||||
"Position": "5.842853,-3.648057,63.27613",
|
||||
"Rotation": "-0.0001773983,-0.01521605,-0.009447872,0.9998396",
|
||||
"Scale": "1.000002,1.000002,1.000002",
|
||||
"Position": "5.91896,-3.526865,63.1524",
|
||||
"Rotation": "0.01225863,-0.01333019,-0.01481459,0.9997262",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2504,9 +2529,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "eye_L_forward",
|
||||
"Position": "5.969336,3.043659,63.27568",
|
||||
"Rotation": "-0.0001773983,-0.01521605,-0.009447872,0.9998396",
|
||||
"Scale": "1.000002,1.000002,1.000002",
|
||||
"Position": "6.115024,3.161095,63.3191",
|
||||
"Rotation": "0.01225863,-0.01333019,-0.01481459,0.9997262",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2521,9 +2546,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "forward_reference",
|
||||
"Position": "0.8041469,-0.2062372,56.2276",
|
||||
"Rotation": "-0.0001773983,-0.01521605,-0.009447872,0.9998396",
|
||||
"Scale": "1.000002,1.000002,1.000002",
|
||||
"Position": "0.8923788,0.1424403,56.21077",
|
||||
"Rotation": "0.01225863,-0.01333019,-0.01481459,0.9997262",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2538,9 +2563,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "foot_R",
|
||||
"Position": "1.982133,-4.910829,0.1895903",
|
||||
"Rotation": "0.0004833937,-0.00001463294,-0.08709148,0.9962002",
|
||||
"Scale": "1.000001,1.000001,1.000001",
|
||||
"Position": "1.982161,-4.910443,0.1893465",
|
||||
"Rotation": "0.0004871786,-0.00001364574,-0.0871154,0.9961981",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2555,9 +2580,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "foot_L",
|
||||
"Position": "1.978647,4.967236,1.053595",
|
||||
"Rotation": "-0.08720801,0.9961901,0.0004106759,0.00001446971",
|
||||
"Scale": "1.000004,1.000004,1.000004",
|
||||
"Position": "1.978681,4.966858,1.053351",
|
||||
"Rotation": "-0.08723652,0.9961876,0.0004068614,0.00001396679",
|
||||
"Scale": "1.000001,1.000001,1.000001",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
@ -2572,9 +2597,9 @@
|
||||
"__version": 1,
|
||||
"Flags": 8,
|
||||
"Name": "hat",
|
||||
"Position": "0.6381106,-0.2016305,71.38704",
|
||||
"Rotation": "-0.0001773983,-0.01521605,-0.009447872,0.9998396",
|
||||
"Scale": "1.000002,1.000002,1.000002",
|
||||
"Position": "0.7779539,-0.2314876,71.36609",
|
||||
"Rotation": "0.01225863,-0.01333019,-0.01481459,0.9997262",
|
||||
"Scale": "1.000003,1.000003,1.000003",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
|
||||
95
Assets/prefabs/item_parcel.prefab
Normal file
95
Assets/prefabs/item_parcel.prefab
Normal file
@ -0,0 +1,95 @@
|
||||
{
|
||||
"RootObject": {
|
||||
"__guid": "0b13f26c-c198-4efc-88df-260d896af36a",
|
||||
"__version": 1,
|
||||
"Flags": 0,
|
||||
"Name": "item_parcel",
|
||||
"Position": "0,0,0",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": true,
|
||||
"NetworkMode": 2,
|
||||
"NetworkInterpolation": true,
|
||||
"NetworkOrphaned": 0,
|
||||
"OwnerTransfer": 1,
|
||||
"Components": [
|
||||
{
|
||||
"__type": "Sandbox.Prop",
|
||||
"__guid": "80b52707-c81d-47fa-bab7-4be48f2d75a4",
|
||||
"__enabled": true,
|
||||
"BodyGroups": 18446744073709551615,
|
||||
"Health": 0,
|
||||
"IsStatic": false,
|
||||
"MaterialGroup": null,
|
||||
"Model": "models/props/clothing_parcel/clothing_parcel.vmdl",
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"OnPropBreak": null,
|
||||
"OnPropTakeDamage": null,
|
||||
"StartAsleep": false,
|
||||
"Tint": "1,1,1,1"
|
||||
},
|
||||
{
|
||||
"__type": "Sasalka.InventoryItem",
|
||||
"__guid": "c888eaab-cb05-4469-bf5f-7c23ede5c25f",
|
||||
"__enabled": true,
|
||||
"Count": 1,
|
||||
"Definition": null,
|
||||
"Equipped": false,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null
|
||||
},
|
||||
{
|
||||
"__type": "Sandbox.UI.PickupItem",
|
||||
"__guid": "a90f059e-5c0a-4122-b742-9dd12e5d8494",
|
||||
"__enabled": true,
|
||||
"Label": "E",
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"RequiresHold": false
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"__properties": {
|
||||
"NetworkInterpolation": true,
|
||||
"TimeScale": 1,
|
||||
"WantsSystemScene": true,
|
||||
"Metadata": {},
|
||||
"NavMesh": {
|
||||
"Enabled": false,
|
||||
"IncludeStaticBodies": true,
|
||||
"IncludeKeyframedBodies": true,
|
||||
"EditorAutoUpdate": true,
|
||||
"AgentHeight": 64,
|
||||
"AgentRadius": 16,
|
||||
"AgentStepSize": 18,
|
||||
"AgentMaxSlope": 40,
|
||||
"ExcludedBodies": "",
|
||||
"IncludedBodies": ""
|
||||
}
|
||||
},
|
||||
"__variables": []
|
||||
},
|
||||
"ResourceVersion": 2,
|
||||
"ShowInMenu": false,
|
||||
"MenuPath": null,
|
||||
"MenuIcon": null,
|
||||
"DontBreakAsTemplate": false,
|
||||
"__references": [
|
||||
"fish.clothing_parcel#105256"
|
||||
],
|
||||
"__version": 2
|
||||
}
|
||||
@ -18,11 +18,11 @@
|
||||
"__type": "Sandbox.ModelRenderer",
|
||||
"__guid": "ee9d15a8-ffe9-43f1-b6b4-2f04ce55c908",
|
||||
"__enabled": true,
|
||||
"BodyGroups": 18446744073709551615,
|
||||
"BodyGroups": 1,
|
||||
"CreateAttachments": false,
|
||||
"MaterialGroup": null,
|
||||
"MaterialOverride": null,
|
||||
"Model": "tree_podstavka.vmdl",
|
||||
"Model": "models/weapons/sbox_ammo/9mm_ammobox/ammobox_9mm.vmdl",
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
@ -42,7 +42,7 @@
|
||||
"__type": "Sandbox.BoxCollider",
|
||||
"__guid": "5830c995-d747-4c8c-abd7-b0366fa2a2aa",
|
||||
"__enabled": true,
|
||||
"Center": "0,0,0",
|
||||
"Center": "0,0,0.7871453",
|
||||
"Friction": null,
|
||||
"IsTrigger": false,
|
||||
"OnComponentDestroy": null,
|
||||
@ -55,7 +55,7 @@
|
||||
"OnObjectTriggerExit": null,
|
||||
"OnTriggerEnter": null,
|
||||
"OnTriggerExit": null,
|
||||
"Scale": "26.40003,31.00006,2.89996",
|
||||
"Scale": "8.400012,3.300015,1.690962",
|
||||
"Static": false,
|
||||
"Surface": null,
|
||||
"SurfaceVelocity": "0,0,0"
|
||||
@ -107,6 +107,7 @@
|
||||
"__enabled": true,
|
||||
"Count": 120,
|
||||
"Definition": "items/pistol_ammo.inv",
|
||||
"Equipped": false,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
@ -115,7 +116,222 @@
|
||||
"OnComponentUpdate": null
|
||||
}
|
||||
],
|
||||
"Children": [],
|
||||
"Children": [
|
||||
{
|
||||
"__guid": "e428ecbc-40fd-4ec5-b1af-373bce265f3e",
|
||||
"__version": 1,
|
||||
"Flags": 0,
|
||||
"Name": "ammobox",
|
||||
"Position": "0,0,0",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": false,
|
||||
"NetworkMode": 2,
|
||||
"NetworkInterpolation": true,
|
||||
"NetworkOrphaned": 0,
|
||||
"OwnerTransfer": 1,
|
||||
"Components": [
|
||||
{
|
||||
"__type": "Sandbox.ModelRenderer",
|
||||
"__guid": "ce6aaed8-3ae5-41a4-a21c-1386b86a158a",
|
||||
"__enabled": true,
|
||||
"BodyGroups": 18446744073709551615,
|
||||
"CreateAttachments": false,
|
||||
"MaterialGroup": null,
|
||||
"MaterialOverride": null,
|
||||
"Model": "tree_podstavka.vmdl",
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"RenderOptions": {
|
||||
"GameLayer": true,
|
||||
"OverlayLayer": false,
|
||||
"BloomLayer": false,
|
||||
"AfterUILayer": false
|
||||
},
|
||||
"RenderType": "On",
|
||||
"Tint": "1,1,1,1"
|
||||
},
|
||||
{
|
||||
"__type": "Sandbox.BoxCollider",
|
||||
"__guid": "1ef0f21d-1147-4a46-97e8-97c587a99040",
|
||||
"__enabled": true,
|
||||
"Center": "0,0,0",
|
||||
"Friction": null,
|
||||
"IsTrigger": false,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"OnObjectTriggerEnter": null,
|
||||
"OnObjectTriggerExit": null,
|
||||
"OnTriggerEnter": null,
|
||||
"OnTriggerExit": null,
|
||||
"Scale": "26.40003,31.00006,2.89996",
|
||||
"Static": false,
|
||||
"Surface": null,
|
||||
"SurfaceVelocity": "0,0,0"
|
||||
},
|
||||
{
|
||||
"__type": "Sandbox.UI.PickupItem",
|
||||
"__guid": "edaf7116-38ed-4e2f-91d6-b20aa9a1a009",
|
||||
"__enabled": true,
|
||||
"Label": "E",
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"RequiresHold": false
|
||||
},
|
||||
{
|
||||
"__type": "Sandbox.Rigidbody",
|
||||
"__guid": "1bb4075f-849c-4761-93bc-38f31cd11650",
|
||||
"__enabled": true,
|
||||
"AngularDamping": 0,
|
||||
"Gravity": true,
|
||||
"LinearDamping": 0,
|
||||
"Locking": {
|
||||
"X": false,
|
||||
"Y": false,
|
||||
"Z": false,
|
||||
"Pitch": false,
|
||||
"Yaw": false,
|
||||
"Roll": false
|
||||
},
|
||||
"MassCenterOverride": "0,0,0",
|
||||
"MassOverride": 0,
|
||||
"MotionEnabled": true,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"OverrideMassCenter": false,
|
||||
"RigidbodyFlags": 0,
|
||||
"StartAsleep": false
|
||||
},
|
||||
{
|
||||
"__type": "Sasalka.InventoryItem",
|
||||
"__guid": "0b67d1c5-594a-49fa-8c23-e7a3ed9edb2c",
|
||||
"__enabled": true,
|
||||
"Count": 120,
|
||||
"Definition": "items/pistol_ammo.inv",
|
||||
"Equipped": false,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null
|
||||
}
|
||||
],
|
||||
"Children": []
|
||||
},
|
||||
{
|
||||
"__guid": "3cd5251b-38a8-4f0e-8b33-4b2e5f7041ab",
|
||||
"__version": 1,
|
||||
"Flags": 0,
|
||||
"Name": "ammobox (1)",
|
||||
"Position": "0,0,0",
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": false,
|
||||
"NetworkMode": 2,
|
||||
"NetworkInterpolation": true,
|
||||
"NetworkOrphaned": 0,
|
||||
"OwnerTransfer": 1,
|
||||
"Components": [
|
||||
{
|
||||
"__type": "Sandbox.BoxCollider",
|
||||
"__guid": "8b94182b-9ac1-4646-8f8c-d3188a804946",
|
||||
"__enabled": true,
|
||||
"Center": "0,0,0",
|
||||
"Friction": null,
|
||||
"IsTrigger": false,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"OnObjectTriggerEnter": null,
|
||||
"OnObjectTriggerExit": null,
|
||||
"OnTriggerEnter": null,
|
||||
"OnTriggerExit": null,
|
||||
"Scale": "26.40003,31.00006,2.89996",
|
||||
"Static": false,
|
||||
"Surface": null,
|
||||
"SurfaceVelocity": "0,0,0"
|
||||
},
|
||||
{
|
||||
"__type": "Sandbox.UI.PickupItem",
|
||||
"__guid": "a8bc6a6d-dc7b-441a-8191-79e83a998981",
|
||||
"__enabled": true,
|
||||
"Label": "E",
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"RequiresHold": false
|
||||
},
|
||||
{
|
||||
"__type": "Sandbox.Rigidbody",
|
||||
"__guid": "064ba569-c0b4-48ac-8ab4-a5c4d63b1a30",
|
||||
"__enabled": true,
|
||||
"AngularDamping": 0,
|
||||
"Gravity": true,
|
||||
"LinearDamping": 0,
|
||||
"Locking": {
|
||||
"X": false,
|
||||
"Y": false,
|
||||
"Z": false,
|
||||
"Pitch": false,
|
||||
"Yaw": false,
|
||||
"Roll": false
|
||||
},
|
||||
"MassCenterOverride": "0,0,0",
|
||||
"MassOverride": 0,
|
||||
"MotionEnabled": true,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null,
|
||||
"OverrideMassCenter": false,
|
||||
"RigidbodyFlags": 0,
|
||||
"StartAsleep": false
|
||||
},
|
||||
{
|
||||
"__type": "Sasalka.InventoryItem",
|
||||
"__guid": "50b368f3-d27b-4408-a66b-a9d852e6fbae",
|
||||
"__enabled": true,
|
||||
"Count": 120,
|
||||
"Definition": "items/pistol_ammo.inv",
|
||||
"Equipped": false,
|
||||
"OnComponentDestroy": null,
|
||||
"OnComponentDisabled": null,
|
||||
"OnComponentEnabled": null,
|
||||
"OnComponentFixedUpdate": null,
|
||||
"OnComponentStart": null,
|
||||
"OnComponentUpdate": null
|
||||
}
|
||||
],
|
||||
"Children": []
|
||||
}
|
||||
],
|
||||
"__properties": {
|
||||
"NetworkInterpolation": true,
|
||||
"TimeScale": 1,
|
||||
@ -141,6 +357,8 @@
|
||||
"MenuPath": null,
|
||||
"MenuIcon": null,
|
||||
"DontBreakAsTemplate": false,
|
||||
"__references": [],
|
||||
"__references": [
|
||||
"facepunch.ammobox9mm#95475"
|
||||
],
|
||||
"__version": 2
|
||||
}
|
||||
@ -4332,7 +4332,7 @@
|
||||
"Rotation": "0,0,0,1",
|
||||
"Scale": "1,1,1",
|
||||
"Tags": "",
|
||||
"Enabled": false,
|
||||
"Enabled": true,
|
||||
"NetworkMode": 1,
|
||||
"NetworkInterpolation": false,
|
||||
"NetworkOrphaned": 1,
|
||||
@ -4342,7 +4342,7 @@
|
||||
"__type": "Maze",
|
||||
"__guid": "12721768-2c59-4036-99e4-6d0c8e85ca0e",
|
||||
"__enabled": true,
|
||||
"CellSize": 300,
|
||||
"CellSize": 200,
|
||||
"CenterClearRadius": 1,
|
||||
"EnemyPrefab": {
|
||||
"_type": "gameobject",
|
||||
@ -4352,7 +4352,7 @@
|
||||
"_type": "gameobject",
|
||||
"go": "2ffab1da-342d-4ae8-be95-d7813f321be4"
|
||||
},
|
||||
"Height": 6,
|
||||
"Height": 12,
|
||||
"IsReady": false,
|
||||
"MazeSeed": -1,
|
||||
"OnComponentDestroy": null,
|
||||
@ -4365,7 +4365,7 @@
|
||||
"WallHeight": 5,
|
||||
"WallMaterial": "materials/stage/brown red leather.vmat",
|
||||
"WallThickness": 5,
|
||||
"Width": 6
|
||||
"Width": 12
|
||||
}
|
||||
],
|
||||
"Children": [
|
||||
@ -5128,7 +5128,19 @@
|
||||
"5830c995-d747-4c8c-abd7-b0366fa2a2aa": "d82766d4-543d-407f-aa95-986ff1a8b9fb",
|
||||
"8546ae27-6c60-4e32-b613-760bc20bd651": "9fd81c4d-c8bd-413c-896a-8f3b515a8629",
|
||||
"4d97a077-f187-44f4-967b-d346530c38d9": "fa766bec-57b9-4b14-b313-7a5adc1a6922",
|
||||
"beaec0c2-ccc3-48b0-8459-5a3f3fe679f1": "4c482c92-b22b-4480-bbc0-e9de5006c768"
|
||||
"beaec0c2-ccc3-48b0-8459-5a3f3fe679f1": "4c482c92-b22b-4480-bbc0-e9de5006c768",
|
||||
"e428ecbc-40fd-4ec5-b1af-373bce265f3e": "b62e56ab-8abc-4a0d-a00c-609d70e49fd8",
|
||||
"ce6aaed8-3ae5-41a4-a21c-1386b86a158a": "594e1ecb-cef5-46cd-ac03-5b7e2554d4ff",
|
||||
"1ef0f21d-1147-4a46-97e8-97c587a99040": "96103dd9-6e55-44d6-ad2d-6b6fa196a21b",
|
||||
"edaf7116-38ed-4e2f-91d6-b20aa9a1a009": "78cf7fac-89c7-405e-9a1a-bc3b9e44f4c1",
|
||||
"1bb4075f-849c-4761-93bc-38f31cd11650": "1a336a26-011d-4aa7-96f8-aba0197c5db8",
|
||||
"0b67d1c5-594a-49fa-8c23-e7a3ed9edb2c": "378cf254-d502-4bce-930e-d33e6e67f4a9",
|
||||
"3cd5251b-38a8-4f0e-8b33-4b2e5f7041ab": "c2884e4b-af67-445a-a3a8-ea2e448ac91c",
|
||||
"6c2b6ef3-40b3-4915-b6dc-0750b87fd41a": "ceaf20ab-f8b8-4dba-ae58-296b54a98ec0",
|
||||
"8b94182b-9ac1-4646-8f8c-d3188a804946": "021f79b1-e465-472a-afe4-c4dc97ae1169",
|
||||
"a8bc6a6d-dc7b-441a-8191-79e83a998981": "098aa124-c581-4760-9bc5-45345af35589",
|
||||
"064ba569-c0b4-48ac-8ab4-a5c4d63b1a30": "96c6e76f-1e58-48ee-8221-cc72a8894a6d",
|
||||
"50b368f3-d27b-4408-a66b-a9d852e6fbae": "24025224-fda8-4aa0-92d7-a0117bd3efab"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -5196,7 +5208,19 @@
|
||||
"5830c995-d747-4c8c-abd7-b0366fa2a2aa": "bbbc140b-184d-4fd3-9504-30d923525a3d",
|
||||
"8546ae27-6c60-4e32-b613-760bc20bd651": "9a066900-b6ad-47cb-8357-79802078d3ad",
|
||||
"4d97a077-f187-44f4-967b-d346530c38d9": "69a9029a-1ce5-4786-8fb3-435d09c4949d",
|
||||
"beaec0c2-ccc3-48b0-8459-5a3f3fe679f1": "08e417ef-ba4d-482b-8d19-b6c38a5ada2b"
|
||||
"beaec0c2-ccc3-48b0-8459-5a3f3fe679f1": "08e417ef-ba4d-482b-8d19-b6c38a5ada2b",
|
||||
"e428ecbc-40fd-4ec5-b1af-373bce265f3e": "47fa4a3e-96aa-4cd8-a2a7-1d06f39df821",
|
||||
"ce6aaed8-3ae5-41a4-a21c-1386b86a158a": "b8ac1eb1-eba9-4e24-aa75-7e2ded080fdf",
|
||||
"1ef0f21d-1147-4a46-97e8-97c587a99040": "671e438b-4745-455a-839b-0c3bda5bab94",
|
||||
"edaf7116-38ed-4e2f-91d6-b20aa9a1a009": "f515bc46-08ee-4f9e-9dc0-5928e3f6d7e4",
|
||||
"1bb4075f-849c-4761-93bc-38f31cd11650": "18a766ea-3af5-425f-9eed-5511de42c7ca",
|
||||
"0b67d1c5-594a-49fa-8c23-e7a3ed9edb2c": "0b86e63a-ba80-445f-8dc8-6b234b8f29d0",
|
||||
"3cd5251b-38a8-4f0e-8b33-4b2e5f7041ab": "eeef613e-ecc4-4309-85d8-dc8f5ef7cffa",
|
||||
"6c2b6ef3-40b3-4915-b6dc-0750b87fd41a": "6bd05f42-4dd4-444c-b2a9-d38fd714e88e",
|
||||
"8b94182b-9ac1-4646-8f8c-d3188a804946": "b1739b61-c529-481e-9c49-cb7aab4579d0",
|
||||
"a8bc6a6d-dc7b-441a-8191-79e83a998981": "dc2f78f6-0b3d-4018-b421-208db2bbaa19",
|
||||
"064ba569-c0b4-48ac-8ab4-a5c4d63b1a30": "48d0a642-e180-45b4-a836-f262d96baaaa",
|
||||
"50b368f3-d27b-4408-a66b-a9d852e6fbae": "1c00156d-4307-45de-9be6-e57af7aaffd8"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
5150
Assets/scenes/test.scene
Normal file
5150
Assets/scenes/test.scene
Normal file
File diff suppressed because it is too large
Load Diff
@ -6,9 +6,14 @@ public class BaseItemDefinition : GameResource
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Description { get; set; }
|
||||
[ResourceType( "prefab" )] public GameObject Prefab { get; set; }
|
||||
|
||||
[ResourceType( "prefab" )]
|
||||
public GameObject Prefab { get; set; } = GameObject.GetPrefab( "prefabs/item_parcel.prefab" );
|
||||
|
||||
public Texture ImageTexture { get; set; }
|
||||
public string ImageUrl { get; set; }
|
||||
|
||||
public int MaxCount { get; set; } = 1;
|
||||
|
||||
public virtual Inventar.InventorySlot? GetSlot() => null;
|
||||
}
|
||||
|
||||
@ -5,4 +5,5 @@ public class ClothingItemDefinition : BaseItemDefinition, IEquipable
|
||||
{
|
||||
[Property] public string ClothUrl { get; set; }
|
||||
public Inventar.InventorySlot Slot { get; set; }
|
||||
public override Inventar.InventorySlot? GetSlot() => Slot;
|
||||
}
|
||||
|
||||
@ -6,6 +6,8 @@ namespace Sasalka;
|
||||
public class WeaponItemDefinition : BaseItemDefinition, IEquipable
|
||||
{
|
||||
public Inventar.InventorySlot Slot { get; set; }
|
||||
|
||||
public override Inventar.InventorySlot? GetSlot() => Slot;
|
||||
public CitizenAnimationHelper.HoldTypes HoldType { get; set; } = CitizenAnimationHelper.HoldTypes.None;
|
||||
[InlineEditor, Space] public WeaponDefinition WeaponDefinition { get; set; }
|
||||
}
|
||||
|
||||
@ -60,23 +60,28 @@ public class Inventar
|
||||
|
||||
// Экипировать новый предмет
|
||||
EquippedItems[equipable.Slot] = item;
|
||||
item.Equipped = true;
|
||||
OnEquipped?.Invoke( item );
|
||||
}
|
||||
|
||||
public void DropItem( InventoryItem item, Vector3 position )
|
||||
{
|
||||
var gO = item.Definition.Prefab.Clone( position );
|
||||
GameObject gO = item.Definition.Prefab.Clone( position );
|
||||
|
||||
if ( gO.Components.TryGet<InventoryItem>( out var inventoryItem ) )
|
||||
{
|
||||
inventoryItem.Count = item.Count;
|
||||
|
||||
if ( inventoryItem.Definition == null )
|
||||
{
|
||||
inventoryItem.Definition = item.Definition;
|
||||
}
|
||||
}
|
||||
|
||||
gO.NetworkSpawn( null );
|
||||
|
||||
RemoveItem( item );
|
||||
// Items.Remove( item );
|
||||
// OnChanged?.Invoke();
|
||||
Items.Remove( item );
|
||||
OnChanged?.Invoke();
|
||||
}
|
||||
|
||||
|
||||
@ -87,6 +92,7 @@ public class Inventar
|
||||
EquippedItems.Remove( kvp.Key );
|
||||
}
|
||||
|
||||
item.Equipped = false;
|
||||
OnUnEquipped?.Invoke( item );
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using Sandbox;
|
||||
using Sandbox.UI;
|
||||
|
||||
namespace Sasalka;
|
||||
|
||||
@ -6,4 +7,13 @@ public class InventoryItem : Component
|
||||
{
|
||||
[Property] public BaseItemDefinition Definition { get; set; }
|
||||
[Property] public int Count { get; set; } = 1;
|
||||
[Property] public bool Equipped { get; set; } = false;
|
||||
|
||||
protected override void OnStart()
|
||||
{
|
||||
if ( GameObject.Components.TryGet<PickupItem>( out var item ) ) //FindMode.EverythingInSelf
|
||||
{
|
||||
item.Label = Definition.Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
@inherits PanelComponent
|
||||
@namespace Sasalka.Ui
|
||||
|
||||
<root class="@( Inventar.IsInventoryOpen ? "" : "hidden" )">
|
||||
<root class="inventory @( Inventar.IsInventoryOpen ? "" : "hidden" )">
|
||||
<div class="inventory-panel">
|
||||
@if ( PlayerInventory.Items.Count > 0 )
|
||||
{
|
||||
|
||||
@ -1,34 +1,30 @@
|
||||
Inventory {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 96vh;
|
||||
width: 30%;
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
padding: 24px;
|
||||
background: linear-gradient(135deg, #0a1a2b 0%, #08111f 100%);
|
||||
border: 3px solid #2a3d54;
|
||||
border-radius: 14px;
|
||||
font-family: 'Orbitron', 'Poppins', sans-serif;
|
||||
position: absolute;
|
||||
width: 30%;
|
||||
height: 96vh;
|
||||
right: 20px;
|
||||
top: 20px;
|
||||
padding: 24px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 20px;
|
||||
transition: all 0.2s ease;
|
||||
z-index: 100;
|
||||
overflow: hidden;
|
||||
|
||||
pointer-events: all;
|
||||
|
||||
&.hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.inventory-panel {
|
||||
overflow-y: scroll;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
//background-color: rgba(255, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
|
||||
.hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
@ -3,24 +3,33 @@
|
||||
@inherits Sandbox.UI.Panel
|
||||
@namespace Sasalka.Ui
|
||||
|
||||
<root class="inventory-item @( Equipped ? "equipped" : "" )" @onclick="@(() => OnItemClick?.Invoke( Item ))" @onrightclick=@( () => OnItemRightClick?.Invoke( Item ) )>
|
||||
|
||||
@* <input type="checkbox" class="equipped-checkbox" checked="@Equipped" disabled/> *@
|
||||
|
||||
@if ( Item.Definition.ImageTexture.IsValid() )
|
||||
{
|
||||
<img src="@Item.Definition.ImageTexture.ResourcePath" alt="@Item.Definition.Name"/>
|
||||
}
|
||||
else if ( Item.Definition.ImageUrl.Length > 0 )
|
||||
{
|
||||
<img src="@Item.Definition.ImageUrl" alt="@Item.Definition.Name">
|
||||
@{
|
||||
var definition = Item?.Definition;
|
||||
var name = definition?.Name;
|
||||
var slot = Item?.Equipped == true ? definition?.GetSlot() : null;
|
||||
var imageUrl = definition?.ImageTexture.IsValid() == true
|
||||
? definition.ImageTexture.ResourcePath
|
||||
: !string.IsNullOrWhiteSpace( definition?.ImageUrl )
|
||||
? definition.ImageUrl
|
||||
: null;
|
||||
}
|
||||
|
||||
<div class="inventory-item__name">@Item?.Definition.Name</div>
|
||||
|
||||
@if ( Item?.Definition.MaxCount > 1 )
|
||||
<root class="inventory-item @( Item.Equipped ? "equipped" : "" )" @onclick="@(() => OnItemClick?.Invoke( Item ))" @onrightclick=@( () => OnItemRightClick?.Invoke( Item ) )>
|
||||
@if ( slot is not null )
|
||||
{
|
||||
<div class="inventory-item__count">@Item?.Count / @Item?.Definition.MaxCount</div>
|
||||
<div class="inventory-item__slot">@slot</div>
|
||||
}
|
||||
|
||||
@if ( !string.IsNullOrEmpty( imageUrl ) )
|
||||
{
|
||||
<img src="@imageUrl" alt="@name"/>
|
||||
}
|
||||
|
||||
<div class="inventory-item__name">@name</div>
|
||||
|
||||
@if ( definition?.MaxCount > 1 )
|
||||
{
|
||||
<div class="inventory-item__count">@Item?.Count / @definition.MaxCount</div>
|
||||
}
|
||||
</root>
|
||||
|
||||
@ -29,16 +38,11 @@
|
||||
public Action<Sasalka.InventoryItem> OnItemClick { get; set; }
|
||||
public Action<Sasalka.InventoryItem> OnItemRightClick { get; set; }
|
||||
|
||||
public bool Equipped { get; set; }
|
||||
|
||||
protected override int BuildHash()
|
||||
{
|
||||
base.BuildHash();
|
||||
|
||||
var hash = new HashCode();
|
||||
|
||||
hash.Add( Item.Count );
|
||||
|
||||
hash.Add( Item?.Count );
|
||||
return hash.ToHashCode();
|
||||
}
|
||||
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
InventoryItem {
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
//height: 64px;
|
||||
background: #2a3d53;
|
||||
display: flex;
|
||||
gap: 24px;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
border: 1px solid #666;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s;
|
||||
border-radius: 12px;
|
||||
padding: 12px 24px;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s ease;
|
||||
position: relative;
|
||||
|
||||
&:hover {
|
||||
@ -20,22 +20,30 @@ InventoryItem {
|
||||
img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
&.name {
|
||||
.inventory-item__name {
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.inventory-item__count {
|
||||
margin-left: auto;
|
||||
font-size: 14px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.inventory-item__slot {
|
||||
font-size: 12px;
|
||||
color: #8fc98f;
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
&.equipped {
|
||||
border: 2px solid #4caf50;
|
||||
background: #2e3e2e;
|
||||
}
|
||||
|
||||
.equipped-checkbox {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: 6px;
|
||||
pointer-events: none;
|
||||
accent-color: #4caf50;
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,12 +18,12 @@ public sealed partial class Dedugan : Component
|
||||
|
||||
// Inventory.AddItem( new InventoryItem
|
||||
// {
|
||||
// Definition = ResourceLibrary.Get<ClothingItemDefinition>( "Items/cloth_pijama.clitem" )
|
||||
// Definition = ResourceLibrary.Get<ClothingItemDefinition>( "Items/Cloth/cloth_pijama.clitem" )
|
||||
// } );
|
||||
//
|
||||
// Inventory.AddItem( new InventoryItem
|
||||
// {
|
||||
// Definition = ResourceLibrary.Get<ClothingItemDefinition>( "Items/cloth_pijama_bottom.clitem" )
|
||||
// Definition = ResourceLibrary.Get<ClothingItemDefinition>( "Items/Cloth/cloth_pijama_bottom.clitem" )
|
||||
// } );
|
||||
//
|
||||
// Inventory.AddItem( new InventoryItem
|
||||
|
||||
@ -80,50 +80,25 @@ partial class Dedugan
|
||||
|
||||
CancellationTokenSource _cts;
|
||||
|
||||
[Rpc.Broadcast]
|
||||
public void WearWorkshop( List<string> workshopItems )
|
||||
{
|
||||
_cts = new CancellationTokenSource();
|
||||
var token = _cts.Token;
|
||||
|
||||
if ( workshopItems != null && workshopItems.Count > 0 )
|
||||
{
|
||||
Task.WhenAll( workshopItems.Select( x => InstallWorkshopClothing( x, token ) ) )
|
||||
.ContinueWith( ( tasks ) =>
|
||||
{
|
||||
foreach ( var cloth in tasks.Result )
|
||||
{
|
||||
if ( cloth is null )
|
||||
continue;
|
||||
|
||||
CurrentClothing.Add( cloth );
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
CurrentClothing.Normalize();
|
||||
CurrentClothing.Apply( Renderer );
|
||||
Renderer.PostAnimationUpdate();
|
||||
}
|
||||
|
||||
// public async void AsyncWearWorkshop( List<string> workshopItems )
|
||||
// [Rpc.Broadcast]
|
||||
// public void WearWorkshop( List<string> workshopItems )
|
||||
// {
|
||||
// _cts = new CancellationTokenSource();
|
||||
// var token = _cts.Token;
|
||||
//
|
||||
// if ( workshopItems != null && workshopItems.Count > 0 )
|
||||
// {
|
||||
// var tasks = workshopItems.Select( x => InstallWorkshopClothing( x, token ) );
|
||||
//
|
||||
// foreach ( var task in tasks )
|
||||
// Task.WhenAll( workshopItems.Select( x => InstallWorkshopClothing( x, token ) ) )
|
||||
// .ContinueWith( ( tasks ) =>
|
||||
// {
|
||||
// var c = await task;
|
||||
//
|
||||
// if ( c is null )
|
||||
// foreach ( var cloth in tasks.Result )
|
||||
// {
|
||||
// if ( cloth is null )
|
||||
// continue;
|
||||
//
|
||||
// CurrentClothing.Add( c );
|
||||
// Log.Info( cloth.Title );
|
||||
// CurrentClothing.Add( cloth );
|
||||
// }
|
||||
// } );
|
||||
// }
|
||||
//
|
||||
// CurrentClothing.Normalize();
|
||||
@ -131,6 +106,37 @@ partial class Dedugan
|
||||
// Renderer.PostAnimationUpdate();
|
||||
// }
|
||||
|
||||
[Rpc.Broadcast]
|
||||
public void WearWorkshop( List<string> workshopItems )
|
||||
{
|
||||
AsyncWearWorkshop( workshopItems );
|
||||
}
|
||||
|
||||
public async void AsyncWearWorkshop( List<string> workshopItems )
|
||||
{
|
||||
_cts = new CancellationTokenSource();
|
||||
var token = _cts.Token;
|
||||
|
||||
if ( workshopItems != null && workshopItems.Count > 0 )
|
||||
{
|
||||
var tasks = workshopItems.Select( x => InstallWorkshopClothing( x, token ) );
|
||||
|
||||
foreach ( var task in tasks )
|
||||
{
|
||||
var c = await task;
|
||||
|
||||
if ( c is null )
|
||||
continue;
|
||||
|
||||
CurrentClothing.Add( c );
|
||||
}
|
||||
}
|
||||
|
||||
CurrentClothing.Normalize();
|
||||
CurrentClothing.Apply( Renderer );
|
||||
Renderer.PostAnimationUpdate();
|
||||
}
|
||||
|
||||
[Rpc.Broadcast]
|
||||
public void StripByName( string name )
|
||||
{
|
||||
|
||||
@ -27,7 +27,7 @@ public sealed partial class Dedugan : Component, IUseContext, Component.INetwork
|
||||
[Sync] public int Health { get; set; } = 100;
|
||||
private RagdollController RagdollController { get; set; }
|
||||
|
||||
public Vector3 OverrideGravity { get; set; } = Vector3.Zero;
|
||||
[Property] public Vector3 OverrideGravity { get; set; } = Vector3.Zero;
|
||||
|
||||
private Vector3 _directionToAxis = Vector3.Up;
|
||||
private Vector3 _up = Vector3.Up;
|
||||
|
||||
23
Code/SimpleJson.cs
Normal file
23
Code/SimpleJson.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using System.Text.Json;
|
||||
|
||||
namespace Sasalka;
|
||||
|
||||
public static class SimpleJson
|
||||
{
|
||||
public static string[] ParseClothingTitles( string json )
|
||||
{
|
||||
using var doc = JsonDocument.Parse( json );
|
||||
var root = doc.RootElement;
|
||||
var list = new List<string>();
|
||||
|
||||
foreach ( var elem in root.EnumerateArray() )
|
||||
{
|
||||
if ( elem.TryGetProperty( "Title", out var title ) )
|
||||
{
|
||||
list.Add( title.GetString() );
|
||||
}
|
||||
}
|
||||
|
||||
return list.ToArray();
|
||||
}
|
||||
}
|
||||
@ -1,68 +1,72 @@
|
||||
@using System;
|
||||
@using Sandbox.UI;
|
||||
@using Sandbox
|
||||
@using System
|
||||
@using Sandbox.UI
|
||||
@namespace Sandbox
|
||||
@inherits PanelComponent
|
||||
@implements Component.INetworkListener
|
||||
<root>
|
||||
|
||||
<root>
|
||||
<div class="output">
|
||||
@foreach ( var entry in Entries )
|
||||
{
|
||||
<div class="chat_entry">
|
||||
@if (entry.steamid > 0)
|
||||
{
|
||||
<div class="avatar" style="background-image: url( avatar:@entry.steamid )"></div>
|
||||
}
|
||||
<div class="author">@entry.author</div>
|
||||
<div class="message">@entry.message</div>
|
||||
</div>
|
||||
<ChatEntry Type="@entry.Type"
|
||||
SteamID="@entry.SteamID"
|
||||
Author="@entry.Author"
|
||||
Message="@entry.Message"
|
||||
IsTemporary="@entry.IsTemporary"/>
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="input">
|
||||
<TextEntry @ref="InputBox" onsubmit="@ChatFinished"></TextEntry>
|
||||
<div class="input-container">
|
||||
<TextEntry @ref=" InputBox" onsubmit="@ChatFinished"/>
|
||||
</div>
|
||||
|
||||
</root>
|
||||
|
||||
@code
|
||||
{
|
||||
|
||||
@code {
|
||||
public static Chat Instance;
|
||||
public Chat() => Instance = this;
|
||||
public static bool IsActive => Instance.InputBox.HasFocus;
|
||||
public static bool IsActive = false;
|
||||
|
||||
public static void Open()
|
||||
public enum MessageType
|
||||
{
|
||||
Instance.InputBox.Focus();
|
||||
Player,
|
||||
System,
|
||||
Admin,
|
||||
Notification
|
||||
}
|
||||
|
||||
public static void AddText(string text)
|
||||
public record Entry
|
||||
{
|
||||
Instance.AddTextInternal(text);
|
||||
public Entry( Chat.MessageType type, ulong steamID, string author, string message, RealTimeSince timeSinceAdded, bool isTemporary )
|
||||
{
|
||||
Type = type;
|
||||
SteamID = steamID;
|
||||
Author = author;
|
||||
Message = message;
|
||||
TimeSinceAdded = timeSinceAdded;
|
||||
IsTemporary = isTemporary;
|
||||
}
|
||||
|
||||
public event Action<string> OnChat;
|
||||
public TextEntry InputBox;
|
||||
public Chat.MessageType Type { get; internal set; }
|
||||
public ulong SteamID { get; internal set; }
|
||||
public string Author { get; internal set; }
|
||||
public string Message { get; internal set; }
|
||||
public RealTimeSince TimeSinceAdded { get; internal set; }
|
||||
public bool IsTemporary { get; internal set; }
|
||||
}
|
||||
|
||||
public record Entry(ulong steamid, string author, string message, RealTimeSince timeSinceAdded);
|
||||
List<Entry> Entries = new();
|
||||
public TextEntry InputBox;
|
||||
public event Action<string> OnChat;
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
if (InputBox is null)
|
||||
return;
|
||||
|
||||
if ( InputBox is null ) return;
|
||||
Panel.AcceptsFocus = false;
|
||||
|
||||
if ( Input.Pressed( "chat" ) )
|
||||
Open();
|
||||
|
||||
if (Entries.RemoveAll(x => x.timeSinceAdded > 20.0f) > 0)
|
||||
{
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
if ( InputBox.HasFocus && Input.EscapePressed )
|
||||
{
|
||||
Input.EscapePressed = false;
|
||||
@ -72,67 +76,81 @@
|
||||
SetClass( "open", InputBox.HasFocus );
|
||||
}
|
||||
|
||||
void ChatFinished()
|
||||
public static void Open()
|
||||
{
|
||||
var text = InputBox.Text;
|
||||
Mouse.Visibility = MouseVisibility.Auto;
|
||||
IsActive = true;
|
||||
Instance.InputBox?.Focus();
|
||||
|
||||
OnChat?.Invoke(text);
|
||||
OnChat = null;
|
||||
if (string.IsNullOrWhiteSpace(text))
|
||||
return;
|
||||
foreach ( var entry in Instance.Entries )
|
||||
entry.IsTemporary = false;
|
||||
|
||||
AddTextInternal(InputBox.Text);
|
||||
InputBox.Text = "";
|
||||
Instance.StateHasChanged();
|
||||
}
|
||||
|
||||
void ChatClosed()
|
||||
public static void AddMessage( MessageType type, string message, ulong steamId = 0, string author = "" ) => Instance?.AddMessageInternal( type, message, steamId, author );
|
||||
|
||||
[ConCmd( "say" )]
|
||||
public static void Say( string message )
|
||||
{
|
||||
var text = InputBox.Text;
|
||||
InputBox.Text = "";
|
||||
OnChat = null;
|
||||
Instance?.AddTextInternal( message );
|
||||
}
|
||||
|
||||
[Rpc.Broadcast]
|
||||
public void AddTextInternal( string message )
|
||||
{
|
||||
message = message.Truncate(300);
|
||||
if ( string.IsNullOrWhiteSpace( message ) ) return;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(message))
|
||||
return;
|
||||
|
||||
var author = Rpc.Caller.DisplayName;
|
||||
var steamid = Rpc.Caller.SteamId;
|
||||
|
||||
Log.Info($"{author}: {message}");
|
||||
|
||||
Entries.Add(new Entry(steamid, author, message, 0.0f));
|
||||
StateHasChanged();
|
||||
AddMessageInternal( MessageType.Player, message.Truncate( 300 ), Rpc.Caller.SteamId, Rpc.Caller.DisplayName );
|
||||
}
|
||||
|
||||
[Rpc.Broadcast]
|
||||
void AddSystemText(string message)
|
||||
void AddMessageInternal( MessageType type, string message, ulong steamId = 0, string author = "" )
|
||||
{
|
||||
message = message.Truncate(300);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(message))
|
||||
return;
|
||||
|
||||
Entries.Add(new Entry(0, "ℹ️", message, 0.0f));
|
||||
Entries.Add( new Entry( type, steamId, author, message, 0, !IsActive ) );
|
||||
StateHasChanged();
|
||||
Log.Info( $"[{type}] {author}: {message}" );
|
||||
}
|
||||
|
||||
void ScrollToBottom()
|
||||
{
|
||||
var panel = Panel.Children.First();
|
||||
panel.ScrollVelocity = 0;
|
||||
panel.ScrollOffset = 0;
|
||||
}
|
||||
|
||||
void ChatFinished()
|
||||
{
|
||||
IsActive = false;
|
||||
var text = InputBox.Text;
|
||||
InputBox.Text = "";
|
||||
|
||||
if ( !string.IsNullOrWhiteSpace( text ) )
|
||||
{
|
||||
OnChat?.Invoke( text );
|
||||
AddTextInternal( text );
|
||||
}
|
||||
|
||||
ScrollToBottom();
|
||||
OnChat = null;
|
||||
}
|
||||
|
||||
void ChatClosed()
|
||||
{
|
||||
IsActive = false;
|
||||
InputBox.Text = "";
|
||||
ScrollToBottom();
|
||||
OnChat = null;
|
||||
}
|
||||
|
||||
void Component.INetworkListener.OnConnected( Connection channel )
|
||||
{
|
||||
if ( IsProxy ) return;
|
||||
|
||||
AddSystemText($"{channel.DisplayName} has joined the game");
|
||||
AddMessageInternal( MessageType.System, $"{channel.DisplayName} has joined the game" );
|
||||
}
|
||||
|
||||
void Component.INetworkListener.OnDisconnected( Connection channel )
|
||||
{
|
||||
if ( IsProxy ) return;
|
||||
AddMessageInternal( MessageType.System, $"{channel.DisplayName} has left the game" );
|
||||
}
|
||||
|
||||
AddSystemText($"{channel.DisplayName} has left the game");
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,67 +4,87 @@ Chat {
|
||||
left: 200px;
|
||||
bottom: 200px;
|
||||
width: 600px;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
border-radius: 20px;
|
||||
justify-content: flex-end;
|
||||
font-family: Poppins;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
font-size: 17px;
|
||||
font-family: Poppins;
|
||||
gap: 10px;
|
||||
|
||||
|
||||
.output {
|
||||
box-shadow: none;
|
||||
padding: 2px;
|
||||
border-radius: 12px;
|
||||
flex-grow: 1;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
align-items: stretch;
|
||||
gap: 5px;
|
||||
|
||||
.chat_entry {
|
||||
padding: 2px;
|
||||
gap: 10px;
|
||||
text-shadow: 2px 2px 2px #000a;
|
||||
|
||||
.avatar {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
border-radius: 4px;
|
||||
aspect-ratio: 1;
|
||||
min-width: 32px;
|
||||
max-width: 32px;
|
||||
min-height: 256px;
|
||||
max-height: 256px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.author {
|
||||
color: #2d95ce;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
&:not(.open) {
|
||||
.output {
|
||||
ChatEntry {
|
||||
opacity: 0;
|
||||
|
||||
.message {
|
||||
color: #fff;
|
||||
&.temporary {
|
||||
animation: temporaryMessageFadeOut 4s forwards;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.input {
|
||||
.input-container {
|
||||
color: white;
|
||||
|
||||
.textentry {
|
||||
align-items: flex-start;
|
||||
white-space: normal;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
color: #fff;
|
||||
font-size: 15px;
|
||||
font-weight: 500;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
transition: all 0.1s ease;
|
||||
transform: translateY(10px);
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
&.open {
|
||||
.input {
|
||||
border-radius: 8px;
|
||||
background-color: rgba(0,0,0,0.2);
|
||||
backdrop-filter: blur(10px);
|
||||
padding: 8px;
|
||||
pointer-events: all;
|
||||
|
||||
.input-container {
|
||||
transform: translateY(0);
|
||||
|
||||
.textentry {
|
||||
background-color: rgba(30,30,40,0.8);
|
||||
box-shadow: 0 4px 20px rgba(0,0,0,0.25);
|
||||
backdrop-filter: blur(15px);
|
||||
transform: translateY(0px);
|
||||
}
|
||||
}
|
||||
|
||||
.output {
|
||||
background: linear-gradient( to top, rgba(10,10,20,0.9) 0%, rgba(10,10,20,0.6) 100% );
|
||||
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(15px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes temporaryMessageFadeOut {
|
||||
0%, 90% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
41
Code/UI/ChatEntry.razor
Normal file
41
Code/UI/ChatEntry.razor
Normal file
@ -0,0 +1,41 @@
|
||||
@using Sandbox.UI
|
||||
@namespace Sandbox
|
||||
@inherits Panel
|
||||
|
||||
<root class="@( IsTemporary ? "temporary" : "" )">
|
||||
<div class="meta">
|
||||
@if ( Type == Chat.MessageType.Player && SteamID > 0 )
|
||||
{
|
||||
<div class="avatar" style="background-image: url( avatar:@SteamID )"></div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="type-icon">
|
||||
@switch ( Type )
|
||||
{
|
||||
case Chat.MessageType.System:
|
||||
<i>system_update_alt</i>
|
||||
break;
|
||||
case Chat.MessageType.Admin:
|
||||
<i>verified_user</i>
|
||||
break;
|
||||
case Chat.MessageType.Notification:
|
||||
<i>notifications</i>
|
||||
break;
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
<label class="author">@Author</label>
|
||||
</div>
|
||||
|
||||
<label class="message">@Message</label>
|
||||
</root>
|
||||
|
||||
@code {
|
||||
public Chat.MessageType Type { get; set; }
|
||||
public ulong SteamID { get; set; }
|
||||
public string Message { get; set; }
|
||||
public string Author { get; set; }
|
||||
public bool IsTemporary { get; set; }
|
||||
}
|
||||
90
Code/UI/ChatEntry.razor.scss
Normal file
90
Code/UI/ChatEntry.razor.scss
Normal file
@ -0,0 +1,90 @@
|
||||
ChatEntry {
|
||||
border-radius: 8px;
|
||||
background-color: rgba(0, 0, 0, 0.28);
|
||||
backdrop-filter: blur(2px);
|
||||
flex-shrink: 0;
|
||||
overflow: hidden;
|
||||
padding: 2px;
|
||||
|
||||
.meta {
|
||||
flex-shrink: 0;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.avatar, .type-icon {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
border-radius: 6px;
|
||||
background-color: rgba(100, 150, 255, 0.2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
overflow: hidden;
|
||||
|
||||
i {
|
||||
font-family: 'Material Icons';
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.avatar {
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.author {
|
||||
color: #a8e063;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
flex-shrink: 0;
|
||||
max-width: 150px;
|
||||
overflow: hidden;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.message {
|
||||
color: #fff;
|
||||
align-content: flex-end;
|
||||
text-align: left;
|
||||
justify-content: center;
|
||||
font-size: 15px;
|
||||
padding-left: 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&.type-system {
|
||||
background-color: rgba(100, 200, 255, 0.12);
|
||||
|
||||
.author {
|
||||
color: #6ec6ff;
|
||||
}
|
||||
|
||||
.type-icon {
|
||||
background-color: rgba(100, 200, 255, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
&.type-admin {
|
||||
.author {
|
||||
color: #ff9e80;
|
||||
}
|
||||
|
||||
.type-icon {
|
||||
background-color: rgba(255, 100, 100, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
&.type-notification {
|
||||
background-color: rgba(255, 224, 130, 0.15);
|
||||
|
||||
.author {
|
||||
color: #ffd54f;
|
||||
}
|
||||
|
||||
.type-icon {
|
||||
background-color: rgba(255, 200, 50, 0.25);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sandbox;
|
||||
|
||||
public static class ChatHistory
|
||||
{
|
||||
public static List<Chat.Entry> Entries { get; private set; } = new();
|
||||
|
||||
public static void Add(ulong steamid, string author, string message)
|
||||
{
|
||||
Entries.Add(new Chat.Entry(steamid, author, message, 0.0f));
|
||||
}
|
||||
}
|
||||
@ -13,20 +13,18 @@ public sealed class TeleportMazeButton : InteractionButton
|
||||
public override bool Press( IPressable.Event e )
|
||||
{
|
||||
base.Press( e );
|
||||
|
||||
return false;
|
||||
// if ( Maze.IsValid() )
|
||||
// {
|
||||
// Maze.RpcRequestMaze();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
if ( Maze.IsValid() )
|
||||
{
|
||||
Maze.RpcRequestMaze();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Log.Info( "pressed teleport maze" );
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// DoTeleport();
|
||||
// return true;
|
||||
}
|
||||
|
||||
DoTeleport();
|
||||
return true;
|
||||
}
|
||||
|
||||
private async void DoTeleport()
|
||||
|
||||
59
Code/WorlModelClothSpawner.cs
Normal file
59
Code/WorlModelClothSpawner.cs
Normal file
@ -0,0 +1,59 @@
|
||||
using Sasalka;
|
||||
|
||||
public sealed class WorlModelClothSpawner : Component
|
||||
{
|
||||
[Property] public GameObject Prefab { get; set; }
|
||||
|
||||
[Property] public Vector3 CenterPosition { get; set; } = Vector3.Zero;
|
||||
[Property] public float Spacing { get; set; } = 50.0f;
|
||||
[Property] public float Height { get; set; } = 0.0f;
|
||||
|
||||
protected override void OnStart()
|
||||
{
|
||||
var definitions = ResourceLibrary.GetAll<ClothingItemDefinition>();
|
||||
var clothingItemDefinitions = definitions.ToList();
|
||||
int total = clothingItemDefinitions.Count();
|
||||
|
||||
if ( total == 0 )
|
||||
{
|
||||
Log.Warning( "No clothing definitions found." );
|
||||
return;
|
||||
}
|
||||
|
||||
// Автоматически вычисляем минимальный радиус круга, чтобы вместить все предметы
|
||||
// Площадь круга: πr², а площадь одного предмета: Spacing²
|
||||
// Нам нужно чтобы πr² >= total * Spacing² → r >= sqrt(total * Spacing² / π)
|
||||
float estimatedRadius = MathF.Sqrt( (total * Spacing * Spacing) / MathF.PI );
|
||||
float radius = estimatedRadius;
|
||||
|
||||
Log.Info( $"Auto-calculated radius: {radius}" );
|
||||
|
||||
int defIndex = 0;
|
||||
|
||||
for ( float x = -radius; x <= radius; x += Spacing )
|
||||
{
|
||||
for ( float y = -radius; y <= radius; y += Spacing )
|
||||
{
|
||||
if ( defIndex >= total )
|
||||
break;
|
||||
|
||||
if ( x * x + y * y <= radius * radius )
|
||||
{
|
||||
Vector3 pos = CenterPosition + new Vector3( x, y, Height );
|
||||
|
||||
var gO = Prefab.Clone( pos );
|
||||
gO.NetworkSpawn( null );
|
||||
|
||||
var item = gO.Components.Get<InventoryItem>();
|
||||
if ( item is not null )
|
||||
item.Definition = clothingItemDefinitions[defIndex];
|
||||
|
||||
defIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
if ( defIndex >= total )
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
58
Editor/UpdateCloths.cs
Normal file
58
Editor/UpdateCloths.cs
Normal file
@ -0,0 +1,58 @@
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Sandbox;
|
||||
using System.Text.Json;
|
||||
|
||||
public static class UpdateCloths
|
||||
{
|
||||
private static string outputFolder = @"c:/users/hamit_ba31xcg/documents/s&box projects/sasalka/assets/items/cloth/";
|
||||
|
||||
[Menu( "Editor", "MyClothing/Generate .clitem Files" )]
|
||||
public static async void GenerateClitemFiles()
|
||||
{
|
||||
var packageResult = await Package.FindAsync( "type:clothing", 100 );
|
||||
|
||||
Directory.CreateDirectory( outputFolder );
|
||||
|
||||
foreach ( var package in packageResult.Packages )
|
||||
{
|
||||
var clothUrl = package.Url.Replace( "https://sbox.game/", "" ); //package.Url;
|
||||
var imageUrl = package.Thumb;
|
||||
var fileName = $"{SanitizeFileName( package.Ident )}.clitem";
|
||||
var filePath = Path.Combine( outputFolder, fileName );
|
||||
|
||||
if ( File.Exists( filePath ) )
|
||||
continue;
|
||||
|
||||
var itemObject = new
|
||||
{
|
||||
ClothUrl = clothUrl,
|
||||
Slot = "Body",
|
||||
Name = package.Title,
|
||||
Description = package.Description == "" ? package.Ident : package.Description,
|
||||
Prefab = new { _type = "gameobject", prefab = "prefabs/item_parcel.prefab" },
|
||||
ImageTexture = (string)null,
|
||||
ImageUrl = imageUrl,
|
||||
MaxCount = 1,
|
||||
__references = new object[] { },
|
||||
__version = 0
|
||||
};
|
||||
|
||||
var json = JsonSerializer.Serialize( itemObject, new JsonSerializerOptions { WriteIndented = true } );
|
||||
|
||||
await File.WriteAllTextAsync( filePath, json );
|
||||
}
|
||||
}
|
||||
|
||||
private static string SanitizeFileName( string name )
|
||||
{
|
||||
var invalidChars = Path.GetInvalidFileNameChars();
|
||||
foreach ( var c in invalidChars )
|
||||
{
|
||||
name = name.Replace( c, '_' );
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
}
|
||||
@ -24,6 +24,7 @@
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameObject_002EDestroy_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F7c1e5ce5ab10ff4a2bb6b255131e72c4f315fef8072b35c3219f7e6d4d974f_003FGameObject_002EDestroy_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameObject_002ENetwork_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F1d311a462fa091c8c9b31b28ffb15b8ac676252763b18ba92b43a5082b0f8_003FGameObject_002ENetwork_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameResourceAttribute_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa2b91d29af2c4b9ba9c9da5883394d0b2bf200_003F12_003F61e10c1c_003FGameResourceAttribute_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameResource_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa2b91d29af2c4b9ba9c9da5883394d0b2bf200_003F2c_003Fcee89016_003FGameResource_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameResource_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb259d6161b344f3994a9007e79ffb76e727000_003F8e_003Fecbfca7a_003FGameResource_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGame_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F1c9070f543f8ffe8ee48d0dd7f25c3e16dd1f41e9bdcd55e79d1c8ee83cd55_003FGame_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AHttpResponseMessage_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F4cfeb8b377bc81e1fbb5f7d7a02492cb6ac23e88c8c9d7155944f0716f3d4b_003FHttpResponseMessage_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
@ -41,6 +42,7 @@
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AModel_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa2b91d29af2c4b9ba9c9da5883394d0b2bf200_003F9d_003F45f34be4_003FModel_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMousePanelEvent_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003Fcfcd31d2ea4eb21dfedc766ff2dcc564e1b3dc281346fd45aa21590f6283c_003FMousePanelEvent_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANavMesh_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa2b91d29af2c4b9ba9c9da5883394d0b2bf200_003F90_003F5b19e900_003FNavMesh_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APackage_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa2b91d29af2c4b9ba9c9da5883394d0b2bf200_003Fb5_003F018693ba_003FPackage_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APhysicsBody_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa2b91d29af2c4b9ba9c9da5883394d0b2bf200_003F83_003F79b53dac_003FPhysicsBody_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARay_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fcdd7996c168e4e71a26a18071188e963140000_003F68_003Fed78b2d5_003FRay_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AResourceLibrary_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb259d6161b344f3994a9007e79ffb76e727000_003Fb5_003F072d37f4_003FResourceLibrary_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user