Arachnid rework (#18631)
* Merge before I fuck up anything again * craft whitelist * Sericulture * Spider * gone * quickly fixed * and coders taketh away * And we take more away * sericulture improvements * arachnid * better webbed * OH WAIT * test fail
27
Content.Server/Sericulture/SericultureComponent.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
namespace Content.Server.Sericulture;
|
||||||
|
|
||||||
|
[RegisterComponent]
|
||||||
|
public sealed class SericultureComponent : Component
|
||||||
|
{
|
||||||
|
|
||||||
|
[DataField("popupText")]
|
||||||
|
public string PopupText = "sericulture-failure-hunger";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// What will be produced at the end of the action.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("entityProduced", required: true)]
|
||||||
|
public string EntityProduced = "";
|
||||||
|
|
||||||
|
[DataField("actionProto", required: true)]
|
||||||
|
public string ActionProto = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// How long will it take to make.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("productionLength", required: true), ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public float ProductionLength = 0;
|
||||||
|
|
||||||
|
[DataField("hungerCost"), ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public float HungerCost = 0f;
|
||||||
|
}
|
||||||
101
Content.Server/Sericulture/SericultureSystem.cs
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
using Content.Server.Actions;
|
||||||
|
using Content.Server.DoAfter;
|
||||||
|
using Content.Server.Popups;
|
||||||
|
using Content.Shared.Actions;
|
||||||
|
using Content.Shared.Actions.ActionTypes;
|
||||||
|
using Content.Shared.DoAfter;
|
||||||
|
using Content.Shared.Nutrition.Components;
|
||||||
|
using Content.Shared.Nutrition.EntitySystems;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
using Content.Shared.Sericulture;
|
||||||
|
using Content.Server.Stack;
|
||||||
|
|
||||||
|
namespace Content.Server.Sericulture;
|
||||||
|
|
||||||
|
public sealed class SericultureSystem : EntitySystem
|
||||||
|
{
|
||||||
|
[Dependency] private readonly ActionsSystem _actionsSystem = default!;
|
||||||
|
[Dependency] private readonly DoAfterSystem _doAfterSystem = default!;
|
||||||
|
[Dependency] private readonly IPrototypeManager _protoManager = default!;
|
||||||
|
[Dependency] private readonly HungerSystem _hungerSystem = default!;
|
||||||
|
[Dependency] private readonly PopupSystem _popupSystem = default!;
|
||||||
|
[Dependency] private readonly StackSystem _stackSystem = default!;
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
|
||||||
|
SubscribeLocalEvent<SericultureComponent, ComponentInit>(OnCompInit);
|
||||||
|
SubscribeLocalEvent<SericultureComponent, ComponentShutdown>(OnCompRemove);
|
||||||
|
SubscribeLocalEvent<SericultureComponent, SericultureActionEvent>(OnSericultureStart);
|
||||||
|
SubscribeLocalEvent<SericultureComponent, SericultureDoAfterEvent>(OnSericultureDoAfter);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnCompInit(EntityUid uid, SericultureComponent comp, ComponentInit args)
|
||||||
|
{
|
||||||
|
if (!_protoManager.TryIndex<InstantActionPrototype>(comp.ActionProto, out var actionProto))
|
||||||
|
return;
|
||||||
|
|
||||||
|
_actionsSystem.AddAction(uid, new InstantAction(actionProto), uid);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnCompRemove(EntityUid uid, SericultureComponent comp, ComponentShutdown args)
|
||||||
|
{
|
||||||
|
if (!_protoManager.TryIndex<InstantActionPrototype>(comp.ActionProto, out var actionProto))
|
||||||
|
return;
|
||||||
|
|
||||||
|
_actionsSystem.RemoveAction(uid, new InstantAction(actionProto));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnSericultureStart(EntityUid uid, SericultureComponent comp, SericultureActionEvent args)
|
||||||
|
{
|
||||||
|
if (IsHungry(uid))
|
||||||
|
{
|
||||||
|
_popupSystem.PopupEntity(Loc.GetString(comp.PopupText), uid, uid);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var doAfter = new DoAfterArgs(uid, comp.ProductionLength, new SericultureDoAfterEvent(), uid)
|
||||||
|
{
|
||||||
|
BreakOnUserMove = true,
|
||||||
|
BlockDuplicate = true,
|
||||||
|
BreakOnDamage = true,
|
||||||
|
CancelDuplicate = true,
|
||||||
|
};
|
||||||
|
|
||||||
|
_doAfterSystem.TryStartDoAfter(doAfter);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnSericultureDoAfter(EntityUid uid, SericultureComponent comp, SericultureDoAfterEvent args)
|
||||||
|
{
|
||||||
|
if (args.Cancelled || args.Handled || comp.Deleted)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (IsHungry(uid))
|
||||||
|
{
|
||||||
|
_popupSystem.PopupEntity(Loc.GetString(comp.PopupText), uid, uid);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_hungerSystem.ModifyHunger(uid, -comp.HungerCost);
|
||||||
|
|
||||||
|
var newEntity = Spawn(comp.EntityProduced, Transform(uid).Coordinates);
|
||||||
|
|
||||||
|
_stackSystem.TryMergeToHands(newEntity, uid);
|
||||||
|
|
||||||
|
args.Repeat = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool IsHungry(EntityUid uid, HungerComponent? comp = null)
|
||||||
|
{
|
||||||
|
if (!Resolve(uid, ref comp))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (_hungerSystem.GetHungerThreshold(comp) <= HungerThreshold.Peckish)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class SericultureActionEvent : InstantActionEvent { }
|
||||||
|
}
|
||||||
7
Content.Shared/Sericulture/SericultureEvents.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
using Content.Shared.DoAfter;
|
||||||
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
|
namespace Content.Shared.Sericulture;
|
||||||
|
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed class SericultureDoAfterEvent : SimpleDoAfterEvent { }
|
||||||
@@ -3,3 +3,7 @@ spider-web-action-description = Spawns a web that slows your prey down.
|
|||||||
spider-web-action-nogrid = There is no floor under you!
|
spider-web-action-nogrid = There is no floor under you!
|
||||||
spider-web-action-success = You place webs around you.
|
spider-web-action-success = You place webs around you.
|
||||||
spider-web-action-fail = You can't place webs here! All cardinal directions already have webs!
|
spider-web-action-fail = You can't place webs here! All cardinal directions already have webs!
|
||||||
|
|
||||||
|
sericulture-action-name = Weave silk
|
||||||
|
sericulture-action-description = Weave a bit of silk for use in arts and crafts.
|
||||||
|
sericulture-failure-hunger = Your stomach is too empty to make any more webs!
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
construction-step-condition-crafter-whitelist = You need to meet certain requirements.
|
||||||
@@ -101,3 +101,4 @@ tiles-snow-floor = snow floor
|
|||||||
tiles-wood3 = wood broken floor
|
tiles-wood3 = wood broken floor
|
||||||
tiles-hull = exterior hull plating
|
tiles-hull = exterior hull plating
|
||||||
tiles-hull-reinforced = exterior reinforced hull plating
|
tiles-hull-reinforced = exterior reinforced hull plating
|
||||||
|
tiles-web = web tile
|
||||||
|
|||||||
@@ -5,3 +5,11 @@
|
|||||||
description: spider-web-action-description
|
description: spider-web-action-description
|
||||||
serverEvent: !type:SpiderWebActionEvent
|
serverEvent: !type:SpiderWebActionEvent
|
||||||
useDelay: 25
|
useDelay: 25
|
||||||
|
|
||||||
|
- type: instantAction
|
||||||
|
id: SericultureAction
|
||||||
|
icon: Interface/Actions/web.png
|
||||||
|
name: sericulture-action-name
|
||||||
|
description: sericulture-action-description
|
||||||
|
serverEvent: !type:SericultureActionEvent
|
||||||
|
useDelay: 1
|
||||||
|
|||||||
@@ -91,8 +91,6 @@
|
|||||||
sprite: Mobs/Species/Arachnid/parts.rsi
|
sprite: Mobs/Species/Arachnid/parts.rsi
|
||||||
state: "l_leg"
|
state: "l_leg"
|
||||||
- type: MovementBodyPart
|
- type: MovementBodyPart
|
||||||
walkSpeed: 3.0
|
|
||||||
sprintSpeed: 5.0
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: RightLegArachnid
|
id: RightLegArachnid
|
||||||
@@ -103,8 +101,6 @@
|
|||||||
sprite: Mobs/Species/Arachnid/parts.rsi
|
sprite: Mobs/Species/Arachnid/parts.rsi
|
||||||
state: "r_leg"
|
state: "r_leg"
|
||||||
- type: MovementBodyPart
|
- type: MovementBodyPart
|
||||||
walkSpeed: 3.0
|
|
||||||
sprintSpeed: 5.0
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: LeftFootArachnid
|
id: LeftFootArachnid
|
||||||
|
|||||||
@@ -27,14 +27,20 @@
|
|||||||
part: RightArmArachnid
|
part: RightArmArachnid
|
||||||
connections:
|
connections:
|
||||||
- right hand
|
- right hand
|
||||||
|
- secondary right hand
|
||||||
left arm:
|
left arm:
|
||||||
part: LeftArmArachnid
|
part: LeftArmArachnid
|
||||||
connections:
|
connections:
|
||||||
- left hand
|
- left hand
|
||||||
|
- secondary left hand
|
||||||
right hand:
|
right hand:
|
||||||
part: RightHandArachnid
|
part: RightHandArachnid
|
||||||
left hand:
|
left hand:
|
||||||
part: LeftHandArachnid
|
part: LeftHandArachnid
|
||||||
|
secondary right hand:
|
||||||
|
part: RightHandArachnid
|
||||||
|
secondary left hand:
|
||||||
|
part: LeftHandArachnid
|
||||||
right leg:
|
right leg:
|
||||||
part: RightLegArachnid
|
part: RightLegArachnid
|
||||||
connections:
|
connections:
|
||||||
|
|||||||
@@ -91,6 +91,14 @@
|
|||||||
flatReductions:
|
flatReductions:
|
||||||
Blunt: 5
|
Blunt: 5
|
||||||
|
|
||||||
|
- type: damageModifierSet
|
||||||
|
id: Web # Very flammable, can be easily hacked and slashed, but shooting or hitting it is another story.
|
||||||
|
coefficients:
|
||||||
|
Blunt: 0.7
|
||||||
|
Slash: 2.0
|
||||||
|
Piercing: 0.7
|
||||||
|
Heat: 3.0
|
||||||
|
|
||||||
- type: damageModifierSet
|
- type: damageModifierSet
|
||||||
id: Slime
|
id: Slime
|
||||||
coefficients:
|
coefficients:
|
||||||
@@ -131,13 +139,10 @@
|
|||||||
Shock: 1.2
|
Shock: 1.2
|
||||||
|
|
||||||
- type: damageModifierSet
|
- type: damageModifierSet
|
||||||
id: Arachnid # Don't do too well with high temperatures, venomous (well some kinds anyways) and have an exo-skeleton (so probably harder to stab but easier to... break?)
|
id: Arachnid # Exo-skeleton, should have simillarities to skeleton resistances.
|
||||||
coefficients:
|
coefficients:
|
||||||
Blunt: 1.15
|
Blunt: 1.1
|
||||||
Piercing: 1.15
|
Heat: 1.5
|
||||||
Slash: 0.85
|
|
||||||
Heat: 1.25
|
|
||||||
Poison: 0.8
|
|
||||||
|
|
||||||
- type: damageModifierSet
|
- type: damageModifierSet
|
||||||
id: Moth # Slightly worse at everything but cold
|
id: Moth # Slightly worse at everything but cold
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
- type: Respirator
|
- type: Respirator
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Asphyxiation: 2 # Make sure you have O2 on you at all times
|
Asphyxiation: 1.5 # Make sure you have O2 on you at all times
|
||||||
damageRecovery:
|
damageRecovery:
|
||||||
types:
|
types:
|
||||||
Asphyxiation: -0.5 # Recovery will suck without chems
|
Asphyxiation: -0.5 # Recovery will suck without chems
|
||||||
@@ -6,50 +6,40 @@
|
|||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
# The important nessessities
|
# The important nessessities
|
||||||
- type: MovementSpeedModifier
|
|
||||||
baseWalkSpeed: 3.0
|
|
||||||
baseSprintSpeed: 5.0
|
|
||||||
- type: Body
|
- type: Body
|
||||||
prototype: Arachnid
|
prototype: Arachnid
|
||||||
requiredLegs: 2
|
requiredLegs: 2
|
||||||
- type: Perishable
|
- type: Perishable
|
||||||
- type: HumanoidAppearance
|
- type: HumanoidAppearance
|
||||||
species: Arachnid
|
species: Arachnid
|
||||||
- type: Damageable
|
|
||||||
damageContainer: Biological
|
|
||||||
damageModifierSet: Arachnid # spooder
|
|
||||||
- type: Hunger
|
- type: Hunger
|
||||||
starvationDamage:
|
baseDecayRate: 0.0125
|
||||||
|
starvationDamage: # Not sure if this should be changed.
|
||||||
types:
|
types:
|
||||||
Cold: 0.5
|
Cold: 0.5
|
||||||
Bloodloss: 0.5
|
Bloodloss: 0.5
|
||||||
- type: Thirst
|
- type: Thirst
|
||||||
- type: Icon
|
baseDecayRate: 0.0125
|
||||||
sprite: Mobs/Species/Arachnid/parts.rsi
|
# Damage (Self)
|
||||||
state: full
|
- type: Damageable
|
||||||
# Damage and speed
|
damageContainer: Biological
|
||||||
|
damageModifierSet: Arachnid
|
||||||
- type: Bloodstream
|
- type: Bloodstream
|
||||||
bloodReagent: SpiderBlood
|
bloodReagent: SpiderBlood
|
||||||
- type: Temperature
|
# Damage (Others)
|
||||||
heatDamageThreshold: 400
|
- type: MeleeWeapon
|
||||||
coldDamageThreshold: 285
|
animation: WeaponArcClaw
|
||||||
currentTemperature: 310.15
|
soundHit:
|
||||||
specificHeat: 46
|
collection: AlienClaw
|
||||||
coldDamage:
|
|
||||||
types:
|
|
||||||
Cold : 0.2 #per second, scales with temperature & other constants
|
|
||||||
heatDamage:
|
|
||||||
types:
|
|
||||||
Heat : 0.1 #per second, scales with temperature & other constants
|
|
||||||
- type: Barotrauma
|
|
||||||
damage:
|
damage:
|
||||||
types:
|
types: # Realisically this is more like 5 slash
|
||||||
Blunt: 0.20 #per second, scales with pressure and other constants.
|
Slash: 4
|
||||||
- type: SlowOnDamage
|
# Visual & Audio
|
||||||
speedModifierThresholds: # This is an ouch, but it does make up for their extra speed
|
- type: DamageVisuals
|
||||||
65: 0.7
|
damageOverlayGroups:
|
||||||
80: 0.4
|
Brute:
|
||||||
# Misc
|
sprite: Mobs/Effects/brute_damage.rsi
|
||||||
|
color: "#162581"
|
||||||
- type: Speech
|
- type: Speech
|
||||||
speechSounds: Arachnid
|
speechSounds: Arachnid
|
||||||
- type: Vocal
|
- type: Vocal
|
||||||
@@ -57,20 +47,66 @@
|
|||||||
Male: UnisexArachnid
|
Male: UnisexArachnid
|
||||||
Female: UnisexArachnid
|
Female: UnisexArachnid
|
||||||
Unsexed: UnisexArachnid
|
Unsexed: UnisexArachnid
|
||||||
- type: Inventory
|
- type: Sprite
|
||||||
templateId: arachnid
|
noRot: true
|
||||||
- type: MeleeWeapon
|
drawdepth: Mobs
|
||||||
hidden: true
|
layers:
|
||||||
soundHit:
|
- map: [ "enum.HumanoidVisualLayers.Chest" ]
|
||||||
path: /Audio/Weapons/pierce.ogg
|
- map: [ "enum.HumanoidVisualLayers.Head" ]
|
||||||
angle: 30
|
- map: [ "enum.HumanoidVisualLayers.Snout" ]
|
||||||
animation: WeaponArcClaw
|
- map: [ "enum.HumanoidVisualLayers.Eyes" ]
|
||||||
attackRate: 1.5
|
- map: [ "enum.HumanoidVisualLayers.RArm" ]
|
||||||
damage:
|
- map: [ "enum.HumanoidVisualLayers.LArm" ]
|
||||||
types:
|
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
|
||||||
# Actually does 3 + 1 damage due to +25% damage bonus on all single target melee attacks
|
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
|
||||||
Slash: 2.4
|
- shader: StencilClear
|
||||||
Poison: 0.8
|
sprite: Mobs/Species/Human/parts.rsi #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
|
||||||
|
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
|
||||||
|
# sprite refactor when
|
||||||
|
state: l_leg
|
||||||
|
- shader: StencilMask
|
||||||
|
map: ["enum.HumanoidVisualLayers.StencilMask"]
|
||||||
|
sprite: Mobs/Customization/masking_helpers.rsi
|
||||||
|
state: unisex_full
|
||||||
|
visible: false
|
||||||
|
- map: ["jumpsuit"]
|
||||||
|
- map: ["enum.HumanoidVisualLayers.LFoot"]
|
||||||
|
- map: ["enum.HumanoidVisualLayers.RFoot"]
|
||||||
|
- map: ["enum.HumanoidVisualLayers.LHand"]
|
||||||
|
- map: ["enum.HumanoidVisualLayers.RHand"]
|
||||||
|
- map: [ "id" ]
|
||||||
|
- map: [ "gloves" ]
|
||||||
|
- map: [ "shoes" ]
|
||||||
|
- map: [ "ears" ]
|
||||||
|
- map: [ "outerClothing" ]
|
||||||
|
- map: [ "eyes" ]
|
||||||
|
- map: [ "belt" ]
|
||||||
|
- map: [ "enum.HumanoidVisualLayers.Tail" ] # Better here?
|
||||||
|
- map: [ "neck" ]
|
||||||
|
- map: [ "back" ]
|
||||||
|
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
|
||||||
|
- map: [ "enum.HumanoidVisualLayers.Hair" ]
|
||||||
|
- map: [ "enum.HumanoidVisualLayers.HeadSide" ]
|
||||||
|
- map: [ "enum.HumanoidVisualLayers.HeadTop" ]
|
||||||
|
- map: [ "mask" ]
|
||||||
|
- map: [ "head" ]
|
||||||
|
- map: [ "pocket1" ]
|
||||||
|
- map: [ "pocket2" ]
|
||||||
|
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
|
||||||
|
color: "#ffffff"
|
||||||
|
sprite: Objects/Misc/handcuffs.rsi
|
||||||
|
state: body-overlay-2
|
||||||
|
visible: false
|
||||||
|
- map: [ "clownedon" ] # Dynamically generated
|
||||||
|
sprite: "Effects/creampie.rsi"
|
||||||
|
state: "creampie_human"
|
||||||
|
visible: false
|
||||||
|
# Misc
|
||||||
|
- type: Sericulture
|
||||||
|
actionProto: SericultureAction
|
||||||
|
productionLength: 3
|
||||||
|
entityProduced: MaterialWebSilk1
|
||||||
|
hungerCost: 5
|
||||||
- type: Butcherable
|
- type: Butcherable
|
||||||
butcheringType: Spike
|
butcheringType: Spike
|
||||||
spawned:
|
spawned:
|
||||||
|
|||||||
@@ -453,3 +453,42 @@
|
|||||||
count: 1
|
count: 1
|
||||||
- type: Item
|
- type: Item
|
||||||
size: 2
|
size: 2
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: MaterialBase
|
||||||
|
id: MaterialWebSilk
|
||||||
|
name: silk
|
||||||
|
description: A webby material
|
||||||
|
suffix: Full
|
||||||
|
components:
|
||||||
|
- type: PhysicalComposition
|
||||||
|
materialComposition:
|
||||||
|
WebSilk: 100
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Materials/silk.rsi
|
||||||
|
state: icon
|
||||||
|
- type: Stack
|
||||||
|
count: 50
|
||||||
|
stackType: WebSilk
|
||||||
|
- type: Item
|
||||||
|
size: 50
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: MaterialWebSilk
|
||||||
|
id: MaterialWebSilk25
|
||||||
|
suffix: 25
|
||||||
|
components:
|
||||||
|
- type: Stack
|
||||||
|
count: 25
|
||||||
|
- type: Item
|
||||||
|
size: 25
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: MaterialWebSilk
|
||||||
|
id: MaterialWebSilk1
|
||||||
|
suffix: 1
|
||||||
|
components:
|
||||||
|
- type: Stack
|
||||||
|
count: 1
|
||||||
|
- type: Item
|
||||||
|
size: 1
|
||||||
|
|||||||
@@ -49,6 +49,11 @@
|
|||||||
behaviors:
|
behaviors:
|
||||||
- !type:DoActsBehavior
|
- !type:DoActsBehavior
|
||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
|
- !type:SpawnEntitiesBehavior
|
||||||
|
spawn:
|
||||||
|
MaterialWebSilk:
|
||||||
|
min: 0
|
||||||
|
max: 1
|
||||||
- type: Temperature
|
- type: Temperature
|
||||||
heatDamage:
|
heatDamage:
|
||||||
types:
|
types:
|
||||||
|
|||||||
@@ -810,3 +810,19 @@
|
|||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: FloorTileGratingMaint
|
stackType: FloorTileGratingMaint
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: web tile
|
||||||
|
parent: FloorTileItemBase
|
||||||
|
id: FloorTileItemWeb
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Tiles/web.rsi
|
||||||
|
state: icon
|
||||||
|
- type: FloorTile
|
||||||
|
outputs:
|
||||||
|
- FloorWebTile
|
||||||
|
- type: Stack
|
||||||
|
stackType: FloorTileWeb
|
||||||
|
- type: Construction
|
||||||
|
graph: TileWeb
|
||||||
|
node: webtile
|
||||||
|
|||||||
@@ -478,6 +478,35 @@
|
|||||||
- !type:DoActsBehavior
|
- !type:DoActsBehavior
|
||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: TableWeb
|
||||||
|
parent: TableBase
|
||||||
|
name: web table
|
||||||
|
description: Really smooth and surprisingly durable.
|
||||||
|
components:
|
||||||
|
- type: Damageable
|
||||||
|
damageModifierSet: Web
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Structures/Furniture/Web/table.rsi
|
||||||
|
- type: Icon
|
||||||
|
sprite: Structures/Furniture/Web/table.rsi
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger:
|
||||||
|
!type:DamageTrigger
|
||||||
|
damage: 50
|
||||||
|
behaviors:
|
||||||
|
- !type:DoActsBehavior
|
||||||
|
acts: [ "Destruction" ]
|
||||||
|
- type: MeleeSound
|
||||||
|
soundGroups:
|
||||||
|
Brute:
|
||||||
|
path:
|
||||||
|
"/Audio/Weapons/slash.ogg"
|
||||||
|
- type: Construction
|
||||||
|
graph: TableWeb
|
||||||
|
node: table
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: TableDebug
|
id: TableDebug
|
||||||
parent: TableBase
|
parent: TableBase
|
||||||
|
|||||||
@@ -122,3 +122,31 @@
|
|||||||
state: mattress
|
state: mattress
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageModifierSet: Inflatable
|
damageModifierSet: Inflatable
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: Bed
|
||||||
|
id: WebBed
|
||||||
|
name: web bed
|
||||||
|
description: You got webbed.
|
||||||
|
components:
|
||||||
|
- type: Damageable
|
||||||
|
damageModifierSet: Web
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Structures/Furniture/Web/bed.rsi
|
||||||
|
state: icon
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger:
|
||||||
|
!type:DamageTrigger
|
||||||
|
damage: 50
|
||||||
|
behaviors:
|
||||||
|
- !type:DoActsBehavior
|
||||||
|
acts: ["Destruction"]
|
||||||
|
- !type:PlaySoundBehavior
|
||||||
|
sound:
|
||||||
|
path: /Audio/Effects/woodhit.ogg
|
||||||
|
- !type:SpawnEntitiesBehavior
|
||||||
|
spawn:
|
||||||
|
MaterialWebSilk:
|
||||||
|
min: 1
|
||||||
|
max: 1
|
||||||
|
|||||||
@@ -247,6 +247,45 @@
|
|||||||
graph: RitualSeat
|
graph: RitualSeat
|
||||||
node: chairCursed
|
node: chairCursed
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: web chair
|
||||||
|
id: WebChair
|
||||||
|
description: For true web developers.
|
||||||
|
parent: SeatBase
|
||||||
|
components:
|
||||||
|
- type: Transform
|
||||||
|
anchored: true
|
||||||
|
- type: Physics
|
||||||
|
bodyType: Static
|
||||||
|
- type: Anchorable
|
||||||
|
- type: Rotatable
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Structures/Furniture/Web/chair.rsi
|
||||||
|
state: icon
|
||||||
|
- type: MeleeSound
|
||||||
|
soundGroups:
|
||||||
|
Brute:
|
||||||
|
path:
|
||||||
|
"/Audio/Weapons/slash.ogg"
|
||||||
|
- type: Damageable
|
||||||
|
damageModifierSet: Web
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger:
|
||||||
|
!type:DamageTrigger
|
||||||
|
damage: 50
|
||||||
|
behaviors:
|
||||||
|
- !type:DoActsBehavior
|
||||||
|
acts: ["Destruction"]
|
||||||
|
- !type:PlaySoundBehavior
|
||||||
|
sound:
|
||||||
|
path: /Audio/Effects/woodhit.ogg
|
||||||
|
- !type:SpawnEntitiesBehavior
|
||||||
|
spawn:
|
||||||
|
MaterialWebSilk:
|
||||||
|
min: 1
|
||||||
|
max: 1
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [SeatBase, BaseFoldable]
|
parent: [SeatBase, BaseFoldable]
|
||||||
id: ChairFolding
|
id: ChairFolding
|
||||||
|
|||||||
@@ -927,6 +927,48 @@
|
|||||||
key: walls
|
key: walls
|
||||||
base: wood
|
base: wood
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: BaseWall
|
||||||
|
id: WallWeb
|
||||||
|
name: web wall
|
||||||
|
description: Keeps the spiders in and the greytide out.
|
||||||
|
components:
|
||||||
|
- type: Clickable
|
||||||
|
- type: MeleeSound
|
||||||
|
soundGroups:
|
||||||
|
Brute:
|
||||||
|
path:
|
||||||
|
"/Audio/Weapons/slash.ogg"
|
||||||
|
- type: Damageable
|
||||||
|
damageModifierSet: Web
|
||||||
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- Wall
|
||||||
|
- RCDDeconstructWhitelist
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Structures/Walls/web.rsi
|
||||||
|
- type: Icon
|
||||||
|
sprite: Structures/Walls/web.rsi
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger:
|
||||||
|
!type:DamageTrigger
|
||||||
|
damage: 30
|
||||||
|
behaviors:
|
||||||
|
- !type:DoActsBehavior
|
||||||
|
acts: [ "Destruction" ]
|
||||||
|
- !type:SpawnEntitiesBehavior
|
||||||
|
spawn:
|
||||||
|
MaterialWebSilk:
|
||||||
|
min: 1
|
||||||
|
max: 1
|
||||||
|
- type: IconSmooth
|
||||||
|
key: walls
|
||||||
|
base: wall
|
||||||
|
- type: Construction
|
||||||
|
graph: WallWeb
|
||||||
|
node: wall
|
||||||
|
|
||||||
|
|
||||||
# Vault Walls
|
# Vault Walls
|
||||||
|
|
||||||
@@ -975,7 +1017,6 @@
|
|||||||
sprite: Structures/Walls/vault.rsi
|
sprite: Structures/Walls/vault.rsi
|
||||||
state: sandstonevault
|
state: sandstonevault
|
||||||
|
|
||||||
|
|
||||||
# Mime
|
# Mime
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|||||||
@@ -76,3 +76,10 @@
|
|||||||
icon: { sprite: Objects/Materials/Sheets/meaterial.rsi, state: meat }
|
icon: { sprite: Objects/Materials/Sheets/meaterial.rsi, state: meat }
|
||||||
color: "#c53648"
|
color: "#c53648"
|
||||||
price: 0.05
|
price: 0.05
|
||||||
|
|
||||||
|
- type: material
|
||||||
|
id: WebSilk
|
||||||
|
name: materials-web
|
||||||
|
icon: { sprite: Objects/Materials/silk.rsi, state: icon }
|
||||||
|
color: "#eeeeee" #eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
|
||||||
|
price: 0 # Maybe better for it to be priceless, knowing how greedy cargo is.
|
||||||
|
|||||||
35
Resources/Prototypes/Recipes/Construction/Graphs/web.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
- type: constructionGraph
|
||||||
|
id: WallWeb
|
||||||
|
start: start
|
||||||
|
graph:
|
||||||
|
- node: start
|
||||||
|
edges:
|
||||||
|
- to: wall
|
||||||
|
completed:
|
||||||
|
- !type:SnapToGrid
|
||||||
|
southRotation: true
|
||||||
|
steps:
|
||||||
|
- material: WebSilk
|
||||||
|
amount: 4
|
||||||
|
doAfter: 3
|
||||||
|
|
||||||
|
- node: wall
|
||||||
|
entity: WallWeb
|
||||||
|
|
||||||
|
- type: constructionGraph
|
||||||
|
id: TableWeb
|
||||||
|
start: start
|
||||||
|
graph:
|
||||||
|
- node: start
|
||||||
|
edges:
|
||||||
|
- to: table
|
||||||
|
completed:
|
||||||
|
- !type:SnapToGrid
|
||||||
|
southRotation: true
|
||||||
|
steps:
|
||||||
|
- material: WebSilk
|
||||||
|
amount: 4
|
||||||
|
doAfter: 3
|
||||||
|
|
||||||
|
- node: table
|
||||||
|
entity: TableWeb
|
||||||
35
Resources/Prototypes/Recipes/Construction/web.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
- type: construction
|
||||||
|
name: web wall
|
||||||
|
id: WallWeb
|
||||||
|
graph: WallWeb
|
||||||
|
startNode: start
|
||||||
|
targetNode: wall
|
||||||
|
category: construction-category-structures
|
||||||
|
description: A fairly weak yet silky smooth wall.
|
||||||
|
icon:
|
||||||
|
sprite: /Textures/Structures/Walls/web.rsi
|
||||||
|
state: full
|
||||||
|
objectType: Structure
|
||||||
|
placementMode: SnapgridCenter
|
||||||
|
canRotate: false
|
||||||
|
canBuildInImpassable: false
|
||||||
|
conditions:
|
||||||
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
|
- type: construction
|
||||||
|
name: web table
|
||||||
|
id: TableWeb
|
||||||
|
graph: TableWeb
|
||||||
|
startNode: start
|
||||||
|
targetNode: table
|
||||||
|
category: construction-category-structures
|
||||||
|
description: Essential for any serious web development.
|
||||||
|
icon:
|
||||||
|
sprite: /Textures/Structures/Furniture/Web/table.rsi
|
||||||
|
state: full
|
||||||
|
objectType: Structure
|
||||||
|
placementMode: SnapgridCenter
|
||||||
|
canRotate: false
|
||||||
|
canBuildInImpassable: false
|
||||||
|
conditions:
|
||||||
|
- !type:TileNotBlocked
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
- !type:SetStackCount
|
- !type:SetStackCount
|
||||||
amount: 4
|
amount: 4
|
||||||
steps:
|
steps:
|
||||||
- material: Steel
|
- material: WebSilk
|
||||||
amount: 1
|
amount: 1
|
||||||
- node: steeltile
|
- node: steeltile
|
||||||
entity: FloorTileItemSteel
|
entity: FloorTileItemSteel
|
||||||
|
|||||||
15
Resources/Prototypes/Recipes/Crafting/Graphs/web.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
- type: constructionGraph
|
||||||
|
id: TileWeb
|
||||||
|
start: start
|
||||||
|
graph:
|
||||||
|
- node: start
|
||||||
|
edges:
|
||||||
|
- to: webtile
|
||||||
|
completed:
|
||||||
|
- !type:SetStackCount
|
||||||
|
amount: 2
|
||||||
|
steps:
|
||||||
|
- material: WebSilk
|
||||||
|
amount: 1
|
||||||
|
- node: webtile
|
||||||
|
entity: FloorTileItemWeb
|
||||||
10
Resources/Prototypes/Recipes/Crafting/web.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
- type: construction
|
||||||
|
name: web tile
|
||||||
|
id: TileWeb
|
||||||
|
graph: TileWeb
|
||||||
|
startNode: start
|
||||||
|
targetNode: webtile
|
||||||
|
category: construction-category-tiles
|
||||||
|
description: "Nice and smooth."
|
||||||
|
icon: { sprite: Objects/Tiles/web.rsi, state: icon }
|
||||||
|
objectType: Item
|
||||||
@@ -69,3 +69,11 @@
|
|||||||
spawn: MaterialSheetMeat1
|
spawn: MaterialSheetMeat1
|
||||||
maxCount: 30
|
maxCount: 30
|
||||||
itemSize: 1
|
itemSize: 1
|
||||||
|
|
||||||
|
- type: stack
|
||||||
|
id: WebSilk
|
||||||
|
name: silk
|
||||||
|
icon: { sprite: /Textures/Objects/Materials/silk.rsi, state: icon }
|
||||||
|
spawn: MaterialWebSilk1
|
||||||
|
maxCount: 50
|
||||||
|
itemSize: 1
|
||||||
|
|||||||
@@ -368,3 +368,10 @@
|
|||||||
spawn: FloorTileItemGratingMaint
|
spawn: FloorTileItemGratingMaint
|
||||||
maxCount: 30
|
maxCount: 30
|
||||||
itemSize: 5
|
itemSize: 5
|
||||||
|
|
||||||
|
- type: stack
|
||||||
|
id: FloorTileWeb
|
||||||
|
name: web tile
|
||||||
|
spawn: FloorTileItemWeb
|
||||||
|
maxCount: 30
|
||||||
|
itemSize: 5
|
||||||
|
|||||||
@@ -1438,6 +1438,20 @@
|
|||||||
itemDrop: MaterialWoodPlank1
|
itemDrop: MaterialWoodPlank1
|
||||||
heatCapacity: 10000
|
heatCapacity: 10000
|
||||||
|
|
||||||
|
- type: tile
|
||||||
|
id: FloorWebTile
|
||||||
|
name: tiles-web
|
||||||
|
sprite: /Textures/Tiles/Misc/Web/web_tile.png
|
||||||
|
baseTurf: Plating
|
||||||
|
isSubfloor: false
|
||||||
|
canCrowbar: true
|
||||||
|
footstepSounds:
|
||||||
|
collection: FootstepCarpet
|
||||||
|
barestepSounds:
|
||||||
|
collection: BarestepCarpet
|
||||||
|
itemDrop: FloorTileItemWeb
|
||||||
|
heatCapacity: 10000
|
||||||
|
|
||||||
#Hull tiles
|
#Hull tiles
|
||||||
- type: tile
|
- type: tile
|
||||||
id: FloorHull
|
id: FloorHull
|
||||||
|
|||||||
BIN
Resources/Textures/Objects/Materials/silk.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 391 B |
12
Resources/Textures/Objects/Materials/silk.rsi/meta.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "Made by PixelTheKermit (github) for SS14",
|
||||||
|
"size": {"x": 32, "y": 32},
|
||||||
|
"states":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "icon"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/Objects/Tiles/web.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 302 B |
14
Resources/Textures/Objects/Tiles/web.rsi/meta.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "Made by PixelTheKermit (github) for SS14",
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "icon"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/Structures/Furniture/Web/bed.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 491 B |
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "",
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "icon"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/Structures/Furniture/Web/chair.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 967 B |
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "",
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "icon",
|
||||||
|
"directions": 4
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/Structures/Furniture/Web/table.rsi/full.png
Normal file
|
After Width: | Height: | Size: 566 B |
163
Resources/Textures/Structures/Furniture/Web/table.rsi/meta.json
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "",
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "full",
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "state_0",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "state_1",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "state_2",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "state_3",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "state_4",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "state_5",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "state_6",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "state_7",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 780 B |
|
After Width: | Height: | Size: 616 B |
|
After Width: | Height: | Size: 780 B |
|
After Width: | Height: | Size: 616 B |
|
After Width: | Height: | Size: 652 B |
|
After Width: | Height: | Size: 624 B |
|
After Width: | Height: | Size: 652 B |
|
After Width: | Height: | Size: 254 B |
BIN
Resources/Textures/Structures/Walls/web.rsi/full.png
Normal file
|
After Width: | Height: | Size: 507 B |
46
Resources/Textures/Structures/Walls/web.rsi/meta.json
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "",
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "wall0",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wall1",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wall2",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wall3",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wall4",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wall5",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wall6",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wall7",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "full"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/Structures/Walls/web.rsi/wall0.png
Normal file
|
After Width: | Height: | Size: 802 B |
BIN
Resources/Textures/Structures/Walls/web.rsi/wall1.png
Normal file
|
After Width: | Height: | Size: 596 B |
BIN
Resources/Textures/Structures/Walls/web.rsi/wall2.png
Normal file
|
After Width: | Height: | Size: 802 B |
BIN
Resources/Textures/Structures/Walls/web.rsi/wall3.png
Normal file
|
After Width: | Height: | Size: 596 B |
BIN
Resources/Textures/Structures/Walls/web.rsi/wall4.png
Normal file
|
After Width: | Height: | Size: 593 B |
BIN
Resources/Textures/Structures/Walls/web.rsi/wall5.png
Normal file
|
After Width: | Height: | Size: 697 B |
BIN
Resources/Textures/Structures/Walls/web.rsi/wall6.png
Normal file
|
After Width: | Height: | Size: 593 B |
BIN
Resources/Textures/Structures/Walls/web.rsi/wall7.png
Normal file
|
After Width: | Height: | Size: 239 B |
14
Resources/Textures/Tiles/Misc/Web/meta.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "Made by PixelTheKermit (github) for ss14",
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "web_tile"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/Tiles/Misc/Web/web_tile.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |