Shivs, spears and guns (#16654)

* weapons

* craft

* crafting but working this time. hopefully

* spear crafting fix

* graph id fix

---------

Co-authored-by: and_a <and_a@DESKTOP-RJENGIR>
This commit is contained in:
TaralGit
2023-05-21 17:14:42 -07:00
committed by GitHub
parent a8fe5d7907
commit 57dfb82117
67 changed files with 820 additions and 11 deletions

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
abstract: true
parent: BaseItem
id: ShardBase
@@ -116,7 +116,11 @@
- type: DamageUserOnTrigger
damage:
types:
Piercing: 10
Piercing: 5
- type: Tag
tags:
- ReinforcedGlassShard
- Trash
- type: entity
parent: ShardBase
@@ -133,7 +137,11 @@
- type: DamageUserOnTrigger
damage:
types:
Piercing: 15
Piercing: 5
- type: Tag
tags:
- PlasmaGlassShard
- Trash
- type: entity
parent: ShardBase
@@ -150,4 +158,10 @@
- type: DamageUserOnTrigger
damage:
types:
Piercing: 15
Piercing: 3
Radiation: 2
- type: Tag
tags:
- UraniumGlassShard
- Trash

View File

@@ -26,6 +26,119 @@
useSound:
path: /Audio/Items/Culinary/chop.ogg
- type: entity
name: shiv
parent: BaseKnife
id: Shiv
description: A crude weapon fashioned from a piece of cloth and a glass shard.
components:
- type: Tag
tags:
- CombatKnife
- Knife
- type: Construction
graph: Shiv
node: icon
- type: Sprite
sprite: Objects/Weapons/Melee/shiv.rsi
size: 2
state: icon
- type: MeleeWeapon
attackRate: 1.5
damage:
types:
Slash: 5
- type: Item
size: 10
sprite: Objects/Weapons/Melee/shiv.rsi
- type: DisarmMalus
malus: 0.225
- type: entity
name: reinforced shiv
parent: BaseKnife
id: ReinforcedShiv
description: A crude weapon fashioned from a piece of cloth and a reinforced glass shard.
components:
- type: Tag
tags:
- CombatKnife
- Knife
- type: Construction
graph: ReinforcedShiv
node: icon
- type: Sprite
sprite: Objects/Weapons/Melee/reinforced_shiv.rsi
size: 2
state: icon
- type: MeleeWeapon
attackRate: 1.5
damage:
types:
Slash: 10
- type: Item
size: 10
sprite: Objects/Weapons/Melee/reinforced_shiv.rsi
- type: DisarmMalus
malus: 0.225
- type: entity
name: plasma shiv
parent: BaseKnife
id: PlasmaShiv
description: A crude weapon fashioned from a piece of cloth and a plasma shard.
components:
- type: Tag
tags:
- CombatKnife
- Knife
- type: Construction
graph: PlasmaShiv
node: icon
- type: Sprite
sprite: Objects/Weapons/Melee/plasma_shiv.rsi
size: 2
state: icon
- type: MeleeWeapon
attackRate: 1.5
damage:
types:
Slash: 15
- type: Item
size: 10
sprite: Objects/Weapons/Melee/plasma_shiv.rsi
- type: DisarmMalus
malus: 0.225
- type: entity
name: uranium shiv
parent: BaseKnife
id: UraniumShiv
description: A crude weapon fashioned from a piece of cloth and a uranium shard.
components:
- type: Tag
tags:
- CombatKnife
- Knife
- type: Construction
graph: UraniumShiv
node: icon
- type: Sprite
sprite: Objects/Weapons/Melee/uranium_shiv.rsi
size: 2
state: icon
- type: MeleeWeapon
attackRate: 1.5
damage:
types:
Slash: 10
Radiation: 5
- type: Item
size: 10
sprite: Objects/Weapons/Melee/uranium_shiv.rsi
- type: DisarmMalus
malus: 0.225
- type: entity
name: kitchen knife
parent: BaseKnife

View File

@@ -1,4 +1,4 @@
- type: entity
- type: entity
name: spear
parent: BaseItem
id: Spear
@@ -77,3 +77,245 @@
damage:
types:
Blunt: 5
- type: entity
name: reinforced spear
parent: BaseItem
id: SpearReinforced
description: A spear with a reinforced glass shard as a tip.
components:
- type: Tag
tags:
- Spear
- type: Sharp
- type: Sprite
sprite: Objects/Weapons/Melee/reinforced_spear.rsi
netsync: false
state: spear
- type: MeleeWeapon
damage:
types:
Piercing: 15
angle: 0
animation: WeaponArcThrust
- type: DamageOtherOnHit
damage:
types:
Piercing: 18
- type: Item
size: 25
- type: Clothing
quickEquip: false
slots:
- back
- type: Construction
graph: SpearReinforced
node: spear
- type: ItemCooldown
- type: SolutionContainerManager
solutions:
melee:
maxVol: 5
- type: MeleeChemicalInjector
solution: melee
- type: RefillableSolution
solution: melee
- type: InjectableSolution
solution: melee
- type: SolutionTransfer
maxTransferAmount: 5
- type: Wieldable
- type: IncreaseDamageOnWield
damage:
types:
Piercing: 4
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30 #excess damage avoids cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
damage:
types:
Blunt: 5
- type: entity
name: plasma spear
parent: BaseItem
id: SpearPlasma
description: A spear with a plasma shard as a tip.
components:
- type: Tag
tags:
- Spear
- type: Sharp
- type: Sprite
sprite: Objects/Weapons/Melee/plasma_spear.rsi
netsync: false
state: spear
- type: MeleeWeapon
damage:
types:
Piercing: 18
angle: 0
animation: WeaponArcThrust
- type: DamageOtherOnHit
damage:
types:
Piercing: 21
- type: Item
size: 25
- type: Clothing
quickEquip: false
slots:
- back
- type: Construction
graph: SpearPlasma
node: spear
- type: ItemCooldown
- type: SolutionContainerManager
solutions:
melee:
maxVol: 5
- type: MeleeChemicalInjector
solution: melee
- type: RefillableSolution
solution: melee
- type: InjectableSolution
solution: melee
- type: SolutionTransfer
maxTransferAmount: 5
- type: Wieldable
- type: IncreaseDamageOnWield
damage:
types:
Piercing: 4
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30 #excess damage avoids cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
damage:
types:
Blunt: 5
- type: entity
name: uranium spear
parent: BaseItem
id: SpearUranium
description: A spear with a uranium shard as a tip.
components:
- type: Tag
tags:
- Spear
- type: Sharp
- type: Sprite
sprite: Objects/Weapons/Melee/uranium_spear.rsi
netsync: false
state: spear
- type: MeleeWeapon
damage:
types:
Piercing: 10
Radiation: 8
angle: 0
animation: WeaponArcThrust
- type: DamageOtherOnHit
damage:
types:
Piercing: 12
Radiation: 9
- type: Item
size: 25
- type: Clothing
quickEquip: false
slots:
- back
- type: Construction
graph: SpearUranium
node: spear
- type: ItemCooldown
- type: SolutionContainerManager
solutions:
melee:
maxVol: 5
- type: MeleeChemicalInjector
solution: melee
- type: RefillableSolution
solution: melee
- type: InjectableSolution
solution: melee
- type: SolutionTransfer
maxTransferAmount: 5
- type: Wieldable
- type: IncreaseDamageOnWield
damage:
types:
Piercing: 4
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30 #excess damage avoids cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
damage:
types:
Blunt: 5

View File

@@ -0,0 +1,79 @@
- type: constructionGraph
id: Shiv
start: start
graph:
- node: start
edges:
- to: icon
steps:
- material: Cloth
amount: 1
doAfter: 1
- tag: GlassShard
name: Glass Shard
icon:
sprite: Objects/Materials/Shards/shard.rsi
state: shard1
doAfter: 1
- node: icon
entity: Shiv
- type: constructionGraph
id: ReinforcedShiv
start: start
graph:
- node: start
edges:
- to: icon
steps:
- material: Cloth
amount: 1
doAfter: 1
- tag: ReinforcedGlassShard
name: Reinforced Glass Shard
icon:
sprite: Objects/Materials/Shards/shard.rsi
state: shard1
doAfter: 1
- node: icon
entity: ReinforcedShiv
- type: constructionGraph
id: PlasmaShiv
start: start
graph:
- node: start
edges:
- to: icon
steps:
- material: Cloth
amount: 1
doAfter: 1
- tag: PlasmaGlassShard
name: Plasma Glass Shard
icon:
sprite: Objects/Materials/Shards/shard.rsi
state: shard1
doAfter: 1
- node: icon
entity: PlasmaShiv
- type: constructionGraph
id: UraniumShiv
start: start
graph:
- node: start
edges:
- to: icon
steps:
- material: Cloth
amount: 1
doAfter: 1
- tag: UraniumGlassShard
name: Uranium Glass Shard
icon:
sprite: Objects/Materials/Shards/shard.rsi
state: shard1
doAfter: 1
- node: icon
entity: UraniumShiv

View File

@@ -1,4 +1,4 @@
- type: constructionGraph
- type: constructionGraph
id: Spear
start: start
graph:
@@ -20,3 +20,72 @@
doAfter: 1
- node: spear
entity: Spear
- type: constructionGraph
id: SpearReinforced
start: start
graph:
- node: start
edges:
- to: spear
steps:
- material: MetalRod
amount: 2
doAfter: 2
- material: Cable
amount: 2
doAfter: 1
- tag: ReinforcedGlassShard
name: Reinforced Glass Shard
icon:
sprite: Objects/Materials/Shards/shard.rsi
state: shard1
doAfter: 1
- node: spear
entity: SpearReinforced
- type: constructionGraph
id: SpearPlasma
start: start
graph:
- node: start
edges:
- to: spear
steps:
- material: MetalRod
amount: 2
doAfter: 2
- material: Cable
amount: 2
doAfter: 1
- tag: PlasmaGlassShard
name: Plasma Glass Shard
icon:
sprite: Objects/Materials/Shards/shard.rsi
state: shard1
doAfter: 1
- node: spear
entity: SpearPlasma
- type: constructionGraph
id: SpearUranium
start: start
graph:
- node: start
edges:
- to: spear
steps:
- material: MetalRod
amount: 2
doAfter: 2
- material: Cable
amount: 2
doAfter: 1
- tag: UraniumGlassShard
name: Uranium Glass Shard
icon:
sprite: Objects/Materials/Shards/shard.rsi
state: shard1
doAfter: 1
- node: spear
entity: SpearUranium

View File

@@ -1,3 +1,47 @@
- type: construction
name: glass shiv
id: Shiv
graph: Shiv
startNode: start
targetNode: icon
category: construction-category-weapons
description: A glass shard with a piece of cloth wrapped around it.
icon: { sprite: Objects/Weapons/Melee/shiv.rsi, state: icon }
objectType: Item
- type: construction
name: reinforced shiv
id: ReinforcedShiv
graph: ReinforcedShiv
startNode: start
targetNode: icon
category: construction-category-weapons
description: A reinforced glass shard with a piece of cloth wrapped around it.
icon: { sprite: Objects/Weapons/Melee/reinforced_shiv.rsi, state: icon }
objectType: Item
- type: construction
name: plasma shiv
id: PlasmaShiv
graph: PlasmaShiv
startNode: start
targetNode: icon
category: construction-category-weapons
description: A plasma shard with a piece of cloth wrapped around it.
icon: { sprite: Objects/Weapons/Melee/plasma_shiv.rsi, state: icon }
objectType: Item
- type: construction
name: uranium shiv
id: UraniumShiv
graph: UraniumShiv
startNode: start
targetNode: icon
category: construction-category-weapons
description: A uranium shard with a piece of cloth wrapped around it.
icon: { sprite: Objects/Weapons/Melee/uranium_shiv.rsi, state: icon }
objectType: Item
- type: construction
name: crude spear
id: Spear
@@ -9,6 +53,39 @@
icon: { sprite: Objects/Weapons/Melee/spear.rsi, state: spear }
objectType: Item
- type: construction
name: crude reinforced spear
id: SpearReinforced
graph: SpearReinforced
startNode: start
targetNode: spear
category: construction-category-weapons
description: A crude reinforced spear for when you need to put holes in somebody.
icon: { sprite: Objects/Weapons/Melee/reinforced_spear.rsi, state: spear }
objectType: Item
- type: construction
name: crude plasma spear
id: SpearPlasma
graph: SpearPlasma
startNode: start
targetNode: spear
category: construction-category-weapons
description: A crude plasma spear for when you need to put holes in somebody.
icon: { sprite: Objects/Weapons/Melee/plasma_spear.rsi, state: spear }
objectType: Item
- type: construction
name: crude uranium spear
id: SpearUranium
graph: SpearUranium
startNode: start
targetNode: spear
category: construction-category-weapons
description: A crude uranium spear for when you need to put holes in somebody.
icon: { sprite: Objects/Weapons/Melee/plasma_spear.rsi, state: spear }
objectType: Item
- type: construction
name: makeshift bola
id: Bola

View File

@@ -549,6 +549,9 @@
- type: Tag
id: PlantSampleTaker
- type: Tag
id: PlasmaGlassShard
- type: Tag
id: Plastic
@@ -571,6 +574,9 @@
- type: Tag
id: Recyclable
- type: Tag
id: ReinforcedGlassShard
- type: Tag
id: RipleyCentralControlModule
@@ -694,6 +700,9 @@
- type: Tag
id: TrashBag
- type: Tag
id: UraniumGlassShard
- type: Tag
id: VehicleKey

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 B

After

Width:  |  Height:  |  Size: 146 B

View File

@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from pireamaineach at https://github.com/tgstation/tgstation/pull/43407/commits/b92e11e94466be5bcb465b781decf83764401ac1",
"copyright": "Taken/modified from pireamaineach at https://github.com/tgstation/tgstation/pull/43407/commits/b92e11e94466be5bcb465b781decf83764401ac1",
"size": {
"x": 32,
"y": 32
@@ -24,9 +24,9 @@
"name": "inhand-right",
"directions": 4
},
{
"name": "equipped-BELT",
"directions": 4
{
"name": "equipped-BELT",
"directions": 4
}
]
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 363 B

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 B

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 329 B

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from /tg/station at commit https://github.com/tgstation/tgstation/commit/6cdc0503d32e249125151e369edf951e93bccd1a",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "equipped-BELT",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

View File

@@ -0,0 +1,34 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken/modified from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "spear"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "wielded-inhand-left",
"directions": 4
},
{
"name": "wielded-inhand-right",
"directions": 4
},
{
"name": "equipped-BACKPACK",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from /tg/station at commit https://github.com/tgstation/tgstation/commit/6cdc0503d32e249125151e369edf951e93bccd1a",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "equipped-BELT",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

View File

@@ -0,0 +1,34 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken/modified from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "spear"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "wielded-inhand-left",
"directions": 4
},
{
"name": "wielded-inhand-right",
"directions": 4
},
{
"name": "equipped-BACKPACK",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from /tg/station at commit https://github.com/tgstation/tgstation/commit/6cdc0503d32e249125151e369edf951e93bccd1a",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "equipped-BELT",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from /tg/station at commit https://github.com/tgstation/tgstation/commit/6cdc0503d32e249125151e369edf951e93bccd1a",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "equipped-BELT",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

View File

@@ -0,0 +1,34 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken/modified from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "spear"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "wielded-inhand-left",
"directions": 4
},
{
"name": "wielded-inhand-right",
"directions": 4
},
{
"name": "equipped-BACKPACK",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B