Space Engineers

Space Engineers

Otillräckligt med betyg
Acid Fog Extended
   
Utmärkelse
Favorit
Favoritmarkerad
Avfavoritmarkerad
Type: Mod
Mod category: Other
Filstorlek
Lades upp
Uppdaterades
29.136 MB
14 aug @ 20:32
6 okt @ 13:44
18 ändringsnotiser ( visa )

Abonnera för att ladda ner
Acid Fog Extended

Beskrivning
Acid Fog Extended
By: TheFool76

Description
This Extended version adds an EMU (ElectroMagnetic Unit) Shield that can be used to protect grids from damage in a radius.
The closest active shield to a grid will absorb the damage in it's place reducing the internal charge.
You can bring up an app on your LCD to show info on the shield that's currently protecting your grid.
An event has been added to the Event Controller that lets you trigger stuff when the % of charge passes a set value.
If the charge on the closest shield runs out (or it's otherwise disabled) the next closest in range will immediately take over.
Shields will only recharge after a set cooldown period (see settings below) where they do not absorb any damage and are not in the fog.
Because shields directly absorb the damage, the more blocks in range and the worse the fog damage settings, the faster the charge depletes.
The shield doesn't care about ownership and will protect ANY grid within it's range.
While this does mean you can leach charge from others as a form of griefing, it also means you don't have to worry about taking over an NPC grid you "aquired" before it's protected.

For a description of the base fog mechanics see here.

Admin Commands
/AF.Help - To see the full list of commands available.

All of the commands require Admin permissions to use.

NOTE
The current models are placeholders. New models will be coming Soon.

Configuration

This mod can be configured per save game:

Create and save game with this mod added.
Open Storage directory of your save, i.e.:
%appdata%\SpaceEngineers\Saves\<Your SteamID>\<Save Game name>\Storage\3453491900.sbm_AcidFog
acid_fog_config.xml file should be inside.
Open it with your text editor of choice. (I like Notepad++)

It will look something like this:
<?xml version="1.0" encoding="utf-16"?> <AcidConfig xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ConfigVersion>2.0</ConfigVersion> <Planets> <AcidPlanet> <PlanetNameContains>Alien</PlanetNameContains> <FogName>Acid Fog</FogName> <AverageSecondsToStartCorroding>10</AverageSecondsToStartCorroding> <FogDepth>1500</FogDepth> <FogColor>#80ff00</FogColor> <FogDensity>0.8</FogDensity> <GlowAmount>0.4</GlowAmount> <OnlyCorrodeUnpoweredGrids>false</OnlyCorrodeUnpoweredGrids> <FogIsBreathable>false</FogIsBreathable> <FogGridDamage>20</FogGridDamage> <FogPlayerDamage>1</FogPlayerDamage> <FogInverted>false</FogInverted> <FogDamageSkin>Mossy_Armor</FogDamageSkin> </AcidPlanet> </Planets> <BlockSubtypeContainsBlackList> <string>Ceramic</string> <string>Stainless</string> </BlockSubtypeContainsBlackList> <MaxShieldCharge_LG>10000</MaxShieldCharge_LG> <MaxShieldCharge_SG>5000</MaxShieldCharge_SG> <ShieldCooldownTime>10</ShieldCooldownTime> <ShieldRechargeAmount>1000</ShieldRechargeAmount> <MaxShieldRange>1000</MaxShieldRange> <SoundVolume>0.5</SoundVolume> <MES_ProtectionTimer>600</MES_ProtectionTimer> <MES_ProtectionRange>1000</MES_ProtectionRange> </AcidConfig>

PlanetNameContains
The following fog values will be applied to any planet that contains this string in its name.
If multiple match, only the last one in the list will be applied.

FogName
This is the name shown to the player when entering and leaving the fog.

AverageSecondsToStartCorroding
Approximately how long until a given block will take damage. For performance reasons, setting this below 5 is strongly discouraged.
Lower values probably won't crash your game but they will result in slowing the corrosion speed if there are a lot of blocks to update.
In testing, the only time I managed to crash SE was when I set this to 0 and pasted in a large grid within the fog.

FogDepth
The distance in meters from the average surface height of the planet that the fog should start. Positive values are towards the planet
center while negative ones are away from it.

FogColor
The color of the fog in HTML format. #rrggbb

FogDensity
How opaque the fog should be when inside it. The lower the value the further you can see in the fog. Should be between 0 and 1.0

GlowAmount
How much the fog is affected by darkness. It goes from 0 (No glow at night) to 1 (Fully lit at night)

OnlyCorrodeUnpoweredGrids
Only unpowered (abandoned) grids will be damaged if set to true.

FogIsBreathable
If this is false, there will be no O2 inside the fog. (Keep that helmet closed)

FogGridDamage
This is the amount of damage applied to blocks that are in the fog when they get corroded.
Setting this to 0 will disable all damage to grids from the fog.

FogPlayerDamage
Will cause this amount of damage to the players for every second they are in the fog. Being in an airtight space or seated in an airtight cockpit will protect you.
Setting this to 0 will disable damaging the player.

FogInverted
Setting this to true will cause the fog to exist above the FogDepth value instead of below it.

FogDamageSkin
Set this to the name of a skin you want to apply to blocks damaged by the fog or NONE.

BlockSubtypeContainsBlackList
Blocks that subtype name contains any of the string from this list, will not be affected by the fog. Keep in mind this checks block subtype name, NOT texture name. Any vanilla or modded block names can be added to the list.

MaxShieldCharge_LG
Determines the maximum charge capacity of the large grid EMU Shield.

MaxShieldCharge_SG
Determines the maximum charge capacity of the small grid EMU Shield.

ShieldCooldownTime
The time in seconds it takes a shield to cool down and start recharging after absorbing damage or exiting the fog.

ShieldRechargeAmount
How much charge to restore per second when recharging.

MaxShieldRange
The maximum distance in m that the shield will protect.

MES_ProtectionTimer
How long in seconds the grid should be protected. Set to -1 for forever.

MES_ProtectionRange
If a player gets within this distance, protection is dropped.

SoundVolume
Adjusts the volume of the sound effect. 1.0 is full volume.


Acknowledgements

The corrosion mechanics are heavily based on code from the Rust Mechanics Mod.
The fog rendering was inspired by the water surface rendering code from the Water Mod.
4 kommentarer
RaSvet 18 timmar sedan 
It would be logical to add accumulations of radioactive Fog to the Uranium deposits.
The need to use specialized blocks to protect against fog. For example, to those stated in acid_fog_config.xml such as Ceramic and Stainless, add, for example, concrete or something similar.
Damage to blocks that are deep underground but not in full contact with the voxels. This is obviously stupid, but Keen doesn't want to make voxels leak-proof. They probably have good reasons for this.
RaSvet 18 timmar sedan 
The concept of "Fog" can be divided into three main areas:
1. Fog on planets like Alien. Survival is possible only in the mountains. All territories that are below a certain level are flooded with fog and visiting them requires prepared sorties. The fog contains acid, toxic fumes, high temperature, radiation, and more.
2. Fog on planets with Atmospheres like Earthlike or Pertam, or even Mars. Fog is like a weather phenomenon, such as an electric storm, sandstorm, or something similar. The lack of constant impact on the Player or the blocks must somehow be compensated by the impact of the elements. It is likely that at such moments the atmosphere is filled with toxic fumes that cannot be breathed, but Ventilation units must filter out oxygen. In rare cases, use radiation damage.
3. Fog on planets without an Atmosphere or Moon. The fog is not on the surface, but below ground level. Accordingly, any activity in the bowels of the planet may resemble Alien conditions.
TheFool76  [skapare] 21 timmar sedan 
I'll note that it's very much in development so if you have any actual suggestions, make them.
RaSvet 23 timmar sedan 
The idea is very interesting, but the implementation of this requires rethinking. I think it has a lot of potential.