Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
This commit is contained in:
Mith-randalf
2021-12-21 17:20:32 +00:00
committed by GitHub
parent 83ad282802
commit 916d9e1e23
32 changed files with 209 additions and 2 deletions

View File

@@ -29,7 +29,8 @@ namespace Content.Server.Damage.Systems
if (component.WeldingDamage is {} weldingDamage
&& EntityManager.TryGetComponent<WelderComponent?>(args.Used, out var welder)
&& welder.Lit)
&& welder.Lit
&& !welder.TankSafe)
{
var dmg = _damageableSystem.TryChangeDamage(args.Target, weldingDamage);

View File

@@ -60,5 +60,12 @@ namespace Content.Server.Tools.Components
/// </remarks>
[DataField("litMeleeDamageBonus")]
public DamageSpecifier LitMeleeDamageBonus = new();
/// <summary>
/// Whether the item is safe to refill while lit without exploding the tank.
/// </summary>
[DataField("tankSafe")]
public bool TankSafe = false; //I have no idea what I'm doing
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -9,4 +9,4 @@ welder-component-suicide-lit-others-message = {$victim} welds their every orific
welder-component-suicide-lit-message = You weld your every orifice closed!
welder-component-suicide-unlit-others-message = {$victim} bashes themselves with the unlit welding torch!
welder-component-suicide-unlit-message = You bash yourself with the unlit welding torch!
welder-component-after-interact-refueled-message = Welder refueled
welder-component-after-interact-refueled-message = Refueled!

View File

@@ -11,3 +11,5 @@
CigarCase: 1
Matchbox: 5
PackPaperRollingFilters: 3
CheapLighter: 4
Lighter: 1

View File

@@ -0,0 +1,95 @@
- type: entity
name: basic lighter
parent: BaseItem
id: Lighter
description: "A simple plastic cigarette lighter."
components:
- type: RandomSpriteState #this has to be before sprite component for the flame to toggle right because weldercomponent behaves weird (and i dont trust myself to fix it right)
spriteStates:
- basic_icon_base-1
- basic_icon_base-2
- basic_icon_base-3
- basic_icon_base-4
- basic_icon_base-5
- basic_icon_base-6
- basic_icon_base-7
- basic_icon_base-8
- basic_icon_base-9
- basic_icon_base-10
- basic_icon_base-11
- type: Sprite
sprite: Objects/Tools/lighters.rsi
layers:
- state: icon_map
- state: lighter_flame
shader: unshaded
visible: false
- state: basic_icon_top
- type: Item
size: 3
sprite: Objects/Tools/lighters.rsi
HeldPrefix: off
- type: ItemCooldown
- type: ItemStatus
- type: RefillableSolution
solution: Welder
- type: SolutionContainerManager
solutions:
Welder:
reagents:
- ReagentId: WeldingFuel
Quantity: 8
maxVol: 8 #uses less fuel than a welder, so this isnt as bad as it looks
- type: MeleeWeapon
damage:
types:
Blunt: 0 #this feels hacky, but is needed for burn damage while active (i think)
- type: Welder
fuelConsumption: 0.01
litMeleeDamageBonus:
types:
Heat: 1
tankSafe: true
welderOnSounds:
collection: lighterOnSounds
welderOffSounds:
collection: lighterOffSounds
- type: PointLight
enabled: false
radius: 1.1 #smallest possible
color: orange
- type: entity
name: cheap lighter
parent: Lighter
id: CheapLighter
description: "A dangerously inexpensive plastic lighter, don't burn your thumb!"
components:
- type: RandomSpriteColor
state: cheap_icon_base
colors:
blue: "#1861d5"
red: "#951710"
pink: "#d5188d"
brown: "#a05212"
green: "#0e7f1b"
cyan: "#18a2d5"
yellow: "#d58c18" #all colours proudly stolen from wirecutters
- type: Sprite
sprite: Objects/Tools/lighters.rsi
layers:
- state: icon_map
- state: lighter_flame
shader: unshaded
visible: false
- state: cheap_icon_top
- type: SolutionContainerManager
solutions:
Welder:
reagents:
- ReagentId: WeldingFuel
Quantity: 4
maxVol: 4 #uses less fuel than a welder, so this isnt as bad as it looks
#TODO: zippos

View File

@@ -0,0 +1,11 @@
- type: soundCollection
id: lighterOnSounds
files:
- /Audio/Items/lighter1.ogg
- /Audio/Items/lighter2.ogg
- /Audio/Items/lighter3.ogg
- type: soundCollection
id: lighterOffSounds
files:
- /Audio/Items/lighter_off.ogg

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,91 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/a28b24f149702527f3eb22f5c686f06c836f2f99; sprite has been edited",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon_map"
},
{
"name": "cheap_icon_base"
},
{
"name": "lighter_flame",
"delays": [
[
0.2,
0.1
]
]
},
{
"name": "basic_icon_base-1"
},
{
"name": "basic_icon_base-2"
},
{
"name": "basic_icon_base-3"
},
{
"name": "basic_icon_base-4"
},
{
"name": "basic_icon_base-5"
},
{
"name": "basic_icon_base-6"
},
{
"name": "basic_icon_base-7"
},
{
"name": "basic_icon_base-8"
},
{
"name": "basic_icon_base-9"
},
{
"name": "basic_icon_base-10"
},
{
"name": "basic_icon_base-11"
},
{
"name": "basic_icon_top"
},
{
"name": "cheap_icon_top"
},
{
"name": "zippo_icon_base"
},
{
"name": "zippo_open"
},
{
"name": "zippo_top"
},
{
"name": "off-inhand-left",
"directions": 4
},
{
"name": "off-inhand-right",
"directions": 4
},
{
"name": "on-inhand-left",
"directions": 4
},
{
"name": "on-inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB