Eye damage (#10262)

This commit is contained in:
Rane
2022-08-14 01:59:14 -04:00
committed by GitHub
parent ef924faae7
commit 572a4f7fb3
39 changed files with 653 additions and 20 deletions

View File

@@ -2,6 +2,8 @@
examine-system-entity-does-not-exist = That entity doesn't exist
examine-system-cant-see-entity = You can't make out whatever that is.
examine-verb-name = Basic
examinable-anchored = It is anchored to the floor

View File

@@ -85,5 +85,8 @@ reagent-desc-omnizine = A soothing milky liquid with an iridescent gleam. A well
reagent-name-ultravasculine = ultravasculine
reagent-desc-ultravasculine = Rapidly flushes toxins from the body, but places some stress on the veins. Do not overdose.
reagent-name-oculine = oculine
reagent-desc-oculine = Heals eye damage.
reagent-name-ethylredoxrazine = ethylredoxrazine
reagent-desc-ethylredoxrazine = Neutralises the effects of alcohol in the blood stream. Though it is commonly needed, it is rarely requested.

View File

@@ -5,6 +5,7 @@
spriteName: engivend
startingInventory:
ClothingEyesGlassesMeson: 4
ClothingHeadHatWelding: 4
Multitool: 4
PowerCellMedium: 5
ClothingHandsGlovesColorYellow: 6

View File

@@ -65,17 +65,14 @@
- type: entity
parent: ClothingEyesBase
id: ClothingEyesGlassesMeson
name: optical meson scanners
description: The pinnacle of modern science, wallhacks in real life
name: engineering goggles #less confusion
description: Green-tinted goggles using a proprietary polymer that provides protection from eye damage of all types.
components:
- type: Sprite
sprite: Clothing/Eyes/Glasses/meson.rsi
- type: Clothing
sprite: Clothing/Eyes/Glasses/meson.rsi
- type: Armor
modifiers:
coefficients:
Radiation: 0.5
- type: EyeProtection
- type: entity
parent: ClothingEyesBase
@@ -87,6 +84,7 @@
sprite: Clothing/Eyes/Glasses/glasses.rsi
- type: Clothing
sprite: Clothing/Eyes/Glasses/glasses.rsi
- type: VisionCorrection
- type: entity
parent: ClothingEyesBase
@@ -99,6 +97,8 @@
- type: Clothing
sprite: Clothing/Eyes/Glasses/sunglasses.rsi
- type: FlashImmunity
- type: EyeProtection
protectionTime: 5
- type: entity
parent: ClothingEyesBase
@@ -111,6 +111,8 @@
- type: Clothing
sprite: Clothing/Eyes/Glasses/secglasses.rsi
- type: FlashImmunity
- type: EyeProtection
protectionTime: 5
#Make a scanner category when these actually function and we get the trayson
- type: entity

View File

@@ -8,6 +8,8 @@
sprite: Clothing/Eyes/Misc/eyepatch.rsi
- type: Clothing
sprite: Clothing/Eyes/Misc/eyepatch.rsi
- type: EyeProtection
protectionTime: 5
- type: entity
parent: ClothingEyesBase

View File

@@ -7,6 +7,7 @@
- type: IngestionBlocker
- type: FlashImmunity
- type: IdentityBlocker
- type: EyeProtection
- type: entity
parent: WeldingMaskBase

View File

@@ -36,6 +36,8 @@
- type: Clothing
sprite: Clothing/Mask/gassyndicate.rsi
- type: FlashImmunity
- type: EyeProtection
protectionTime: 5
- type: entity
parent: ClothingMaskGas

View File

@@ -112,6 +112,7 @@
- Stutter
- Electrocution
- ForcedSleep
- TemporaryBlindness
- type: Body
template: AnimalTemplate
preset: AnimalPreset
@@ -179,6 +180,7 @@
- Stutter
- Electrocution
- ForcedSleep
- TemporaryBlindness
- type: ThermalRegulator
metabolismHeat: 800
radiatedHeat: 100

View File

@@ -80,6 +80,7 @@
- PressureImmunity
- Muted
- ForcedSleep
- TemporaryBlindness
- type: DiseaseCarrier
- type: Blindable
# Other

View File

@@ -108,6 +108,17 @@
- state: carrot
- type: SliceableFood
slice: FoodCakeCarrotSlice
- type: SolutionContainerManager
solutions:
food:
maxVol: 30
reagents:
- ReagentId: JuiceCarrot
Quantity: 15
- ReagentId: Sugar
Quantity: 5
- ReagentId: Vitamin
Quantity: 5
- type: entity
name: slice of carrot cake
@@ -120,6 +131,18 @@
- state: plate-small
- state: plate-slice-shading
- state: carrot-slice
- type: SolutionContainerManager
solutions:
food:
maxVol: 6
reagents:
- ReagentId: JuiceCarrot
Quantity: 3
- ReagentId: Sugar
Quantity: 1
- ReagentId: Vitamin
Quantity: 1
# Tastes like sweetness, cake, carrot.
- type: entity

View File

@@ -265,5 +265,7 @@
reagents:
- ReagentId: Nutriment
Quantity: 2
- ReagentId: JuiceCarrot
Quantity: 1
- type: Sprite
state: dink

View File

@@ -74,7 +74,8 @@
- type: Sprite
layers:
- state: margherita-slice
# Tastes like crust, tomato, cheese.
- type: SliceableFood
slice: FoodPizzaMeatSlice
- type: entity
name: meat pizza
@@ -133,6 +134,17 @@
- state: vegetable
- type: SliceableFood
slice: FoodPizzaVegetableSlice
- type: SolutionContainerManager
solutions:
food:
maxVol: 40
reagents:
- ReagentId: Nutriment
Quantity: 25
- ReagentId: JuiceCarrot
Quantity: 5
- ReagentId: Vitamin
Quantity: 5
- type: entity
name: slice of vegetable pizza
@@ -143,6 +155,18 @@
- type: Sprite
layers:
- state: vegetable-slice
- type: SolutionContainerManager
solutions:
food:
maxVol: 40
reagents:
- ReagentId: Nutriment
Quantity: 4
- ReagentId: JuiceCarrot
Quantity: 1
- ReagentId: Vitamin
Quantity: 1
# Tastes like crust, tomato, cheese, carrot.
- type: entity

View File

@@ -61,6 +61,14 @@
components:
- type: Sprite
state: fries-carrot
netsync: false
- type: SolutionContainerManager
solutions:
food:
maxVol: 26
reagents:
- ReagentId: JuiceCarrot
Quantity: 20
# Tastes like carrots, salt.
- type: entity

View File

@@ -228,7 +228,7 @@
food:
maxVol: 9
reagents:
- ReagentId: Nutriment
- ReagentId: JuiceCarrot
Quantity: 5
- ReagentId: Vitamin
Quantity: 4

View File

@@ -50,6 +50,7 @@
radius: 1.5
color: orange
- type: Appearance
- type: RequiresEyeProtection
- type: entity
name: industrial welding tool

View File

@@ -86,7 +86,7 @@
growthStages: 3
waterConsumption: 6
chemicals:
Nutriment:
JuiceCarrot:
Min: 1
Max: 5
PotencyDivisor: 20

View File

@@ -57,6 +57,17 @@
desc: reagent-desc-juice-carrot
physicalDesc: reagent-physical-desc-crisp
color: "#FF8820"
metabolisms:
Drink:
effects:
- !type:SatiateThirst
factor: 2
- !type:AdjustReagent
reagent: Oculine
amount: 0.15
- !type:AdjustReagent
reagent: Nutriment
amount: 0.5
- type: reagent
id: JuiceGrape

View File

@@ -658,3 +658,14 @@
reagent: Ultravasculine
amount: 0.5
- type: reagent
id: Oculine
name: reagent-name-oculine
desc: reagent-desc-oculine
group: Medicine
physicalDesc: reagent-physical-desc-translucent
color: "#404040"
metabolisms:
Medicine:
effects:
- !type:ChemHealEyeDamage

View File

@@ -323,6 +323,20 @@
products:
Ultravasculine: 2
- type: reaction
id: Oculine
reactants:
TableSalt:
amount: 1
Blood:
amount: 1
Carbon:
amount: 1
Hydrogen:
amount: 1
products:
Oculine: 4
- type: reaction
id: Siderlac
reactants:

View File

@@ -55,3 +55,13 @@
pixelSize: 32, 32
alphaCutoff: 0
removeTransparency: false
- type: shader
id: BlurryVisionX
kind: source
path: "/Textures/Shaders/blurryx.swsl"
- type: shader
id: BlurryVisionY
kind: source
path: "/Textures/Shaders/blurryy.swsl"

View File

@@ -48,3 +48,5 @@
- type: statusEffect
id: ForcedSleep #I.e., they will not wake on damage or similar
- type: statusEffect
id: TemporaryBlindness

View File

@@ -0,0 +1,16 @@
uniform sampler2D SCREEN_TEXTURE;
uniform highp float BLUR_AMOUNT;
void fragment() {
highp vec3 col = texture(SCREEN_TEXTURE, UV).xyz * BLUR_AMOUNT;
highp vec4 color = zTexture(UV);
col += texture(SCREEN_TEXTURE, UV + vec2(SCREEN_PIXEL_SIZE.x, 0.0)).xyz * 0.15;
col += texture(SCREEN_TEXTURE, UV + vec2(-SCREEN_PIXEL_SIZE.x, 0.0)).xyz * 0.15;
col += texture(SCREEN_TEXTURE, UV + vec2(2.0 * SCREEN_PIXEL_SIZE.x, 0.0)).xyz * 0.12;
col += texture(SCREEN_TEXTURE, UV + vec2(2.0 * -SCREEN_PIXEL_SIZE.x, 0.0)).xyz * 0.12;
col += texture(SCREEN_TEXTURE, UV + vec2(3.0 * SCREEN_PIXEL_SIZE.x, 0.0)).xyz * 0.09;
col += texture(SCREEN_TEXTURE, UV + vec2(3.0 * -SCREEN_PIXEL_SIZE.x, 0.0)).xyz * 0.09;
col += texture(SCREEN_TEXTURE, UV + vec2(4.0 * SCREEN_PIXEL_SIZE.x, 0.0)).xyz * 0.05;
col += texture(SCREEN_TEXTURE, UV + vec2(4.0 * -SCREEN_PIXEL_SIZE.x, 0.0)).xyz * 0.05;
COLOR = vec4(vec3(col), color.a);
}

View File

@@ -0,0 +1,16 @@
uniform sampler2D SCREEN_TEXTURE;
uniform highp float BLUR_AMOUNT;
void fragment() {
highp vec3 col = texture(SCREEN_TEXTURE, UV).xyz * BLUR_AMOUNT;
highp vec4 color = zTexture(UV);
col += texture(SCREEN_TEXTURE, UV + vec2(0.0, SCREEN_PIXEL_SIZE.y)).xyz * 0.15;
col += texture(SCREEN_TEXTURE, UV + vec2(0.0, -SCREEN_PIXEL_SIZE.y)).xyz * 0.15;
col += texture(SCREEN_TEXTURE, UV + vec2(0.0, 2.0 * SCREEN_PIXEL_SIZE.y)).xyz * 0.12;
col += texture(SCREEN_TEXTURE, UV + vec2(0.0, 2.0 * -SCREEN_PIXEL_SIZE.y)).xyz * 0.12;
col += texture(SCREEN_TEXTURE, UV + vec2(0.0, 3.0 * SCREEN_PIXEL_SIZE.y)).xyz * 0.09;
col += texture(SCREEN_TEXTURE, UV + vec2(0.0, 3.0 * -SCREEN_PIXEL_SIZE.y)).xyz * 0.09;
col += texture(SCREEN_TEXTURE, UV + vec2(0.0, 4.0 * SCREEN_PIXEL_SIZE.y)).xyz * 0.05;
col += texture(SCREEN_TEXTURE, UV + vec2(0.0, 4.0 * -SCREEN_PIXEL_SIZE.y)).xyz * 0.05;
COLOR = vec4(vec3(col), color.a);
}