Compare commits

...

16 Commits

Author SHA1 Message Date
693700a6c8 Add some more game files 2025-03-29 17:53:18 +01:00
5f0b344148 Update 2025-03-29 17:53:08 +01:00
dc3069d328 Add lint script 2025-03-29 17:30:07 +01:00
74f4296d6b Maxwires 2025-03-29 17:30:06 +01:00
f5ee905a82 More PROPULSION!? 2025-03-29 16:43:34 +01:00
55fdc01a92 More longer fire extinguisher 2025-03-29 16:43:33 +01:00
7417f1ea0b Fire EXTINGUISHER 2025-03-29 16:43:33 +01:00
bab742d21b Leave fabricator storage as is 2025-03-29 16:43:32 +01:00
21d4d5c44c FASTER machinery 2025-03-29 01:48:34 +01:00
f98893c6f8 Fix stack sizes at 60 2025-03-29 01:48:34 +01:00
92d6de79c5 Yet more xp.....
So many talents.....
2025-03-29 01:48:34 +01:00
d7a56a2b92 More quality!? 2025-03-29 01:48:33 +01:00
c8842e0fa1 Hopefully do a better job with the wrenches and flashlights 2025-03-28 23:40:06 +01:00
f478b998c1 Clean up globs a little 2025-03-28 22:51:52 +01:00
dd634d1b17 Try to stop wrenches in flashlights 2025-03-28 22:47:14 +01:00
846d9708ec Fabricators maybe a bit bigger 2025-03-28 22:47:14 +01:00
36 changed files with 2595 additions and 129 deletions

Submodule Daedalic Entertainment GmbH updated: adf1e93f05...83b87d947e

2
Data/bannedplayers.xml Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<bannedplayers />

86
Data/campaignsettings.xml Normal file
View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<CampaignSettingPresets>
<CampaignSettingDefinitions>
<StartingBalanceAmount high="10000" medium="8500" low="6000" />
<ExtraEventManagerDifficulty low="-15.0" medium="0.0" high="20.0" hellish="60.0" />
<LevelDifficultyMultiplier low="0.6" medium="1.0" high="1.6" hellish="10.0" />
<PatdownProbabilityMin off="0" low="0.2" medium="0.3" high="0.4" />
<PatdownProbabilityMax off="0" low="0.9" medium="0.9" high="1.0" />
</CampaignSettingDefinitions>
<CampaignSettings
presetname="Easy"
TutorialEnabled="true"
RadiationEnabled="false"
StartingBalanceAmount="high"
StartItemSet="easy"
MaxMissionCount="2"
WorldHostility="low"
CrewVitalityMultiplier="1.1"
NonCrewVitalityMultiplier="1.0"
OxygenMultiplier="1.2"
FuelMultiplier="1.2"
MissionRewardMultiplier="1.0"
ExperienceRewardMultiplier="1.0"
ShopPriceMultiplier="0.9"
ShipyardPriceMultiplier="0.9"
RepairFailMultiplier="1.0"
PatdownProbability="low"
ShowHuskWarning="true"/>
<CampaignSettings
presetname="Normal"
TutorialEnabled="true"
RadiationEnabled="false"
StartingBalanceAmount="medium"
StartItemSet="normal"
MaxMissionCount="2"
WorldHostility="medium"
CrewVitalityMultiplier="1.0"
NonCrewVitalityMultiplier="1.0"
OxygenMultiplier="1.0"
FuelMultiplier="1.0"
MissionRewardMultiplier="1.0"
ExperienceRewardMultiplier="1.0"
ShopPriceMultiplier="1.0"
ShipyardPriceMultiplier="1.0"
RepairFailMultiplier="1.0"
PatdownProbability="medium"
ShowHuskWarning="true"/>
<CampaignSettings
presetname="Hard"
TutorialEnabled="false"
RadiationEnabled="false"
StartingBalanceAmount="low"
StartItemSet="hard"
MaxMissionCount="2"
WorldHostility="high"
CrewVitalityMultiplier="1.0"
NonCrewVitalityMultiplier="1.0"
OxygenMultiplier="0.7"
FuelMultiplier="0.9"
MissionRewardMultiplier="1.0"
ExperienceRewardMultiplier="1.0"
ShopPriceMultiplier="1.5"
ShipyardPriceMultiplier="1.5"
RepairFailMultiplier="2.0"
PatdownProbability="high"
ShowHuskWarning="false"/>
<CampaignSettings
presetname="Abyssal"
TutorialEnabled="false"
RadiationEnabled="false"
StartingBalanceAmount="low"
StartItemSet="hard"
MaxMissionCount="2"
WorldHostility="high"
CrewVitalityMultiplier="0.9"
NonCrewVitalityMultiplier="1.1"
OxygenMultiplier="0.4"
FuelMultiplier="0.8"
MissionRewardMultiplier="0.8"
ExperienceRewardMultiplier="0.8"
ShopPriceMultiplier="2.0"
ShipyardPriceMultiplier="2.0"
RepairFailMultiplier="5.0"
PatdownProbability="high"
ShowHuskWarning="false"/>
</CampaignSettingPresets>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8" ?>
<ClientPermissions>
</ClientPermissions>

427
Data/forbiddenwordlist.txt Normal file
View File

@@ -0,0 +1,427 @@
4r5e
5h1t
5hit
Dumbcunt
a$$
a$$hole
a2m
a54
a55
a55hole
a_s_s
adolf
ahole
anal
anus
anuses
arrse
arse
ass
asses
asshat
asshole
assshole
b!tch
b17ch
b1tch
ballsack
beatch
bitch
bitchass
bitched
bitcher
bitchers
bitches
bitches
bitching
bitchy
blowjob
blowjobs
bulldyke
bullshit
bullshits
bullshitted
bullturds
bung
bunghole
buttfucker
butthole
buttmuch
buttmunch
c-0-c-k
c.0.c.k
c.o.c.k.
c.u.n.t
c0ck
carpetmuncher
chinc
chincs
chink
chinky
clitoris
cock
cock sucker
cock-sucker
cocks
cocksucker
cocksuckers
cocksucking
cocksucks
coochie
coochy
coon
coonnass
coons
cracker
crackwhore
crap
cumbubble
cumdump
cumdump
cumdumpster
cumguzzler
cumjockey
cummer
cummin
cumming
cums
cumshot
cumshots
cumslut
cumstain
cumtart
cunilingus
cunillingus
cunnie
cunnilingus
cunny
cunt
cuntass
cuntbag
cuntbag
cuntface
cunthole
cunthunter
cuntlick
cuntlick
cuntlicker
cuntlicker
cuntlicking
cuntlicking
cuntrag
cunts
cunts
cuntsicle
cuntsicle
cuntslut
d0uch3
d0uche
d1ck
d1ld0
d1ldo
deepthroat
dick
dick-ish
dick-sneeze
dickbag
dickbeaters
dickdipper
dickface
dickflipper
dickfuck
dickfucker
dickhead
dickheads
dickhole
dickish
dickjuice
dickmilk
dickmonger
dickripper
dicks
dicks
dicksipper
dickslap
dicksucker
dicksucking
dicktickler
dickwad
dickweasel
dickweed
dickwhipper
dickwod
dickzipper
diddle
dike
dildo
dildos
douche
douchebag
dumbass
dumbasses
dumbfuck
dumbshit
dyke
dykes
ejaculate
ejaculated
ejaculates
ejaculates
ejaculating
ejaculating
ejaculatings
ejaculation
ejakulate
erect
f u c k
f u c k e r
f.u.c.k
f4nny
f_u_c_k
fag
fagbag
fagfucker
fagg
fagged
fagging
faggit
faggitt
faggot
faggot*
faggotcock
faggots
faggots
faggs
fagot
fagots
fags
fagtard
fatass
fcuk
fcuker
fcuking
feck
fecker
fistfuck
fistfucked
fistfucked
fistfucker
fistfucker
fistfuckers
fistfuckers
fistfucking
fistfucking
fistfuckings
fistfuckings
fistfucks
fistfucks
fuck
fuck-ass
fuck ass
fuck-bitch
fuck bitch
fucktard
fuck tard
fucka
fuckass
fuckbag
fuckboy
fuckbrain
fuckbutt
fuckbutter
fucked
fuckedup
fucker
fuckers
fuckersucker
fuckface
fuckhead
fuckheads
fuckhole
fuckin
fucking
fuckings
fuckingshitmotherfucker
fuckme
fuckme
fuckmeat
fucknugget
fucknut
fucknutt
fuckoff
fucks
fuckstick
fucktard
fucktards
fucktart
fucktoy
fucktoy
fucktwat
fuckup
fuckwad
fuckwhit
fuckwit
fuckwitt
gay
gayass
gaybob
gaydo
gayfuck
gayfuckist
gaylord
gays
god-dam
god-damned
godamn
godamnit
goddam
goddammit
goddamn
goddamned
goddamnit
godsdamn
hitler
homo
homodumbshit
homoerotic
homoey
homos
honkey
honky
jack-off
jackass
jackass
jackasses
jackasses
jackhole
jackhole
jackoff
jackoff
jaggi
jagoff
jailbait
jailbait
jap
japs
jerk
jerk-off
jerkoff
jerk off
jerk0ff
jerkass
jerked
jerkoff
jew
jews
jism
jiz
jiz
jizm
jizm
jizz
jizzed
kike
kikes
knob
kum
kummer
kumming
kums
lesbian
lesbians
lesbo
lesbos
lez
lezzie
master-bate
master-bate
masterbat*
masterbat3
masterbate
masterbating
masterbation
masterbations
masturbate
masturbating
masturbation
mothafuck
mothafucka
mothafuckas
mothafuckaz
mothafucked
mothafucked
mothafucker
mothafuckers
mothafuckin
mothafucking
mothafuckings
mothafucks
motherfuck
motherfucka
motherfucked
motherfucker
motherfucker
motherfuckers
motherfuckin
motherfucking
motherfuckings
motherfuckka
motherfucks
mudslime*
mudslimes*
nazi
nazis
nig
nig-nog
nigg3r
nigg4h
nigga
nigga
niggah
niggas
niggas
niggaz
nigger
nigger
niggers
niggle
niglet
negroid
negroids
penis
pigfucker
piss
piss-off
pissed
pisser
pissers
pisses
pisses
pissflaps
pissin
pissin
pissing
pissoff
pissoff
pussies
pussy
queaf
queaf
queef
queer
queers
rape
raped
raper
rapey
raping
rapist
slut
sluts
twat
twats
vagina
vaginas
white power
whore
whores

90
Data/karmasettings.xml Normal file
View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<KarmaManager>
<Preset
name="Default"
karmadecay="0.08"
karmadecaythreshold="50"
karmaincrease="0.05"
karmaincreasethreshold="50"
structurerepairkarmaincrease="0.005"
structuredamagekarmadecrease="0.025"
itemrepairkarmaincrease="0.03"
reactoroverheatkarmadecrease="0.5"
reactormeltdownkarmadecrease="30"
damageenemykarmaincrease="0.1"
damagefriendlykarmadecrease="0.15"
extinguishfirekarmaincrease="1"
allowedwiredisconnectionsperminute="5"
wiredisconnectionkarmadecrease="6.0"
steersubkarmaincrease="0.15"
spamfilterkarmadecrease="15"
herpesthreshold="40"
kickbanthreshold="0"
kicksbeforeban="3"
karmanotificationinterval="15"
resetkarmabetweenrounds="true"
dangerousitemstealkarmadecrease="15"
dangerousitemstealbots="false"
ballastflorakarmaincrease="0.05"
dangerousitemcontainkarmadecrease="5.0"
isdangerousitemcontainkarmadecreaseincremental="true"
maxdangerousitemcontainkarmadecrease="30" />
<Preset
name="Strict"
karmadecay="0.08"
karmadecaythreshold="50"
karmaincrease="0.04"
karmaincreasethreshold="45"
structurerepairkarmaincrease="0.005"
structuredamagekarmadecrease="0.1"
itemrepairkarmaincrease="0.03"
reactoroverheatkarmadecrease="1.0"
reactormeltdownkarmadecrease="35"
damageenemykarmaincrease="0.1"
damagefriendlykarmadecrease="0.3"
extinguishfirekarmaincrease="1"
allowedwiredisconnectionsperminute="3"
wiredisconnectionkarmadecrease="10.0"
steersubkarmaincrease="0.15"
spamfilterkarmadecrease="25"
herpesthreshold="40"
kickbanthreshold="1"
kicksbeforeban="1"
karmanotificationinterval="15"
resetkarmabetweenrounds="true"
dangerousitemstealkarmadecrease="15"
dangerousitemstealbots="true"
ballastflorakarmaincrease="0.03"
dangerousitemcontainkarmadecrease="5.0"
isdangerousitemcontainkarmadecreaseincremental="true"
maxdangerousitemcontainkarmadecrease="30" />
<Preset
name="Custom"
karmadecay="0.08"
karmadecaythreshold="50"
karmaincrease="0.05"
karmaincreasethreshold="50"
structurerepairkarmaincrease="0.01"
structuredamagekarmadecrease="0.05"
itemrepairkarmaincrease="0.03"
reactoroverheatkarmadecrease="0.5"
reactormeltdownkarmadecrease="30"
damageenemykarmaincrease="0.1"
damagefriendlykarmadecrease="0.15"
extinguishfirekarmaincrease="1"
allowedwiredisconnectionsperminute="5"
wiredisconnectionkarmadecrease="6.0"
steersubkarmaincrease="0.15"
spamfilterkarmadecrease="15"
herpesthreshold="40"
kickbanthreshold="1"
kicksbeforeban="3"
karmanotificationinterval="15"
resetkarmabetweenrounds="true"
dangerousitemstealkarmadecrease="15"
dangerousitemstealbots="false"
ballastflorakarmaincrease="0.05"
dangerousitemcontainkarmadecrease="5.0"
isdangerousitemcontainkarmadecreaseincremental="true"
maxdangerousitemcontainkarmadecrease="30" />
</KarmaManager>

22
Data/languageoptions.xml Normal file
View File

@@ -0,0 +1,22 @@
<options>
<option label="Português brasileiro" identifier="Brazilian Portuguese" />
<option label="中文" identifier="Chinese" mapsFrom="Simplified Chinese, Traditional Chinese" />
<option label="Čeština" identifier="Czech" />
<option label="Dansk" identifier="Danish" />
<option label="Nederlands" identifier="Dutch" />
<option label="English" identifier="English" />
<option label="Suomi" identifier="Finnish" />
<option label="Français" identifier="French" />
<option label="Deutsch" identifier="German" />
<option label="Italiano" identifier="Italian" />
<option label="日本語" identifier="Japanese" />
<option label="한국어" identifier="Korean" />
<option label="Norska" identifier="Norwegian" />
<option label="Polski" identifier="Polish" />
<option label="Português europeu" identifier="European Portuguese" />
<option label="Русский" identifier="Russian" />
<option label="Español" identifier="Spanish" mapsFrom="Castilian Spanish, Latinamerican Spanish" />
<option label="Svenska" identifier="Swedish" />
<option label="Türkçe" identifier="Turkish" />
<option label="Украї́нська" identifier="Ukrainian" />
</options>

101
Data/permissionpresets.xml Normal file
View File

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8" ?>
<PermissionPresets>
<Preset
name="None"
description="No special privileges."
permissions="None"/>
<Preset
name="Moderator"
description="Allowed to manage round settings, kick players and access server logs."
permissions="ManageRound,Kick,SelectSub,SelectMode,ManageCampaign,ConsoleCommands,ServerLog,ManageSettings,ManageMoney,ManageBotTalents,SpamImmunity">
<Command name="clientlist"/>
<Command name="readycheck"/>
<Command name="autorestart"/>
<Command name="autorestartinterval"/>
<Command name="autorestarttimer"/>
<Command name="botcount"/>
<Command name="botspawnmode"/>
<Command name="gamemode"/>
<Command name="sub"/>
<Command name="shuttle"/>
<Command name="water"/>
<Command name="fire"/>
<Command name="difficulty"/>
<Command name="kick"/>
<Command name="kickid"/>
<Command name="campaigninfo"/>
<Command name="campaigndestination"/>
<Command name="togglekarma"/>
<Command name="setkarma"/>
<Command name="resetkarma"/>
<Command name="showkarma"/>
<Command name="togglekarmatestmode"/>
<Command name="respawnnow"/>
<Command name="traitorlist"/>
<Command name="setsalary"/>
</Preset>
<Preset
name="Admin"
description="Allowed to ban and kick players, manage round settings, access server logs and use nearly all console commands."
permissions="All">
<Command name="clientlist"/>
<Command name="readycheck"/>
<Command name="autorestart"/>
<Command name="autorestartinterval"/>
<Command name="autorestarttimer"/>
<Command name="botcount"/>
<Command name="botspawnmode"/>
<Command name="difficulty"/>
<Command name="kick"/>
<Command name="kickid"/>
<Command name="campaigninfo"/>
<Command name="campaigndestination"/>
<Command name="servermsg"/>
<Command name="showperm"/>
<Command name="spawn"/>
<Command name="spawnitem"/>
<Command name="give"/>
<Command name="disablecrewai"/>
<Command name="gamemode"/>
<Command name="sub"/>
<Command name="shuttle"/>
<Command name="enablecrewai"/>
<Command name="ban"/>
<Command name="banid"/>
<Command name="banip"/>
<Command name="unban"/>
<Command name="unbanaddress"/>
<Command name="teleportcharacter"/>
<Command name="mute"/>
<Command name="unmute"/>
<Command name="godmode"/>
<Command name="godmode_mainsub"/>
<Command name="lock"/>
<Command name="lockx"/>
<Command name="locky"/>
<Command name="water"/>
<Command name="fire"/>
<Command name="heal"/>
<Command name="giveaffliction"/>
<Command name="revive"/>
<Command name="freeze"/>
<Command name="freecam"/>
<Command name="explosion"/>
<Command name="fixitems"/>
<Command name="fixhulls"/>
<Command name="power"/>
<Command name="oxygen"/>
<Command name="setclientcharacter"/>
<Command name="togglekarma"/>
<Command name="setkarma"/>
<Command name="resetkarma"/>
<Command name="showkarma"/>
<Command name="togglekarmatestmode"/>
<Command name="togglecampaignteleport"/>
<Command name="respawnnow"/>
<Command name="traitorlist"/>
<Command name="setsalary"/>
</Preset>
</PermissionPresets>

4
Data/recentservers.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<servers>
<ServerInfo Endpoints="STEAM_1:0:58543626" GameVersion="1.7.7.0" ServerName="Vanilla" ServerMessage="" MaxPlayers="6" HasPassword="False" GameMode="multiplayercampaign" ModeSelectionMode="Manual" SubSelectionMode="Manual" AllowSpectating="True" VoipEnabled="True" KarmaEnabled="False" FriendlyFireEnabled="True" AllowRespawn="False" TraitorProbability="0" PlayStyle="Casual" Language="English" SelectedSub="" />
</servers>

32
Data/serverblacklist.xml Normal file
View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains a list of filters that can be used to hide servers from the server list.
You can add filters by right-clicking a server in the server list and selecting "Hide server" or by reporting the server and choosing "Report and hide server".
The filters are saved in this file, which you can edit manually if you want to.
The available filter types are:
- NameEquals: The server name must equal the specified value. Homoglyphs are also checked.
- NameContains: The server name must contain the specified value.
- MessageEquals: The server description must equal the specified value. Homoglyphs are also checked.
- MessageContains: The server description must contain the specified value.
- PlayerCountLarger: The player count must be larger than the specified value.
- PlayerCountExact: The player count must match the specified value exactly.
- MaxPlayersLarger: The max player count must be larger than the specified value.
- MaxPlayersExact: The max player count must match the specified value exactly.
- GameModeEquals: The game mode identifier must match the specified value exactly.
- PlayStyleEquals: The play style must match the specified value exactly.
- Endpoint: The server endpoint, which is a Steam ID or an IP address, must match the specified value exactly. Steam ID is in the format of STEAM_X:Y:Z.
- LanguageEquals: The server language must match the specified value exactly.
The filter values are case-insensitive and adding multiple conditions on one filter will require all of them to be met.
Homoglyph comparison is used for NameEquals and MessageEquals filters, which means that it checks whether the words look the same, meaning you can't abuse identical-looking but different symbols to work around the filter. For example "lmaobox" and "lmаobox" (with a cyrillic a) are considered equal.
Examples:
<Filters>
<Filter namecontains="discord.gg" />
<Filter messagecontains="discord.gg" />
<Filter nameequals="get good get lmaobox" maxplayersexact="999" />
</Filters>
These will hide all servers that have a discord.gg link in their name or description and servers with the name "get good get lmaobox" that have 999 max players.
-->
<Filters />

View File

@@ -0,0 +1,99 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,1183,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1184;2928;2929,,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-756,52">
<ConnectionLabelOverride name="signal_in1" value="Lever Signal" />
<ConnectionLabelOverride name="signal_in2" value="Nav Velocity Y Out" />
<ConnectionLabelOverride name="signal_in3" value="Water Detector Signal" />
</InputNode>
<OutputNode pos="1029,-113">
<ConnectionLabelOverride name="signal_out3" value="Pump Set State" />
<ConnectionLabelOverride name="signal_out2" value="Pump Set Target Level" />
<ConnectionLabelOverride name="signal_out1" value="Lamp Set State and Set Color" />
</OutputNode>
<Component id="0" position="-191,-91" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>OrComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>orcomponent<<<STRINGEND>>> />
<Component id="1" position="-69,152" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>SignalCheckComponent<<<STRINGEND>>> Output=<<<STRINGSTART>>>4.5999985<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>-100<<<STRINGEND>>> TargetSignal=<<<STRINGSTART>>>1<<<STRINGEND>>> item=<<<STRINGSTART>>>signalcheckcomponent<<<STRINGEND>>> />
<Component id="2" position="386,-239" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>ColorComponent<<<STRINGEND>>> UseHSV=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>colorcomponent<<<STRINGEND>>> />
<Component id="3" position="-203,-255" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>NotComponent<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>notcomponent<<<STRINGEND>>> />
<Component id="4" position="-820,-317" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>0.3<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="orangewire">
<From name="signal_in1" target="" />
<To name="signal_in1" target="0" />
</Wire>
<Wire id="1" backingitemid="" prefab="orangewire">
<From name="signal_in1" target="" />
<To name="signal_in" target="1" />
</Wire>
<Wire id="2" backingitemid="" prefab="bluewire">
<From name="signal_in2" target="" />
<To name="set_output" target="1" />
</Wire>
<Wire id="3" backingitemid="" prefab="orangewire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="0" />
</Wire>
<Wire id="4" backingitemid="" prefab="redwire">
<From name="signal_out" target="0" />
<To name="signal_out3" target="" />
</Wire>
<Wire id="5" backingitemid="" prefab="bluewire">
<From name="signal_out" target="1" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="6" backingitemid="0,0" prefab="greenwire">
<From name="signal_out" target="0" />
<To name="signal_r" target="2" />
</Wire>
<Wire id="7" backingitemid="" prefab="greenwire">
<From name="signal_in1" target="" />
<To name="signal_in" target="3" />
</Wire>
<Wire id="8" backingitemid="0,1" prefab="greenwire">
<From name="signal_out" target="3" />
<To name="signal_g" target="2" />
</Wire>
<Wire id="9" backingitemid="0,2" prefab="greenwire">
<From name="signal_out" target="4" />
<To name="signal_a" target="2" />
</Wire>
<Wire id="10" backingitemid="" prefab="greenwire">
<From name="signal_out" target="2" />
<To name="signal_out1" target="" />
</Wire>
<Label id="0" color="#7ED3E0" position="-101,398" size="596,192" header="Signal Check" body="output = empty&#xA;false output = -100&#xA;target signal = 1" />
<Label id="1" color="#7ED3E0" position="-124,-516" size="473,207" header="Colour Logic" body="Lever: 1 - Red&#xA;Lever: 0, Pump:1 - Yellow&#xA;Lever: 0, Pump 0 - Green" />
<Label id="2" color="#7ED3E0" position="-724,-538" size="369,162" header="Memory" body="Lamp Brightness 0.0-1.0" />
<Label id="3" color="#7ED3E0" position="-745,414" size="535,142" header="Lever" body="Off = Drain&#xA;On = Normal Operation" />
<Label id="4" color="#7ED3E0" position="777,351" size="710,320" header="Description" body="Lets you easily drain water from a balast tank so you can cut out ballast flora easier. Ballast flora in a dry environment takes double damage. &#xA;&#xA;Start cutting when the light turns green." />
<Label id="5" color="#7ED3E0" position="796,-549" size="527,246" header="Purpose" body="Extension of Max's Ballast Flora circuit adding a colour output for the ballast lamp to indicate the state of the circuit." />
<Label id="6" color="#FFFFFF" position="-1417,41" size="533,245" header="Water Detector" body="Position the water detector one square away from the floor. So one square higher than the lowest possible placement." />
<Label id="7" color="#0082FF" position="1516,351" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,131 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,1183,1184,1185,1186,2928,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="2929;2930;2931;3010;3011;3012,,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-836,23" />
<OutputNode pos="1024,-13" />
<Component id="0" position="-248,-183" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>NotComponent<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>notcomponent<<<STRINGEND>>> />
<Component id="1" position="-255,390" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="2" position="331,-172" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="3" position="240,114" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="4" position="642,380" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DelayComponent<<<STRINGEND>>> Delay=<<<STRINGSTART>>>0.6000000238418579<<<STRINGEND>>> ResetWhenSignalReceived=<<<STRINGSTART>>>false<<<STRINGEND>>> ResetWhenDifferentSignalReceived=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>delaycomponent<<<STRINGEND>>> />
<Component id="5" position="-176,-571" backingitemid="5,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DelayComponent<<<STRINGEND>>> Delay=<<<STRINGSTART>>>1<<<STRINGEND>>> ResetWhenSignalReceived=<<<STRINGSTART>>>true<<<STRINGEND>>> ResetWhenDifferentSignalReceived=<<<STRINGSTART>>>true<<<STRINGEND>>> item=<<<STRINGSTART>>>delaycomponent<<<STRINGEND>>> />
<Component id="6" position="-213,-748" backingitemid="6,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>NotComponent<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>notcomponent<<<STRINGEND>>> />
<Component id="7" position="434,-628" backingitemid="7,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="8" position="779,-362" backingitemid="8,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="greenwire">
<From name="signal_in1" target="" />
<To name="signal_in1" target="1" />
</Wire>
<Wire id="1" backingitemid="" prefab="greenwire">
<From name="signal_in1" target="" />
<To name="signal_in1" target="2" />
</Wire>
<Wire id="2" backingitemid="0,0" prefab="bluewire">
<From name="signal_out" target="0" />
<To name="signal_in2" target="2" />
</Wire>
<Wire id="3" backingitemid="" prefab="orangewire">
<From name="signal_in2" target="" />
<To name="signal_in2" target="3" />
</Wire>
<Wire id="4" backingitemid="0,1" prefab="bluewire">
<From name="signal_out" target="1" />
<To name="signal_in" target="4" />
</Wire>
<Wire id="5" backingitemid="" prefab="redwire">
<From name="signal_out" target="3" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="6" backingitemid="" prefab="orangewire">
<From name="signal_in2" target="" />
<To name="signal_in" target="6" />
</Wire>
<Wire id="7" backingitemid="0,2" prefab="bluewire">
<From name="signal_out" target="6" />
<To name="signal_in2" target="7" />
</Wire>
<Wire id="8" backingitemid="" prefab="wire">
<From name="signal_out" target="4" />
<To name="signal_out1" target="" />
</Wire>
<Wire id="9" backingitemid="" prefab="wire">
<From name="signal_out" target="2" />
<To name="signal_out1" target="" />
</Wire>
<Wire id="10" backingitemid="" prefab="brownwire">
<From name="signal_in3" target="" />
<To name="signal_in" target="0" />
</Wire>
<Wire id="11" backingitemid="" prefab="brownwire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="1" />
</Wire>
<Wire id="12" backingitemid="0,3" prefab="bluewire">
<From name="signal_out" target="5" />
<To name="signal_in1" target="7" />
</Wire>
<Wire id="13" backingitemid="0,4" prefab="bluewire">
<From name="signal_out" target="1" />
<To name="signal_in1" target="3" />
</Wire>
<Wire id="14" backingitemid="" prefab="bluewire">
<From name="signal_in4" target="" />
<To name="signal_in" target="5" />
</Wire>
<Wire id="15" backingitemid="" prefab="bluewire">
<From name="signal_in5" target="" />
<To name="signal_in1" target="3" />
</Wire>
<Wire id="16" backingitemid="" prefab="redwire">
<From name="signal_out" target="8" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="17" backingitemid="0,5" prefab="bluewire">
<From name="signal_out" target="7" />
<To name="signal_in2" target="8" />
</Wire>
<Wire id="18" backingitemid="" prefab="brownwire">
<From name="signal_in3" target="" />
<To name="signal_in1" target="8" />
</Wire>
<Label id="0" color="#37FF37" position="-1096,193" size="303,170" header="SIGNAL_IN_1" body="label.automateddockinghatch.signal1" />
<Label id="1" color="#FFC200" position="-1089,103" size="299,117" header="SIGNAL_IN_2" body="label.automateddockinghatch.signal2" />
<Label id="2" color="#DDA056" position="-1089,-84" size="301,256" header="SIGNAL_IN_3" body="label.automateddockinghatch.signal3" />
<Label id="3" color="#FFFFFF" position="1288,135" size="289,180" header="SIGNAL_OUT_1" body="label.automateddockinghatch.signalout1" />
<Label id="4" color="#FF0000" position="1290,22" size="287,185" header="SIGNAL_OUT_2" body="label.automateddockinghatch.signalout2" />
<Label id="5" color="#7ED3E0" position="181,274" size="1275,504" header="Undocking" body="" />
<Label id="6" color="#7ED3E0" position="183,-431" size="1267,819" header="Docking" body="" />
<Label id="7" color="#7ED3E0" position="253,178" size="432,250" header="Close Hatch" body="label.automateddockinghatch.closehatch" />
<Label id="8" color="#7ED3E0" position="42,-623" size="757,427" header="Open Hatch" body="label.automateddockinghatch.openhatch" />
<Label id="9" color="#7ED3E0" position="-1092,-202" size="284,256" header="SIGNAL_IN_4" body="ON_DOCK" />
<Label id="10" color="#7ED3E0" position="-1086,-294" size="282,224" header="SIGNAL_IN_5" body="ON_UNDOCK" />
<Label id="11" color="#0082FF" position="1817,22" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,182 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,1183,1184,1185,1186,2928,2929,2930,2931,2932,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="2933;2944;2945;3010;3011;3012;3013,,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-836,23">
<ConnectionLabelOverride name="signal_in6" value="guard drowner switch" />
<ConnectionLabelOverride name="signal_in5" value="docking hatch on_undock" />
<ConnectionLabelOverride name="signal_in7" value="door to ocean state out" />
<ConnectionLabelOverride name="signal_in3" value="docking hatch state_out" />
<ConnectionLabelOverride name="signal_in4" value="docking hatch on_dock" />
<ConnectionLabelOverride name="signal_in2" value="door state out" />
<ConnectionLabelOverride name="signal_in1" value="toggle docking from nav terminal" />
</InputNode>
<OutputNode pos="2342,26">
<ConnectionLabelOverride name="signal_out4" value="set state on door to ocean" />
<ConnectionLabelOverride name="signal_out3" value="set state on door to sub" />
<ConnectionLabelOverride name="signal_out2" value="toggle door" />
<ConnectionLabelOverride name="signal_out1" value="toggle docking hatch" />
</OutputNode>
<Component id="0" position="572,205" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="1" position="744,-60" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="2" position="-75,233" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>NotComponent<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>notcomponent<<<STRINGEND>>> />
<Component id="3" position="18,-54" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>NotComponent<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>notcomponent<<<STRINGEND>>> />
<Component id="4" position="-2,-547" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DelayComponent<<<STRINGEND>>> Delay=<<<STRINGSTART>>>8<<<STRINGEND>>> ResetWhenSignalReceived=<<<STRINGSTART>>>false<<<STRINGEND>>> ResetWhenDifferentSignalReceived=<<<STRINGSTART>>>true<<<STRINGEND>>> item=<<<STRINGSTART>>>delaycomponent<<<STRINGEND>>> />
<Component id="5" position="-205,-748" backingitemid="5,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>NotComponent<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>notcomponent<<<STRINGEND>>> />
<Component id="6" position="631,-543" backingitemid="6,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="7" position="49,884" backingitemid="7,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="8" position="47,-1421" backingitemid="8,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>SignalCheckComponent<<<STRINGEND>>> Output=<<<STRINGSTART>>>0<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> TargetSignal=<<<STRINGSTART>>>1<<<STRINGEND>>> item=<<<STRINGSTART>>>signalcheckcomponent<<<STRINGEND>>> />
<Component id="9" position="54,-1647" backingitemid="9,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>SignalCheckComponent<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> TargetSignal=<<<STRINGSTART>>>1<<<STRINGEND>>> item=<<<STRINGSTART>>>signalcheckcomponent<<<STRINGEND>>> />
<Component id="10" position="742,-1559" backingitemid="10,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="11" position="13,-909" backingitemid="11,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DelayComponent<<<STRINGEND>>> Delay=<<<STRINGSTART>>>8<<<STRINGEND>>> ResetWhenSignalReceived=<<<STRINGSTART>>>false<<<STRINGEND>>> ResetWhenDifferentSignalReceived=<<<STRINGSTART>>>true<<<STRINGEND>>> item=<<<STRINGSTART>>>delaycomponent<<<STRINGEND>>> />
<Component id="12" position="625,-867" backingitemid="12,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>0<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="bluewire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="0" />
</Wire>
<Wire id="1" backingitemid="0,0" prefab="bluewire">
<From name="signal_out" target="0" />
<To name="signal_in1" target="1" />
</Wire>
<Wire id="2" backingitemid="" prefab="bluewire">
<From name="signal_out" target="1" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="3" backingitemid="" prefab="bluewire">
<From name="signal_in2" target="" />
<To name="signal_in" target="2" />
</Wire>
<Wire id="4" backingitemid="0,1" prefab="bluewire">
<From name="signal_out" target="2" />
<To name="signal_in1" target="0" />
</Wire>
<Wire id="5" backingitemid="" prefab="bluewire">
<From name="signal_in6" target="" />
<To name="signal_in" target="3" />
</Wire>
<Wire id="6" backingitemid="0,2" prefab="bluewire">
<From name="signal_out" target="3" />
<To name="signal_in2" target="1" />
</Wire>
<Wire id="7" backingitemid="" prefab="bluewire">
<From name="signal_in3" target="" />
<To name="signal_in" target="5" />
</Wire>
<Wire id="8" backingitemid="" prefab="bluewire">
<From name="signal_in2" target="" />
<To name="signal_in1" target="7" />
</Wire>
<Wire id="9" backingitemid="" prefab="bluewire">
<From name="signal_in5" target="" />
<To name="signal_in2" target="7" />
</Wire>
<Wire id="10" backingitemid="" prefab="bluewire">
<From name="signal_out" target="7" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="11" backingitemid="" prefab="bluewire">
<From name="signal_in6" target="" />
<To name="signal_in" target="8" />
</Wire>
<Wire id="12" backingitemid="" prefab="bluewire">
<From name="signal_in6" target="" />
<To name="signal_in" target="9" />
</Wire>
<Wire id="13" backingitemid="" prefab="bluewire">
<From name="signal_out" target="8" />
<To name="signal_out3" target="" />
</Wire>
<Wire id="14" backingitemid="" prefab="bluewire">
<From name="signal_out" target="9" />
<To name="signal_out4" target="" />
</Wire>
<Wire id="15" backingitemid="" prefab="bluewire">
<From name="signal_in2" target="" />
<To name="signal_in1" target="10" />
</Wire>
<Wire id="16" backingitemid="" prefab="bluewire">
<From name="signal_in6" target="" />
<To name="signal_in2" target="10" />
</Wire>
<Wire id="17" backingitemid="" prefab="bluewire">
<From name="signal_out" target="10" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="18" backingitemid="0,3" prefab="bluewire">
<From name="signal_out" target="5" />
<To name="signal_in1" target="12" />
</Wire>
<Wire id="19" backingitemid="" prefab="bluewire">
<From name="signal_out" target="12" />
<To name="signal_out4" target="" />
</Wire>
<Wire id="20" backingitemid="" prefab="bluewire">
<From name="signal_in7" target="" />
<To name="signal_in" target="11" />
</Wire>
<Wire id="21" backingitemid="0,4" prefab="bluewire">
<From name="signal_out" target="11" />
<To name="signal_in2" target="12" />
</Wire>
<Wire id="22" backingitemid="" prefab="bluewire">
<From name="signal_in2" target="" />
<To name="signal_in" target="4" />
</Wire>
<Wire id="23" backingitemid="0,5" prefab="bluewire">
<From name="signal_out" target="5" />
<To name="signal_in2" target="6" />
</Wire>
<Wire id="24" backingitemid="0,6" prefab="bluewire">
<From name="signal_out" target="4" />
<To name="signal_in1" target="6" />
</Wire>
<Wire id="25" backingitemid="" prefab="bluewire">
<From name="signal_out" target="6" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="26" backingitemid="" prefab="redwire">
<From name="signal_in1" target="" />
<To name="signal_out1" target="" />
</Wire>
<Label id="0" color="#37FF37" position="-1096,193" size="303,170" header="SIGNAL_IN_1" body="label.automateddockinghatch.signal1" />
<Label id="1" color="#FFC200" position="-1089,103" size="299,117" header="SIGNAL_IN_2" body="label.automateddockinghatch.signal2" />
<Label id="2" color="#DDA056" position="-1089,-84" size="301,256" header="SIGNAL_IN_3" body="label.automateddockinghatch.signal3" />
<Label id="3" color="#FFFFFF" position="2633,153" size="289,180" header="SIGNAL_OUT_1" body="label.automateddockinghatch.signalout1" />
<Label id="4" color="#FF0000" position="2635,40" size="287,185" header="SIGNAL_OUT_2" body="label.automateddockinghatch.signalout2" />
<Label id="5" color="#7ED3E0" position="-1092,-202" size="284,256" header="SIGNAL_IN_4" body="ON_DOCK" />
<Label id="6" color="#7ED3E0" position="-1086,-294" size="282,224" header="SIGNAL_IN_5" body="ON_UNDOCK" />
<Label id="7" color="#7ED3E0" position="365,150" size="1463,692" header="open on dock" body="if docked, and door is not open, and guard drowner isnt on, open the door." />
<Label id="8" color="#7ED3E0" position="207,-677" size="1521,619" header="close door at sea" body="If at sea and the door is open, close it after a delay." />
<Label id="9" color="#7ED3E0" position="75,970" size="667,360" header="close door on undock" body="If you just undocked and the door is open, immediately close the door." />
<Label id="10" color="#7ED3E0" position="351,-1477" size="1602,591" header="Drown guard" body="If guard drowner switch is active, seal the door to the sub, seal the door to the outpost, and open the door to the ocean." />
<Label id="11" color="#FF00FF" position="2245,-564" size="982,217" header="Purpose" body="This circuit is ment to replace the default docking hatch. It has the ability to drown station guards via a switch, and also to close the doors automatically after a while in normal operation." />
<Label id="12" color="#7E00E0" position="2309,684" size="870,240" header="Description" body="An airlock replacement that can drown station guards." />
<Label id="13" color="#0082FF" position="3163,40" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,106 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,1183,1184,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1185;1186;2928,,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-836,23">
<ConnectionLabelOverride name="signal_in2" value="door state out" />
<ConnectionLabelOverride name="signal_in5" value="docking hatch on_undock" />
<ConnectionLabelOverride name="signal_in3" value="docking hatch state_out" />
<ConnectionLabelOverride name="signal_in1" value="toggle docking from nav terminal" />
</InputNode>
<OutputNode pos="2342,26">
<ConnectionLabelOverride name="signal_out2" value="toggle door" />
<ConnectionLabelOverride name="signal_out1" value="toggle docking hatch" />
</OutputNode>
<Component id="0" position="572,205" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="1" position="-75,233" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>NotComponent<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>notcomponent<<<STRINGEND>>> />
<Component id="2" position="-2,-547" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DelayComponent<<<STRINGEND>>> Delay=<<<STRINGSTART>>>8<<<STRINGEND>>> ResetWhenSignalReceived=<<<STRINGSTART>>>false<<<STRINGEND>>> ResetWhenDifferentSignalReceived=<<<STRINGSTART>>>true<<<STRINGEND>>> item=<<<STRINGSTART>>>delaycomponent<<<STRINGEND>>> />
<Component id="3" position="-205,-748" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>NotComponent<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>false<<<STRINGEND>>> item=<<<STRINGSTART>>>notcomponent<<<STRINGEND>>> />
<Component id="4" position="631,-543" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="5" position="49,884" backingitemid="5,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="bluewire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="0" />
</Wire>
<Wire id="1" backingitemid="" prefab="bluewire">
<From name="signal_in2" target="" />
<To name="signal_in" target="1" />
</Wire>
<Wire id="2" backingitemid="0,0" prefab="bluewire">
<From name="signal_out" target="1" />
<To name="signal_in1" target="0" />
</Wire>
<Wire id="3" backingitemid="" prefab="bluewire">
<From name="signal_in3" target="" />
<To name="signal_in" target="3" />
</Wire>
<Wire id="4" backingitemid="" prefab="bluewire">
<From name="signal_in2" target="" />
<To name="signal_in1" target="5" />
</Wire>
<Wire id="5" backingitemid="" prefab="bluewire">
<From name="signal_in5" target="" />
<To name="signal_in2" target="5" />
</Wire>
<Wire id="6" backingitemid="" prefab="bluewire">
<From name="signal_out" target="5" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="7" backingitemid="" prefab="bluewire">
<From name="signal_in2" target="" />
<To name="signal_in" target="2" />
</Wire>
<Wire id="8" backingitemid="0,1" prefab="bluewire">
<From name="signal_out" target="3" />
<To name="signal_in2" target="4" />
</Wire>
<Wire id="9" backingitemid="0,2" prefab="bluewire">
<From name="signal_out" target="2" />
<To name="signal_in1" target="4" />
</Wire>
<Wire id="10" backingitemid="" prefab="bluewire">
<From name="signal_out" target="4" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="11" backingitemid="" prefab="redwire">
<From name="signal_in1" target="" />
<To name="signal_out1" target="" />
</Wire>
<Wire id="12" backingitemid="" prefab="redwire">
<From name="signal_out" target="0" />
<To name="signal_out2" target="" />
</Wire>
<Label id="0" color="#7ED3E0" position="365,150" size="1463,692" header="open on dock" body="if docked, and door is not open, open the door." />
<Label id="1" color="#7ED3E0" position="207,-677" size="1521,619" header="close door at sea" body="If at sea and the door is open, close it after a delay." />
<Label id="2" color="#7ED3E0" position="75,970" size="667,360" header="close door on undock" body="If you just undocked and the door is open, immediately close the door." />
<Label id="3" color="#FF00FF" position="2245,-564" size="982,217" header="Purpose" body="This circuit is ment to replace the default docking hatch. It will close the doors automatically after a while undocked. This can be useful on some subs like the R-29 Big Rig." />
<Label id="4" color="#7E00E0" position="2309,684" size="870,240" header="Description" body="An airlock replacement that can close itself after a delay. Useful for docking ports that are also airlocks, like on the R-29 Big Rig." />
<Label id="5" color="#0082FF" position="2952,54" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,109 @@
<Root>
<Item name="" identifier="circuitbox" ID="1427" markedfordeconstruction="false" flippedx="true" rect="-400,-232,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="deattachtool,wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" excludedidentifiers="multitool" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1">
<link w="6218" i="0" />
</input>
<input name="signal_in2">
<link w="6219" i="0" />
</input>
<input name="signal_in3">
<link w="6220" i="1" />
</input>
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1">
<link w="6090" i="0" />
</output>
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8">
<link w="6091" i="0" />
</output>
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1444;1867;1932;1933,1934;1937,1935,1936;2224,2223,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1938;2219;2220;2221;2222;2225;2218;2226,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="itemmsgunauthorizedaccess" />
<InputNode pos="-1013,422" />
<OutputNode pos="2737,418" />
<Component id="0" position="2042,261" backingitemid="0,0" usedresource="memorycomponent" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>100<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="1" position="-134,686" backingitemid="0,1" usedresource="memorycomponent" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>37<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="2" position="489,773" backingitemid="0,2" usedresource="memorycomponent" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>25<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="3" position="995,788" backingitemid="0,3" usedresource="memorycomponent" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>5000<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="4" position="492,593" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="5" position="1518,599" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AdderComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>addercomponent<<<STRINGEND>>> />
<Component id="6" position="1002,599" backingitemid="3,0" usedresource="multiplycomponent" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="7" position="2042,519" backingitemid="1,1" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="8" position="-572,316" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>SignalCheckComponent<<<STRINGEND>>> Output=<<<STRINGSTART>>>1.7<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>1<<<STRINGEND>>> TargetSignal=<<<STRINGSTART>>>1<<<STRINGEND>>> item=<<<STRINGSTART>>>signalcheckcomponent<<<STRINGEND>>> />
<Component id="9" position="-66,379" backingitemid="3,1" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="alienwire3">
<From name="signal_out" target="0" />
<To name="signal_out8" target="" />
</Wire>
<Wire id="1" backingitemid="0,0" prefab="wire">
<From name="signal_out" target="4" />
<To name="signal_in2" target="6" />
</Wire>
<Wire id="2" backingitemid="0,1" prefab="wire">
<From name="signal_out" target="2" />
<To name="signal_in1" target="6" />
</Wire>
<Wire id="3" backingitemid="0,2" prefab="wire">
<From name="signal_out" target="6" />
<To name="signal_in2" target="5" />
</Wire>
<Wire id="6" backingitemid="0,3" prefab="wire">
<From name="signal_out" target="3" />
<To name="signal_in1" target="5" />
</Wire>
<Wire id="7" backingitemid="" prefab="wire">
<From name="signal_in2" target="" />
<To name="signal_in2" target="7" />
</Wire>
<Wire id="8" backingitemid="0,4" prefab="wire">
<From name="signal_out" target="5" />
<To name="signal_in1" target="7" />
</Wire>
<Wire id="9" backingitemid="" prefab="wire">
<From name="signal_out" target="7" />
<To name="signal_out1" target="" />
</Wire>
<Wire id="10" backingitemid="" prefab="wire">
<From name="signal_in3" target="" />
<To name="signal_in" target="8" />
</Wire>
<Wire id="11" backingitemid="" prefab="wire">
<From name="signal_in1" target="" />
<To name="signal_in1" target="9" />
</Wire>
<Wire id="12" backingitemid="0,5" prefab="wire">
<From name="signal_out" target="8" />
<To name="signal_in2" target="9" />
</Wire>
<Wire id="4" backingitemid="0,6" prefab="wire">
<From name="signal_out" target="9" />
<To name="signal_in1" target="4" />
</Wire>
<Wire id="5" backingitemid="0,7" prefab="wire">
<From name="signal_out" target="1" />
<To name="signal_in2" target="4" />
</Wire>
<Label id="0" color="#7ED3E0" position="-969,118" size="335,136" header="<<<STRINGSTART>>>label<<<STRINGEND>>>" body="IN_1 -&gt; LOAD&#xA;IN_2 -&gt; FUEL&#xA;IN_3 -&gt; Overcharge toggle" />
<Label id="1" color="#7ED3E0" position="2473,406" size="232,78" header="<<<STRINGSTART>>>label<<<STRINGEND>>>" body="OUT_1 -&gt; Fission Rate&#xA;OUT_8 -&gt; Turbinel" />
<Label id="2" color="#7ED3E0" position="492,942" size="393,93" header="<<<STRINGSTART>>>label<<<STRINGEND>>>" body="Maximum reactor output divided by 10" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,70 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1183,1184,1185,1186,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-1814,46">
<ConnectionLabelOverride name="signal_in1" value="From Button Signal Out" />
</InputNode>
<OutputNode pos="1057,6">
<ConnectionLabelOverride name="signal_out1" value="To Text Display Set Text" />
</OutputNode>
<Component id="0" position="-920,114" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>SignalCheckComponent<<<STRINGEND>>> Output=<<<STRINGSTART>>>11<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>><<<STRINGEND>>> TargetSignal=<<<STRINGSTART>>>1<<<STRINGEND>>> item=<<<STRINGSTART>>>signalcheckcomponent<<<STRINGEND>>> />
<Component id="1" position="209,424" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="2" position="228,-181" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>OscillatorComponent<<<STRINGEND>>> OutputType=<<<STRINGSTART>>>Pulse<<<STRINGEND>>> Frequency=<<<STRINGSTART>>>1<<<STRINGEND>>> item=<<<STRINGSTART>>>oscillator<<<STRINGEND>>> />
<Component id="3" position="221,88" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>SubtractComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>0<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>subtractcomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="redwire">
<From name="signal_in1" target="" />
<To name="signal_in" target="0" />
</Wire>
<Wire id="1" backingitemid="0,0" prefab="redwire">
<From name="signal_out" target="0" />
<To name="signal_in" target="1" />
</Wire>
<Wire id="2" backingitemid="1,0" prefab="orangewire">
<From name="signal_out" target="3" />
<To name="signal_in" target="1" />
</Wire>
<Wire id="3" backingitemid="2,0" prefab="greenwire">
<From name="signal_out" target="1" />
<To name="signal_in1" target="3" />
</Wire>
<Wire id="4" backingitemid="3,0" prefab="wire">
<From name="signal_out" target="2" />
<To name="signal_in2" target="3" />
</Wire>
<Wire id="5" backingitemid="" prefab="orangewire">
<From name="signal_out" target="3" />
<To name="signal_out1" target="" />
</Wire>
<Label id="0" color="#7ED3E0" position="-888,198" size="852,408" header="Reset to 10 on button push" body="Just change the output to pick a different starting time. Add one to whatever number you want, IE 10 becomes 11." />
<Label id="1" color="#7ED3E0" position="230,201" size="704,945" header="Timing Circuit" body="Subtracts 1 every second from the mem and saves it in the mem" />
<Label id="2" color="#7ED3E0" position="-1725,838" size="470,276" header="Description" body="A countdown timer that counts down from a number you specify. " />
<Label id="3" color="#0082FF" position="1697,6" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,150 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,1183,1184,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1185;1186;2928;2929;2931;2932,,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-2158,283">
<ConnectionLabelOverride name="signal_in3" value="Condition_out_3" />
<ConnectionLabelOverride name="signal_in1" value="Condition_out_1" />
<ConnectionLabelOverride name="signal_in2" value="Condition_out_2" />
<ConnectionLabelOverride name="signal_in5" value="Condition_out_5" />
<ConnectionLabelOverride name="signal_in4" value="Condition_out_4" />
<ConnectionLabelOverride name="signal_in6" value="Condition_out_6" />
<ConnectionLabelOverride name="signal_in7" value="Condition_out_7" />
<ConnectionLabelOverride name="signal_in8" value="Condition_out_8" />
</InputNode>
<OutputNode pos="1593,269">
<ConnectionLabelOverride name="signal_out1" value="Light_1_Set_State" />
<ConnectionLabelOverride name="signal_out2" value="Light_2_Set_State" />
<ConnectionLabelOverride name="signal_out3" value="Light_3_Set_State" />
<ConnectionLabelOverride name="signal_out4" value="Light_4_Set_State" />
<ConnectionLabelOverride name="signal_out5" value="Light_5_Set_State" />
<ConnectionLabelOverride name="signal_out6" value="Light_6_Set_State" />
<ConnectionLabelOverride name="signal_out7" value="Light_7_Set_State" />
<ConnectionLabelOverride name="signal_out8" value="Light_8_Set_State" />
</OutputNode>
<Component id="0" position="-501,790" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>RegExFindComponent<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> UseCaptureGroup=<<<STRINGSTART>>>false<<<STRINGEND>>> OutputEmptyCaptureGroup=<<<STRINGSTART>>>false<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> ContinuousOutput=<<<STRINGSTART>>>true<<<STRINGEND>>> Expression=<<<STRINGSTART>>>^([0-9]|1[0-9])(?:\.[0-9]*)?$<<<STRINGEND>>> item=<<<STRINGSTART>>>regexcomponent<<<STRINGEND>>> />
<Component id="1" position="157,818" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="2" position="-493,971" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>OscillatorComponent<<<STRINGEND>>> OutputType=<<<STRINGSTART>>>Square<<<STRINGEND>>> Frequency=<<<STRINGSTART>>>1<<<STRINGEND>>> item=<<<STRINGSTART>>>oscillator<<<STRINGEND>>> />
<Component id="3" position="-1456,222" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplexerComponent<<<STRINGEND>>> SelectedConnection=<<<STRINGSTART>>>0<<<STRINGEND>>> WrapAround=<<<STRINGSTART>>>true<<<STRINGEND>>> SkipEmptyConnections=<<<STRINGSTART>>>true<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplexercomponent<<<STRINGEND>>> />
<Component id="4" position="-2199,-41" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>OscillatorComponent<<<STRINGEND>>> OutputType=<<<STRINGSTART>>>Pulse<<<STRINGEND>>> Frequency=<<<STRINGSTART>>>200<<<STRINGEND>>> item=<<<STRINGSTART>>>oscillator<<<STRINGEND>>> />
<Component id="5" position="932,222" backingitemid="5,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DemultiplexerComponent<<<STRINGEND>>> SelectedConnection=<<<STRINGSTART>>>4<<<STRINGEND>>> WrapAround=<<<STRINGSTART>>>true<<<STRINGEND>>> SkipEmptyConnections=<<<STRINGSTART>>>true<<<STRINGEND>>> item=<<<STRINGSTART>>>demultiplexercomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="0,0" prefab="brownwire">
<From name="signal_out" target="2" />
<To name="signal_in1" target="1" />
</Wire>
<Wire id="1" backingitemid="0,1" prefab="brownwire">
<From name="signal_out" target="0" />
<To name="signal_in2" target="1" />
</Wire>
<Wire id="2" backingitemid="" prefab="brownwire">
<From name="signal_in1" target="" />
<To name="signal_in0" target="3" />
</Wire>
<Wire id="3" backingitemid="" prefab="brownwire">
<From name="signal_in2" target="" />
<To name="signal_in1" target="3" />
</Wire>
<Wire id="4" backingitemid="0,2" prefab="brownwire">
<From name="signal_out" target="3" />
<To name="signal_in" target="0" />
</Wire>
<Wire id="5" backingitemid="0,3" prefab="brownwire">
<From name="signal_out" target="4" />
<To name="move_input" target="3" />
</Wire>
<Wire id="6" backingitemid="0,4" prefab="brownwire">
<From name="selected_input_out" target="3" />
<To name="set_output" target="5" />
</Wire>
<Wire id="7" backingitemid="0,5" prefab="brownwire">
<From name="signal_out" target="1" />
<To name="signal_in" target="5" />
</Wire>
<Wire id="8" backingitemid="" prefab="brownwire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="3" />
</Wire>
<Wire id="9" backingitemid="" prefab="brownwire">
<From name="signal_in4" target="" />
<To name="signal_in3" target="3" />
</Wire>
<Wire id="10" backingitemid="" prefab="brownwire">
<From name="signal_in5" target="" />
<To name="signal_in4" target="3" />
</Wire>
<Wire id="11" backingitemid="" prefab="brownwire">
<From name="signal_in6" target="" />
<To name="signal_in5" target="3" />
</Wire>
<Wire id="12" backingitemid="" prefab="brownwire">
<From name="signal_in7" target="" />
<To name="signal_in6" target="3" />
</Wire>
<Wire id="13" backingitemid="" prefab="brownwire">
<From name="signal_in8" target="" />
<To name="signal_in7" target="3" />
</Wire>
<Wire id="14" backingitemid="" prefab="brownwire">
<From name="signal_out0" target="5" />
<To name="signal_out1" target="" />
</Wire>
<Wire id="15" backingitemid="" prefab="brownwire">
<From name="signal_out1" target="5" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="16" backingitemid="" prefab="brownwire">
<From name="signal_out2" target="5" />
<To name="signal_out3" target="" />
</Wire>
<Wire id="17" backingitemid="" prefab="brownwire">
<From name="signal_out3" target="5" />
<To name="signal_out4" target="" />
</Wire>
<Wire id="18" backingitemid="" prefab="brownwire">
<From name="signal_out4" target="5" />
<To name="signal_out5" target="" />
</Wire>
<Wire id="19" backingitemid="" prefab="brownwire">
<From name="signal_out5" target="5" />
<To name="signal_out6" target="" />
</Wire>
<Wire id="20" backingitemid="" prefab="brownwire">
<From name="signal_out6" target="5" />
<To name="signal_out7" target="" />
</Wire>
<Wire id="21" backingitemid="" prefab="brownwire">
<From name="signal_out7" target="5" />
<To name="signal_out8" target="" />
</Wire>
<Label id="0" color="#7ED3E0" position="-497,548" size="531,148" header="regex" body="any number between 0 and 19.999 including decimals" />
<Label id="1" color="#7ED3E0" position="-191,953" size="1322,535" header="Blinker and condition check" body="Is the selected part below 20 condition? If yes, blink." />
<Label id="2" color="#7ED3E0" position="-1722,1037" size="597,476" header="Description" body="This circuit will blink a light when the condition of a device its attached to falls below 20." />
<Label id="3" color="#0082FF" position="2233,269" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,83 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,1183,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1184;1185;1186;2928,,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-1143,8">
<ConnectionLabelOverride name="signal_in2" value="FROM FUEL OUT" />
<ConnectionLabelOverride name="signal_in1" value="FROM LOAD VALUE OUT" />
</InputNode>
<OutputNode pos="1025,0">
<ConnectionLabelOverride name="signal_out1" value="TO SET FISSION RATE" />
<ConnectionLabelOverride name="signal_out2" value="TO SET TURBINE OUTPUT" />
</OutputNode>
<Component id="0" position="240,461" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>100<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>0<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="1" position="236,266" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="2" position="238,63" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="3" position="-485,446" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>30<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="4" position="-464,71" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>75<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="0,0" prefab="redwire">
<From name="signal_out" target="4" />
<To name="signal_in2" target="2" />
</Wire>
<Wire id="1" backingitemid="0,1" prefab="redwire">
<From name="signal_out" target="3" />
<To name="signal_in2" target="0" />
</Wire>
<Wire id="2" backingitemid="0,2" prefab="redwire">
<From name="signal_out" target="0" />
<To name="signal_in1" target="1" />
</Wire>
<Wire id="3" backingitemid="0,3" prefab="redwire">
<From name="signal_out" target="2" />
<To name="signal_in2" target="1" />
</Wire>
<Wire id="4" backingitemid="" prefab="redwire">
<From name="signal_in2" target="" />
<To name="signal_in1" target="2" />
</Wire>
<Wire id="5" backingitemid="" prefab="redwire">
<From name="signal_in1" target="" />
<To name="signal_in1" target="0" />
</Wire>
<Wire id="6" backingitemid="" prefab="bluewire">
<From name="signal_out" target="0" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="7" backingitemid="" prefab="greenwire">
<From name="signal_out" target="1" />
<To name="signal_out1" target="" />
</Wire>
<Label id="0" color="#7E00E0" position="1079,494" size="676,263" header="Description" body="Simple automatic reactor controller. Not as fast as other designs, but fewer components." />
<Label id="1" color="#FF0000" position="-555,746" size="256,256" header="Upper MEM" body="This should hold max reactor output / 100. Lower this value to overclock the reactor." />
<Label id="2" color="#FF0000" position="-569,-182" size="256,256" header="lower mem" body="This is a constant. Keep it at 75." />
<Label id="3" color="#7ED3E0" position="202,729" size="256,256" header="Upper Div" body="Clamp max to 100, min to 0" />
<Label id="4" color="#7ED3E0" position="1126,1195" size="655,140" header="Properties" body="Can handle an unlimited number of rods at perfect efficiency." />
<Label id="5" color="#0082FF" position="1837,1195" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,164 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,1183,1184,1185,1186,2928,2929,2930,2931,2932,2933,2944,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="2945;2946;2947;2948;2949;3010;3011;3012;3013;3016;3017;3018,3019;3020;3021,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-512,0">
<ConnectionLabelOverride name="signal_in1" value="FROM LOAD VALUE OUT" />
<ConnectionLabelOverride name="signal_in3" value="FROM POWER VALUE OUT" />
<ConnectionLabelOverride name="signal_in5" value="FROM NAV TERMINAL VELOCITY X OUT" />
<ConnectionLabelOverride name="signal_in4" value="FROM TEMP OUT" />
<ConnectionLabelOverride name="signal_in2" value="FROM FUEL OUT" />
</InputNode>
<OutputNode pos="512,0">
<ConnectionLabelOverride name="signal_out1" value="TO SET FISSION RATE" />
<ConnectionLabelOverride name="signal_out2" value="TO SET TURBINE OUTPUT" />
</OutputNode>
<Component id="0" position="-1541,-84" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AdderComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>1<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>addercomponent<<<STRINGEND>>> />
<Component id="1" position="-1932,190" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>0.10000000149011612<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="2" position="-746,455" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>SubtractComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>subtractcomponent<<<STRINGEND>>> />
<Component id="3" position="-1341,451" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AdderComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>addercomponent<<<STRINGEND>>> />
<Component id="4" position="-2149,697" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>2500<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="5" position="-1076,1258" backingitemid="5,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>100<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>15<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="6" position="-1680,1258" backingitemid="6,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>1.0625<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="7" position="-1206,1034" backingitemid="7,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="8" position="-1849,1034" backingitemid="8,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>50<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="9" position="-1404,752" backingitemid="9,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AdderComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>addercomponent<<<STRINGEND>>> />
<Component id="10" position="-221,767" backingitemid="10,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>80<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="11" position="-147,-383" backingitemid="11,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="12" position="-923,-418" backingitemid="12,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>GreaterComponent<<<STRINGEND>>> Output=<<<STRINGSTART>>>1.15<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0.85<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>greatercomponent<<<STRINGEND>>> />
<Component id="13" position="-1984,-557" backingitemid="13,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>10<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="14" position="-1734,-351" backingitemid="14,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>FunctionComponent<<<STRINGEND>>> item=<<<STRINGSTART>>>abscomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="redwire">
<From name="signal_in3" target="" />
<To name="signal_in1" target="0" />
</Wire>
<Wire id="1" backingitemid="" prefab="redwire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="0" />
</Wire>
<Wire id="2" backingitemid="" prefab="redwire">
<From name="signal_in4" target="" />
<To name="signal_in1" target="1" />
</Wire>
<Wire id="3" backingitemid="0,0" prefab="redwire">
<From name="signal_out" target="0" />
<To name="signal_in2" target="1" />
</Wire>
<Wire id="4" backingitemid="" prefab="redwire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="2" />
</Wire>
<Wire id="5" backingitemid="0,1" prefab="redwire">
<From name="signal_out" target="2" />
<To name="signal_in2" target="3" />
</Wire>
<Wire id="6" backingitemid="0,2" prefab="redwire">
<From name="signal_out" target="3" />
<To name="signal_in1" target="4" />
</Wire>
<Wire id="7" backingitemid="0,3" prefab="redwire">
<From name="signal_out" target="1" />
<To name="signal_in2" target="4" />
</Wire>
<Wire id="8" backingitemid="" prefab="redwire">
<From name="signal_in2" target="" />
<To name="signal_in2" target="5" />
</Wire>
<Wire id="9" backingitemid="0,4" prefab="redwire">
<From name="signal_out" target="6" />
<To name="signal_in1" target="5" />
</Wire>
<Wire id="10" backingitemid="" prefab="redwire">
<From name="signal_out" target="5" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="11" backingitemid="0,5" prefab="redwire">
<From name="signal_out" target="5" />
<To name="signal_in1" target="7" />
</Wire>
<Wire id="12" backingitemid="0,6" prefab="redwire">
<From name="signal_out" target="8" />
<To name="signal_in2" target="7" />
</Wire>
<Wire id="13" backingitemid="0,7" prefab="redwire">
<From name="signal_out" target="7" />
<To name="signal_in1" target="9" />
</Wire>
<Wire id="14" backingitemid="0,8" prefab="redwire">
<From name="signal_out" target="4" />
<To name="signal_in2" target="9" />
</Wire>
<Wire id="15" backingitemid="0,9" prefab="redwire">
<From name="signal_out" target="9" />
<To name="signal_in1" target="10" />
</Wire>
<Wire id="16" backingitemid="" prefab="redwire">
<From name="signal_in2" target="" />
<To name="signal_in2" target="10" />
</Wire>
<Wire id="17" backingitemid="" prefab="redwire">
<From name="signal_out" target="10" />
<To name="signal_out1" target="" />
</Wire>
<Wire id="18" backingitemid="" prefab="redwire">
<From name="signal_in1" target="" />
<To name="signal_in1" target="11" />
</Wire>
<Wire id="19" backingitemid="" prefab="bluewire">
<From name="signal_in5" target="" />
<To name="signal_in" target="14" />
</Wire>
<Wire id="20" backingitemid="0,10" prefab="redwire">
<From name="signal_out" target="11" />
<To name="signal_in1" target="2" />
</Wire>
<Wire id="20" backingitemid="0,11" prefab="redwire">
<From name="signal_out" target="11" />
<To name="signal_in1" target="3" />
</Wire>
<Wire id="20" backingitemid="1,0" prefab="bluewire">
<From name="signal_out" target="12" />
<To name="signal_in2" target="11" />
</Wire>
<Wire id="21" backingitemid="1,1" prefab="bluewire">
<From name="signal_out" target="14" />
<To name="signal_in1" target="12" />
</Wire>
<Wire id="22" backingitemid="1,2" prefab="bluewire">
<From name="signal_out" target="13" />
<To name="signal_in2" target="12" />
</Wire>
<Label id="0" color="#7E00E0" position="816,1299" size="972,383" header="Description" body="Fast overclockable automatic reactor controller. No need for user inputs. This one is tied into the engine output so as to increase the power output when the ship is moving, but underclock when it is stopped." />
<Label id="1" color="#FF0000" position="-1042,-677" size="892,175" header="Overclock" body="Increase this value to overlock the reactor, or decrease to underclock. The number is the ratio, so 1.15 is 15% more power than normally required." />
<Label id="2" color="#7ED3E0" position="801,879" size="951,213" header="notes" body="Supposed to be more efficient than the fast 11c reactor. Design by Lammert. When you first turn the reactor on, crank the turbine rate up manually. That will prevent any fires." />
<Label id="3" color="#7ED3E0" position="799,586" size="947,219" header="Notes 2" body="This keeps the turbine output at near maximum constantly, then adjusts the heat so as to throttle the output voltage. Because the acceptable fission rate has a much narrower range, it ends up being a very fast controller." />
<Label id="4" color="#FF0000" position="-1038,-967" size="887,256" header="Overclock 2" body="The output of the greater than is the output rate when the ship is moving, the false output is what happens when the ship is stopped. You dont really need to overvolt if you aren't moving so this saves fuel." />
<Label id="5" color="#0082FF" position="1686,1299" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,148 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,1182,1183,1184,1185,1186,2928,2929,2930,2931,2932,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="2933;2944;2945;2946;2947;2948;2949;2950;2951;3010;3011;3012,3013,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-512,0">
<ConnectionLabelOverride name="signal_in2" value="FROM FUEL OUT" />
<ConnectionLabelOverride name="signal_in1" value="FROM LOAD VALUE OUT" />
<ConnectionLabelOverride name="signal_in3" value="FROM POWER VALUE OUT" />
<ConnectionLabelOverride name="signal_in4" value="FROM TEMP OUT" />
</InputNode>
<OutputNode pos="512,0">
<ConnectionLabelOverride name="signal_out1" value="TO SET FISSION RATE" />
<ConnectionLabelOverride name="signal_out2" value="TO SET TURBINE OUTPUT" />
</OutputNode>
<Component id="0" position="-1541,-84" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AdderComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>1<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>addercomponent<<<STRINGEND>>> />
<Component id="1" position="-1932,190" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>0.10000000149011612<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="2" position="-746,455" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>SubtractComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>subtractcomponent<<<STRINGEND>>> />
<Component id="3" position="-1341,451" backingitemid="3,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AdderComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>addercomponent<<<STRINGEND>>> />
<Component id="4" position="-2149,697" backingitemid="4,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>2500<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="5" position="-1076,1258" backingitemid="5,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>100<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>15<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="6" position="-1680,1258" backingitemid="6,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>1.0625<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="7" position="-1206,1034" backingitemid="7,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="8" position="-1849,1034" backingitemid="8,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>50<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Component id="9" position="-1404,752" backingitemid="9,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AdderComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>addercomponent<<<STRINGEND>>> />
<Component id="10" position="-221,767" backingitemid="10,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>DivideComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>80<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>dividecomponent<<<STRINGEND>>> />
<Component id="11" position="-147,-383" backingitemid="11,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MultiplyComponent<<<STRINGEND>>> ClampMax=<<<STRINGSTART>>>999999<<<STRINGEND>>> ClampMin=<<<STRINGSTART>>>-999999<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>multiplycomponent<<<STRINGEND>>> />
<Component id="12" position="-994,-388" backingitemid="12,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>MemoryComponent<<<STRINGEND>>> Value=<<<STRINGSTART>>>1.15<<<STRINGEND>>> item=<<<STRINGSTART>>>memorycomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="redwire">
<From name="signal_in3" target="" />
<To name="signal_in1" target="0" />
</Wire>
<Wire id="1" backingitemid="" prefab="redwire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="0" />
</Wire>
<Wire id="2" backingitemid="" prefab="redwire">
<From name="signal_in4" target="" />
<To name="signal_in1" target="1" />
</Wire>
<Wire id="3" backingitemid="0,0" prefab="redwire">
<From name="signal_out" target="0" />
<To name="signal_in2" target="1" />
</Wire>
<Wire id="4" backingitemid="" prefab="redwire">
<From name="signal_in3" target="" />
<To name="signal_in2" target="2" />
</Wire>
<Wire id="5" backingitemid="0,1" prefab="redwire">
<From name="signal_out" target="2" />
<To name="signal_in2" target="3" />
</Wire>
<Wire id="6" backingitemid="0,2" prefab="redwire">
<From name="signal_out" target="3" />
<To name="signal_in1" target="4" />
</Wire>
<Wire id="7" backingitemid="0,3" prefab="redwire">
<From name="signal_out" target="1" />
<To name="signal_in2" target="4" />
</Wire>
<Wire id="8" backingitemid="" prefab="redwire">
<From name="signal_in2" target="" />
<To name="signal_in2" target="5" />
</Wire>
<Wire id="9" backingitemid="0,4" prefab="redwire">
<From name="signal_out" target="6" />
<To name="signal_in1" target="5" />
</Wire>
<Wire id="10" backingitemid="" prefab="redwire">
<From name="signal_out" target="5" />
<To name="signal_out2" target="" />
</Wire>
<Wire id="11" backingitemid="0,5" prefab="redwire">
<From name="signal_out" target="5" />
<To name="signal_in1" target="7" />
</Wire>
<Wire id="12" backingitemid="0,6" prefab="redwire">
<From name="signal_out" target="8" />
<To name="signal_in2" target="7" />
</Wire>
<Wire id="13" backingitemid="0,7" prefab="redwire">
<From name="signal_out" target="7" />
<To name="signal_in1" target="9" />
</Wire>
<Wire id="14" backingitemid="0,8" prefab="redwire">
<From name="signal_out" target="4" />
<To name="signal_in2" target="9" />
</Wire>
<Wire id="15" backingitemid="0,9" prefab="redwire">
<From name="signal_out" target="9" />
<To name="signal_in1" target="10" />
</Wire>
<Wire id="16" backingitemid="" prefab="redwire">
<From name="signal_in2" target="" />
<To name="signal_in2" target="10" />
</Wire>
<Wire id="17" backingitemid="" prefab="redwire">
<From name="signal_out" target="10" />
<To name="signal_out1" target="" />
</Wire>
<Wire id="18" backingitemid="" prefab="redwire">
<From name="signal_in1" target="" />
<To name="signal_in1" target="11" />
</Wire>
<Wire id="19" backingitemid="0,10" prefab="redwire">
<From name="signal_out" target="11" />
<To name="signal_in1" target="2" />
</Wire>
<Wire id="20" backingitemid="0,11" prefab="redwire">
<From name="signal_out" target="11" />
<To name="signal_in1" target="3" />
</Wire>
<Wire id="21" backingitemid="1,0" prefab="bluewire">
<From name="signal_out" target="12" />
<To name="signal_in2" target="11" />
</Wire>
<Label id="0" color="#7E00E0" position="816,1299" size="972,383" header="Description" body="Fast overclockable automatic reactor controller. No need for user inputs." />
<Label id="1" color="#FF0000" position="-1042,-716" size="892,254" header="Overclock" body="Increase this value to overlock the reactor, or decrease to underclock. The number is the ratio, so 1.15 is 15% more power than normally required. This makes engines, pumps, etc work faster." />
<Label id="2" color="#7ED3E0" position="801,879" size="951,213" header="notes" body="Supposed to be more efficient than the fast 11c reactor. Design by Lammert. When you first turn the reactor on, crank the turbine rate up manually. That will prevent any fires." />
<Label id="3" color="#7ED3E0" position="799,586" size="947,219" header="Notes 2" body="This keeps the turbine output at near maximum constantly, then adjusts the heat so as to throttle the output voltage. Because the acceptable fission rate has a much narrower range, it ends up being a very fast controller." />
<Label id="4" color="#0082FF" position="1686,1299" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

View File

@@ -0,0 +1,70 @@
<Root>
<Item name="" identifier="circuitbox" ID="1013" markedfordeconstruction="false" flippedx="true" rect="208,-8,32,32" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.8" HiddenInGame="False" conditionpercentage="100">
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="5" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
</Holdable>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="signal_in1" />
<input name="signal_in2" />
<input name="signal_in3" />
<input name="signal_in4" />
<input name="signal_in5" />
<input name="signal_in6" />
<input name="signal_in7" />
<input name="signal_in8" />
<output name="signal_out1" />
<output name="signal_out2" />
<output name="signal_out3" />
<output name="signal_out4" />
<output name="signal_out5" />
<output name="signal_out6" />
<output name="signal_out7" />
<output name="signal_out8" />
</ConnectionPanel>
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1138,1139,1140,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," ExtraStackSize="0" />
<ItemContainer QuickUseMovesItemsInside="False" ContainableRestrictions="" AutoFill="True" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="" contained="1182;1183,,,,,,,,," ExtraStackSize="0" />
<CircuitBox Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgInteractSelect">
<requireditem items="idcard" type="Picked" characterinventoryslottype="None" optional="false" ignoreineditor="true" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" msg="UNAUTHORIZED ACCESS" />
<InputNode pos="-1075,16">
<ConnectionLabelOverride name="signal_in1" value="MOTION DETECTOR FOR MONSTERS" />
<ConnectionLabelOverride name="signal_in2" value="MOTION DETECTOR FOR HUMANS" />
</InputNode>
<OutputNode pos="1245,27">
<ConnectionLabelOverride name="signal_out1" value="TO DISCHARGE COIL TRIGGER" />
</OutputNode>
<Component id="0" position="-232,107" backingitemid="0,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>OscillatorComponent<<<STRINGEND>>> OutputType=<<<STRINGSTART>>>Pulse<<<STRINGEND>>> Frequency=<<<STRINGSTART>>>0.25<<<STRINGEND>>> item=<<<STRINGSTART>>>oscillator<<<STRINGEND>>> />
<Component id="1" position="550,-94" backingitemid="1,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Component id="2" position="-202,-127" backingitemid="2,0" usedresource="fpgacircuit" Class=<<<STRINGSTART>>>AndComponent<<<STRINGEND>>> TimeFrame=<<<STRINGSTART>>>0<<<STRINGEND>>> Output=<<<STRINGSTART>>>1<<<STRINGEND>>> FalseOutput=<<<STRINGSTART>>>0<<<STRINGEND>>> item=<<<STRINGSTART>>>andcomponent<<<STRINGEND>>> />
<Wire id="0" backingitemid="" prefab="redwire">
<From name="signal_in1" target="" />
<To name="signal_in1" target="2" />
</Wire>
<Wire id="1" backingitemid="" prefab="redwire">
<From name="signal_in2" target="" />
<To name="signal_in2" target="2" />
</Wire>
<Wire id="2" backingitemid="0,0" prefab="redwire">
<From name="signal_out" target="0" />
<To name="signal_in1" target="1" />
</Wire>
<Wire id="3" backingitemid="0,1" prefab="redwire">
<From name="signal_out" target="2" />
<To name="signal_in2" target="1" />
</Wire>
<Wire id="4" backingitemid="" prefab="redwire">
<From name="signal_out" target="1" />
<To name="signal_out1" target="" />
</Wire>
<Label id="0" color="#FF0000" position="-1775,-167" size="458,365" header="HUMAN DETECTOR" body="Range X 300&#xA;Range Y 40&#xA;Offset X 0&#xA;Offset Y 0&#xA;Output 0&#xA;False output 1" />
<Label id="1" color="#7ED3E0" position="-1779,288" size="453,346" header="Motion Axes" body="For X: right is positive, left is negative.&#xA;&#xA;For Y: up is positive, down is negative." />
<Label id="2" color="#FF0000" position="-2279,-162" size="478,361" header="Monster detector" body="Range X 300&#xA;Range Y 40&#xA;Offset X 0&#xA;Offset Y 0&#xA;Output 1&#xA;False output 0" />
<Label id="3" color="#7ED3E0" position="1866,28" size="510,372" header="HOW TO INSTALL WIRE" body="You have to swim outside the hull in order to attach the wire. You can wait till you dock then cut a hole with a plasma cutter. You can check the positioning by looking carefully at the tab map." />
<Label id="4" color="#7E00E0" position="1178,-627" size="575,405" header="Description" body="A self disarming discharge coil controller." />
<Label id="5" color="#FFFF00" position="-233,428" size="723,331" header="SPEED OF DISCHARGE" body="Set oscillator output higher for faster discharges, lower for slower. Should probably be somewhere between 0.2 and 1.&#xA;&#xA;0.25 is 1 discharge every 4 seconds." />
<Label id="6" color="#0082FF" position="2505,28" size="512,256" header="Blueprints" body="Circuit made with Blueprints. &#xA; &#xA; Get it now on the steam workshop!" />
<Label id="7" color="#FF0000" position="1877,-554" size="705,258" header="Visualize Motion Detector Range" body="The mod &quot;Visualize Motion Detector Range&quot; makes this way easier to install. &#xA;&#xA;Get it on the steam workshop!" />
</CircuitBox>
<itemstats />
</Item>
</Root>

BIN
LocalMods/ExtinguisherComponent/ExtinguisherComponent.Png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 KiB

View File

@@ -0,0 +1,306 @@
<?xml version="1.0" encoding="utf-8"?>
<Items>
<Item name="Extinguisher Component" identifier="ExtinguisherComponent" category="Equipment" Tags="smallitem,tool,signal" cargocontaineridentifier="metalcrate" requireaimtouse="true" characterusable="false" Scale="0.65" impactsoundtag="impact_metal_light" maxstacksize="2">
<PreferredContainer primary="engcab" />
<PreferredContainer primary="wreckstoragecab,abandonedstoragecab,piratestoragecab" amount="1" spawnprobability="0.0125" />
<PreferredContainer primary="outpostcrewcabinet" amount="1" spawnprobability="0.025" />
<Deconstruct time="10">
<Item identifier="Copper" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="20">
<Item identifier="Copper" amount="2" />
</Fabricate>
<Price baseprice="44">
<Price storeidentifier="merchantoutpost" minavailable="2" />
<Price storeidentifier="merchantcity" minavailable="3" />
<Price storeidentifier="merchantresearch" multiplier="1.25" minavailable="1" />
<Price storeidentifier="merchantmilitary" multiplier="1.25" minavailable="1" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="4" />
<Price storeidentifier="merchantengineering" minavailable="2" multiplier="0.9" />
</Price>
<Sprite texture="%ModDir%/ExtinguisherComponent.Png" sourcerect="0,0,92,52" depth="0.55" canflipx="true" origin="0.5,0.5" />
<Body width="92" height="52" density="50" />
<Holdable selectkey="Select" pickkey="Use" slots="Any,RightHand+LeftHand" msg="ItemMsgDetachWrench" PickingTime="10.0" aimpos="65,-10" handle1="0,0" attachable="true" aimable="false">
<RequiredItem identifier="wrench" type="Equipped" />
</Holdable>
<RepairTool wateramount="0.0" extinguishamount="50.0" range="600" barrelpos="0,-26" barrelrotation="270" spread="30" unskilledspread="0" targetstructures="false" hititems="false" characterusable="false" requireaimtouse="false" usablein="air">
<ParticleEmitter particle="extinguisher" velocitymin="1000.0" velocitymax="1650.0" particlespersecond="60" anglemin="-10" anglemax="10" />
<sound file="Content/Items/Tools/Extinguisher.ogg" type="OnUse" range="500.0" loop="true" />
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
</RepairTool>
<RepairTool wateramount="0.0" extinguishamount="50.0" range="600" barrelpos="-31,-24" barrelrotation="230" spread="30" unskilledspread="0" targetstructures="false" hititems="false" characterusable="false" requireaimtouse="false" usablein="air">
<ParticleEmitter particle="extinguisher" velocitymin="1000.0" velocitymax="1650.0" particlespersecond="60" anglemin="-10" anglemax="10" />
<sound file="Content/Items/Tools/Extinguisher.ogg" type="OnUse" range="500.0" loop="true" />
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
</RepairTool>
<RepairTool wateramount="0.0" extinguishamount="50.0" range="600" barrelpos="31,-24" barrelrotation="310" spread="30" unskilledspread="0" targetstructures="false" hititems="false" characterusable="false" requireaimtouse="false" usablein="air">
<ParticleEmitter particle="extinguisher" velocitymin="1000.0" velocitymax="1650.0" particlespersecond="60" anglemin="-10" anglemax="10" />
<sound file="Content/Items/Tools/Extinguisher.ogg" type="OnUse" range="500.0" loop="true" />
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
</RepairTool>
<LightComponent lightcolor="0,0,0,0" range="0.1" powerconsumption="1" IsOn="true" castshadows="false" allowingameediting="false">
<StatusEffect type="OnActive" target="This">
<RequiredItems items="extinguisher" type="Contained" />
<UseItem />
</StatusEffect>
<StatusEffect type="OnActive" target="Contained" condition="-6">
<RequiredItems items="extinguisher" type="Contained" />
</StatusEffect>
</LightComponent>
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" />
<input name="power" displayname="connection.power" />
<input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" />
</ConnectionPanel>
<ItemContainer hideitems="false" containedspritedepth="0.56" drawinventory="true" capacity="1" AutoInteractWithContained="false" itempos="22.5,-16" itemrotation="270" canbeselected="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.2,0.25" anchor="Center" minsize="140,170" maxsize="280,280" style="ItemUI" />
<Containable items="extinguisher" />
</ItemContainer>
</Item>
<Item name="Flamer Component" identifier="FlamerComponent" category="Equipment" Tags="smallitem,tool,signal" cargocontaineridentifier="metalcrate" fireproof="true" requireaimtouse="true" characterusable="false" Scale="0.45" impactsoundtag="impact_metal_light" maxstacksize="2">
<PreferredContainer primary="engcab" />
<PreferredContainer primary="wreckstoragecab,abandonedstoragecab,piratestoragecab" amount="1" spawnprobability="0.0125" />
<PreferredContainer primary="outpostcrewcabinet" amount="1" spawnprobability="0.025" />
<Deconstruct time="10">
<Item identifier="Copper" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="20">
<Item identifier="Copper" amount="2" />
</Fabricate>
<Price baseprice="44">
<Price storeidentifier="merchantoutpost" minavailable="2" />
<Price storeidentifier="merchantcity" minavailable="3" />
<Price storeidentifier="merchantresearch" multiplier="1.25" minavailable="1" />
<Price storeidentifier="merchantmilitary" multiplier="1.25" minavailable="1" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="4" />
<Price storeidentifier="merchantengineering" minavailable="2" multiplier="0.9" />
</Price>
<Sprite texture="%ModDir%/FlamerComponent.Png" sourcerect="0,0,92,52" depth="0.55" canflipx="true" origin="0.5,0.5" />
<Body width="92" height="52" density="50" />
<Holdable selectkey="Select" pickkey="Use" slots="Any,RightHand+LeftHand" msg="ItemMsgDetachWrench" PickingTime="10.0" aimpos="65,-10" handle1="0,0" attachable="true" aimable="false">
<RequiredItem identifier="wrench" type="Equipped" />
</Holdable>
<RepairTool firedamage="25.0" structurefixamount="0.0" usablein="Air" range="600" barrelpos="0,-26" barrelrotation="270" fireprobability="0.1" repairmultiple="true" RepairMultipleWalls="false" repairthroughwalls="false" repairthroughholes="true" combatpriority="50" spread="25" unskilledspread="25">
<!-- the item must contain a welding fuel tank for it to work -->
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
<ParticleEmitter particle="flamethrower" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="1000" velocitymax="1500" highqualitycollisiondetection="true" />
<ParticleEmitter particle="flamethrowersmoke" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="500" velocitymax="1000" />
<sound file="Content/Items/Weapons/FlameThrowerLoop.ogg" type="OnUse" range="750.0" loop="true" />
<StatusEffect type="OnFailure" target="This">
<ParticleEmitter particle="bubbles" particlespersecond="20" anglemin="-10" anglemax="10" scalemin="0.3" scalemax="0.7" velocitymin="5" velocitymax="100" copyentityangle="true" />
<ParticleEmitter particle="fleshsmoke" particlespersecond="10" anglemin="-10" anglemax="10" scalemin="1" scalemax="1.5" velocitymin="5" velocitymax="200" copyentityangle="true" />
</StatusEffect>
<StatusEffect type="OnSuccess" targettype="UseTarget" targets="item" Condition="-15.0">
<Conditional HasTag="neq weldable" />
</StatusEffect>
<!-- make the item unusable when there's less than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="None">
<Conditional OxygenPercentage="lt 10" />
</StatusEffect>
<!-- make the item usable again when there's more than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="Air">
<Conditional OxygenPercentage="gt 10" />
</StatusEffect>
<!-- when using, the contained welding fuel tank will detoriate (= lose fuel) -->
<StatusEffect type="OnUse" targettype="Contained" targets="weldingfueltank" Condition="-25.0" />
<StatusEffect type="OnUse" targettype="Contained" targets="incendiumfueltank" Condition="-10.0" />
<!-- do burn damage to characters -->
<StatusEffect type="OnUse" target="UseTarget">
<Conditional InWater="false" />
<Affliction identifier="burn" amount="1.25" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
</StatusEffect>
<StatusEffect type="OnUse" target="UseTarget">
<RequiredItem items="incendiumfueltank" type="Contained" />
<Conditional InWater="false" />
<Affliction identifier="burn" amount="2.5" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
<Affliction identifier="stun" strength="1" probability="0.1" />
</StatusEffect>
<StatusEffect type="OnUse" target="This" firedamage="40.0" fireprobability="0.35" setvalue="true">
<RequiredItem items="incendiumfueltank" type="Contained" />
</StatusEffect>
<!-- explode if oxygen tanks are inserted -->
<StatusEffect type="OnUse" targettype="Contained" targets="oxygentank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="3" applyfireeffects="false">
<Affliction identifier="burn" strength="25" />
<Affliction identifier="stun" strength="5" />
</Explosion>
</StatusEffect>
<StatusEffect type="OnUse" targettype="Contained" targets="oxygenitetank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="6" applyfireeffects="false">
<Affliction identifier="burn" strength="50" />
<Affliction identifier="stun" strength="10" />
</Explosion>
</StatusEffect>
<!-- consume oxygen from the hull -->
<StatusEffect type="OnUse" target="Hull" Oxygen="-10000" />
</RepairTool>
<RepairTool firedamage="25.0" structurefixamount="0.0" usablein="Air" range="600" barrelpos="-31,-24" barrelrotation="230" fireprobability="0.1" repairmultiple="true" RepairMultipleWalls="false" repairthroughwalls="false" repairthroughholes="true" combatpriority="50" spread="25" unskilledspread="25">
<!-- the item must contain a welding fuel tank for it to work -->
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
<ParticleEmitter particle="flamethrower" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="1000" velocitymax="1500" highqualitycollisiondetection="true" />
<ParticleEmitter particle="flamethrowersmoke" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="500" velocitymax="1000" />
<sound file="Content/Items/Weapons/FlameThrowerLoop.ogg" type="OnUse" range="750.0" loop="true" />
<StatusEffect type="OnFailure" target="This">
<ParticleEmitter particle="bubbles" particlespersecond="20" anglemin="-10" anglemax="10" scalemin="0.3" scalemax="0.7" velocitymin="5" velocitymax="100" copyentityangle="true" />
<ParticleEmitter particle="fleshsmoke" particlespersecond="10" anglemin="-10" anglemax="10" scalemin="1" scalemax="1.5" velocitymin="5" velocitymax="200" copyentityangle="true" />
</StatusEffect>
<StatusEffect type="OnSuccess" targettype="UseTarget" targets="item" Condition="-15.0">
<Conditional HasTag="neq weldable" />
</StatusEffect>
<!-- make the item unusable when there's less than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="None">
<Conditional OxygenPercentage="lt 10" />
</StatusEffect>
<!-- make the item usable again when there's more than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="Air">
<Conditional OxygenPercentage="gt 10" />
</StatusEffect>
<!-- when using, the contained welding fuel tank will detoriate (= lose fuel) -->
<StatusEffect type="OnUse" targettype="Contained" targets="weldingfueltank" Condition="-25.0" />
<StatusEffect type="OnUse" targettype="Contained" targets="incendiumfueltank" Condition="-10.0" />
<!-- do burn damage to characters -->
<StatusEffect type="OnUse" target="UseTarget">
<Conditional InWater="false" />
<Affliction identifier="burn" amount="1.25" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
</StatusEffect>
<StatusEffect type="OnUse" target="UseTarget">
<RequiredItem items="incendiumfueltank" type="Contained" />
<Conditional InWater="false" />
<Affliction identifier="burn" amount="2.5" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
<Affliction identifier="stun" strength="1" probability="0.1" />
</StatusEffect>
<StatusEffect type="OnUse" target="This" firedamage="40.0" fireprobability="0.35" setvalue="true">
<RequiredItem items="incendiumfueltank" type="Contained" />
</StatusEffect>
<!-- explode if oxygen tanks are inserted -->
<StatusEffect type="OnUse" targettype="Contained" targets="oxygentank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="3" applyfireeffects="false">
<Affliction identifier="burn" strength="25" />
<Affliction identifier="stun" strength="5" />
</Explosion>
</StatusEffect>
<StatusEffect type="OnUse" targettype="Contained" targets="oxygenitetank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="6" applyfireeffects="false">
<Affliction identifier="burn" strength="50" />
<Affliction identifier="stun" strength="10" />
</Explosion>
</StatusEffect>
<!-- consume oxygen from the hull -->
<StatusEffect type="OnUse" target="Hull" Oxygen="-10000" />
</RepairTool>
<RepairTool firedamage="25.0" structurefixamount="0.0" usablein="Air" range="600" barrelpos="31,-24" barrelrotation="310" fireprobability="0.1" repairmultiple="true" RepairMultipleWalls="false" repairthroughwalls="false" repairthroughholes="true" combatpriority="50" spread="25" unskilledspread="25">
<!-- the item must contain a welding fuel tank for it to work -->
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
<ParticleEmitter particle="flamethrower" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="1000" velocitymax="1500" highqualitycollisiondetection="true" />
<ParticleEmitter particle="flamethrowersmoke" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="500" velocitymax="1000" />
<sound file="Content/Items/Weapons/FlameThrowerLoop.ogg" type="OnUse" range="750.0" loop="true" />
<StatusEffect type="OnFailure" target="This">
<ParticleEmitter particle="bubbles" particlespersecond="20" anglemin="-10" anglemax="10" scalemin="0.3" scalemax="0.7" velocitymin="5" velocitymax="100" copyentityangle="true" />
<ParticleEmitter particle="fleshsmoke" particlespersecond="10" anglemin="-10" anglemax="10" scalemin="1" scalemax="1.5" velocitymin="5" velocitymax="200" copyentityangle="true" />
</StatusEffect>
<StatusEffect type="OnSuccess" targettype="UseTarget" targets="item" Condition="-15.0">
<Conditional HasTag="neq weldable" />
</StatusEffect>
<!-- make the item unusable when there's less than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="None">
<Conditional OxygenPercentage="lt 10" />
</StatusEffect>
<!-- make the item usable again when there's more than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="Air">
<Conditional OxygenPercentage="gt 10" />
</StatusEffect>
<!-- when using, the contained welding fuel tank will detoriate (= lose fuel) -->
<StatusEffect type="OnUse" targettype="Contained" targets="weldingfueltank" Condition="-25.0" />
<StatusEffect type="OnUse" targettype="Contained" targets="incendiumfueltank" Condition="-10.0" />
<!-- do burn damage to characters -->
<StatusEffect type="OnUse" target="UseTarget">
<Conditional InWater="false" />
<Affliction identifier="burn" amount="1.25" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
</StatusEffect>
<StatusEffect type="OnUse" target="UseTarget">
<RequiredItem items="incendiumfueltank" type="Contained" />
<Conditional InWater="false" />
<Affliction identifier="burn" amount="2.5" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
<Affliction identifier="stun" strength="1" probability="0.1" />
</StatusEffect>
<StatusEffect type="OnUse" target="This" firedamage="40.0" fireprobability="0.35" setvalue="true">
<RequiredItem items="incendiumfueltank" type="Contained" />
</StatusEffect>
<!-- explode if oxygen tanks are inserted -->
<StatusEffect type="OnUse" targettype="Contained" targets="oxygentank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="3" applyfireeffects="false">
<Affliction identifier="burn" strength="25" />
<Affliction identifier="stun" strength="5" />
</Explosion>
</StatusEffect>
<StatusEffect type="OnUse" targettype="Contained" targets="oxygenitetank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="6" applyfireeffects="false">
<Affliction identifier="burn" strength="50" />
<Affliction identifier="stun" strength="10" />
</Explosion>
</StatusEffect>
<!-- consume oxygen from the hull -->
<StatusEffect type="OnUse" target="Hull" Oxygen="-10000" />
</RepairTool>
<LightComponent lightcolor="0,0,0,0" range="0.1" powerconsumption="1" IsOn="true" castshadows="false" allowingameediting="false">
<StatusEffect type="OnActive" target="This">
<RequiredItem items="weldingfueltank" type="Contained" />
<UseItem />
</StatusEffect>
<StatusEffect type="OnActive" target="This">
<RequiredItem items="incendiumfueltank" type="Contained" />
<UseItem />
</StatusEffect>
<StatusEffect type="OnActive" target="Contained" targets="weldingfueltank" Condition="-25.0">
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnActive" target="Contained" targets="incendiumfueltank" Condition="-10.0">
<RequiredItem items="incendiumfueltank" type="Contained" />
</StatusEffect>
</LightComponent>
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" />
<input name="power" displayname="connection.power" />
<input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" />
</ConnectionPanel>
<ItemContainer hideitems="false" containedspritedepth="0.56" drawinventory="true" capacity="1" AutoInteractWithContained="false" itempos="22.5,-16" itemrotation="270" canbeselected="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.2,0.25" anchor="Center" minsize="140,170" maxsize="280,280" style="ItemUI" />
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="64,448,64,64" origin="0.5,0.5" />
<Containable items="weldingtoolfuel,oxygensource" />
</ItemContainer>
</Item>
</Items>

BIN
LocalMods/ExtinguisherComponent/FlamerComponent.Png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="ExtinguisherComponent" modversion="1.0.1" corepackage="False" steamworkshopid="3389755246" gameversion="1.7.7.0" expectedhash="A18E147B0228CB082A43503485D12761">
<Item file="%ModDir%/ExtinguisherComponent.xml" />
</contentpackage>

6
LocalMods/info.txt Normal file
View File

@@ -0,0 +1,6 @@

This folder is the place where your own mods go.
Mods installed via the Workshop go elsewhere; if
you've published a mod and you don't have a copy
in this folder, go into the Publish tab and the
game should be able to create a copy for you.

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<FastForward>
<Key>Q</Key>
<ToggleKey>None</ToggleKey>
<Speed>5</Speed>
</FastForward>

View File

@@ -1 +1 @@
clear; modify -cook '**.yml'
clear; modify -cook '**.yml' && sh lint.sh

View File

@@ -269,19 +269,19 @@
- name: commendations
regex: <Talent identifier="commendations">!anyvalue="(?<xpgaingain>!num)"
lua: |
xpgaingain=round(xpgaingain*32,2)
xpgaingain=round(xpgaingain*64,2)
files:
- '**/TalentsCaptain.xml'
- name: coalitionmedal
regex: <Item!anyidentifier="coalitionmedal"!anyGiveExperience amount="(?<xpgain>!num)"
lua: |
xpgain=round(xpgain*32,2)
xpgain=round(xpgain*64,2)
files:
- '**/captain_talent_items.xml'
- name: coalitioncommendation
regex: <Item!anyidentifier="coalitioncommendation"!anyGiveExperience amount="(?<xpgain>!num)"
lua: |
xpgain=round(xpgain*32,2)
xpgain=round(xpgain*64,2)
files:
- '**/captain_talent_items.xml'

View File

@@ -74,7 +74,7 @@
- name: oiledmachinery
regex: <Talent identifier="oiledmachinery">!anyvalue="(?<fabricationspeed>!num)"!anyFabricationSpeed" value="(?<fabricationspeedv>!num)"!anyDeconstructorSpeed" value="(?<deconstructorspeedv>!num)"
lua: |
fabricationspeed=round(fabricationspeed*4, 2)
fabricationspeed=round(fabricationspeed*16, 2)
fabricationspeedv=round(fabricationspeed/100, 2)
deconstructorspeedv=round(fabricationspeed/100, 2)
files:

View File

@@ -1,25 +1,33 @@
- name: containers
regex: '(?-s)capacity="(?<capacity>!num)"(?:!anyslotsperrow="(?<slotsperrow>!num))?'
lua: |
if file:find("fabricators.xml") then return false end
if capacity == 1 then return false end
capacity=round(capacity*2.2)
-- file:find("fabricators.xml") then
-- apacity=round(capacity*1.5)
-- eturn true
--
capacity=round(capacity*3)
if capacity > 50 then capacity=50 end
if not slotsperrow then return true end
slotsperrow=1
while slotsperrow * slotsperrow < capacity do
slotsperrow = slotsperrow + 1
end
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: containerscontainable
regex: (?-s)Containable!anyitems="([^"]+)"
# Just to be safe... Probably not needed though...
isolate: true
regex: capacity="(?<capacity>!num).{0,200}?Containable.{0,50}?items="([^"]+)"
lua: |
-- If we fuck with the diving gear the game fucking explodes
-- Thinking we don't have oxygen tanks and killing us
if file:find("divinggear.xml") then
return false
end
if file:find("divinggear.xml") then return false end
if file:find("weapons.xml") then return false end
if capacity == 1 then return false end
print(s1)
local gurantee = {"ammobox", "deepdiving", "smallitem", "mediumitem", "largeitem"}
local has = {}
@@ -38,14 +46,14 @@
end
end
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: excludeditems
regex: <Containable!any(\s?excludeditems="[^"]+")
lua: |
s1 = ""
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: upgrade
regex: (?:maxforce|capacity|maxrechargespeed|overloadvoltage|healthmultiplier|maxhealth|fabricationspeed|deconstructionspeed|rotationspeedlowskill|offsetonselectedmultiplier|range|maxpoweroutput|meltdowndelay|maxflow|fixdurationlowskill|skillrequirementmultiplier)="\+?!num%?"
@@ -70,155 +78,57 @@
- name: maxstacksize
regex: 'maxstacksize="!num'
lua: |
*8
=60
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: maxstacksizecharacterinventory
regex: 'maxstacksizecharacterinventory="!num'
lua: |
*8
=60
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: lightrange
regex: '(?-s)LightComponent!anyrange="(!num)"'
lua: |
*4
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: toolrange
regex: (?-s)RepairTool!anyrange="!num"
lua: |
*4
files:
- "**/*.xml"
- name: talentnoblocks
isolate: true
regex: (\s?blocks="[^"]+")
lua: |
s1 = ""
files:
- "**/TalentTrees.xml"
- name: maxchosentalents
isolate: true
regex: (<TalentOptions!any</TalentOptions>)
lua: |
local talentOptions = 0
local lines = strsplit(s1, "\n")
for i, line in pairs(lines) do
if string.find(line, "<TalentOption ") then
talentOptions = talentOptions + 1
end
end
if lines[1]:find("maxchosentalents") then
--print("maxchosentalents found, updating")
local optionsElement = lines[1]
optionsElement = optionsElement:gsub("maxchosentalents=\"%d+\"", "maxchosentalents=\"" .. talentOptions .. "\"")
replacement = s1:gsub(lines[1], optionsElement)
return false
end
print("maxchosentalents not found, creating")
local optionsElement = lines[1]
local optionsElement = optionsElement:gsub("<TalentOptions", "<TalentOptions maxchosentalents=\"" .. talentOptions .. "\"")
replacement = s1:gsub(lines[1], optionsElement)
files:
- "**/TalentTrees.xml"
- name: norequiredtalents
isolate: true
regex: (?-s)(<TalentOptions )(?:!anyrequiredtalents="(?<requiredtalents>!num)")?
lua: |
if requiredtalents then
requiredtalents = 1
else
print("requiredtalents not found, creating")
replacement = s1 .. "requiredtalents=\"1\" "
end
files:
- "**/TalentTrees.xml"
- name: alltalents
isolate: true
regex: <TalentTrees>(!any)</TalentTrees>
lua: |
-- group by job
local subtrees = {}
local lines = strsplit(s1, "\n")
local cookedlines = {}
local isInSubtree = false
local currentjob = nil
for i, line in pairs(lines) do
if line:match("<TalentTree jobidentifier=\"(%w+)\"") then
currentjob = line:match("<TalentTree jobidentifier=\"(%w+)\"")
subtrees[currentjob] = subtrees[currentjob] or {}
end
if line:find("<SubTree") then
isInSubtree = true
end
if line:find("</SubTree") then
isInSubtree = false
subtrees[currentjob][#subtrees[currentjob] + 1] = line
end
if isInSubtree then
subtrees[currentjob][#subtrees[currentjob] + 1] = line
else
if not line:find("SubTree") then
cookedlines[#cookedlines + 1] = line
end
end
end
currentjob = nil
local alltalents = {}
for i, line in pairs(cookedlines) do
alltalents[#alltalents + 1] = line
if line:match("<TalentTree jobidentifier=\"(%w+)\"") then
currentjob = line:match("<TalentTree jobidentifier=\"(%w+)\"")
if currentjob then
for job, subtree in pairs(subtrees) do
alltalents[#alltalents + 1] = table.concat(subtree, "\n")
end
end
end
end
s1 = table.concat(alltalents, "\n")
files:
- "Content/**/TalentTrees.xml"
- "Content/Items/**/*.xml"
- name: merchantstock
regex: (?-s)<Price(?:!anymultiplier="(?<multiplier>!num)")?(?:!anyminavailable="(?<minavailable>!num)")?
lua: |
if multiplier then
multiplier = round(multiplier * 3, 2)
end
--Price might actually be price multiplier and not a stock multiplier...
--if multiplier then
-- multiplier = round(multiplier * 3, 2)
--end
if minavailable then
minavailable = round(minavailable * 3, 2)
end
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: repairthroughwalls
regex: <RepairTool!anyrepairthroughwalls="(?<repairthroughwalls>!any)"
lua: |
repairthroughwalls = "true"
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: itembonanzaamount
regex: (?-s)(?i)<Preferredcontainer!anyamount="!num"
lua: |
v1 = round(v1 * 2, 2)
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: itembonanzaspawnprobability
regex: (?-s)(?i)<Preferredcontainer!anyspawnprobability="!num"
lua: |
@@ -227,16 +137,57 @@
v1 = 1
end
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: itembonanzaminamount
regex: (?-s)(?i)<Preferredcontainer!anyminamount="!num"
lua: |
v1 = round(v1 * 2, 2)
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: itembonanzamaxamount
regex: (?-s)(?i)<Preferredcontainer!anymaxamount="!num"
lua: |
v1 = round(v1 * 2, 2)
files:
- "**/*.xml"
- "Content/Items/**/*.xml"
- name: morebetterquality
regex: (?-s)QualityStat!anyvalue="!num"
lua: |
round(v1 * 3, 2)
files:
- "Content/Items/**/*.xml"
- name: extinguishamount
regex: (?-s)(?i)<RepairTool!anyextinguishamount="!num"
lua: |
round(v1 * 4, 2)
files:
- "Content/Items/**/tools.xml"
- name: morelongerextinguisher
regex: <RepairTool.{0,100}?extinguishamount="[^"]+".{0,400}?StatusEffect.{0,60}?Condition="!num"
lua: |
v1 = round(v1 / 8, 2)
files:
- "Content/Items/**/tools.xml"
- name: propulsionforce
regex: (?-s)<Propulsion!anyforce="!num"
lua: |
round(v1 * 3, 2)
files:
- "Content/Items/**/*.xml"
- name: morewires
nodedup: true
regex: (?-s)<output!any(maxwires="(?<maxwires>!num)"|/>)
lua: |
print(maxwires, v1, s1)
if maxwires then
maxwires = round(maxwires * 4, 2)
else
s1 = " maxwires=\"10\" />"
end
files:
- "Content/Items/**/*.xml"

98
cooktalents.yml Normal file
View File

@@ -0,0 +1,98 @@
- name: talentnoblocks
isolate: true
regex: (\s?blocks="[^"]+")
lua: |
s1 = ""
files:
- "Content/**/TalentTrees.xml"
- name: maxchosentalents
isolate: true
regex: (<TalentOptions!any</TalentOptions>)
lua: |
local talentOptions = 0
local lines = strsplit(s1, "\n")
for i, line in pairs(lines) do
if string.find(line, "<TalentOption ") then
talentOptions = talentOptions + 1
end
end
if lines[1]:find("maxchosentalents") then
--print("maxchosentalents found, updating")
local optionsElement = lines[1]
optionsElement = optionsElement:gsub("maxchosentalents=\"%d+\"", "maxchosentalents=\"" .. talentOptions .. "\"")
replacement = s1:gsub(lines[1], optionsElement)
return false
end
print("maxchosentalents not found, creating")
local optionsElement = lines[1]
local optionsElement = optionsElement:gsub("<TalentOptions", "<TalentOptions maxchosentalents=\"" .. talentOptions .. "\"")
replacement = s1:gsub(lines[1], optionsElement)
files:
- "Content/**/TalentTrees.xml"
- name: norequiredtalents
isolate: true
regex: (?-s)(<TalentOptions )(?:!anyrequiredtalents="(?<requiredtalents>!num)")?
lua: |
if requiredtalents then
requiredtalents = 1
else
print("requiredtalents not found, creating")
replacement = s1 .. "requiredtalents=\"1\" "
end
files:
- "Content/**/TalentTrees.xml"
- name: alltalents
isolate: true
regex: <TalentTrees>(!any)</TalentTrees>
lua: |
-- group by job
local subtrees = {}
local lines = strsplit(s1, "\n")
local cookedlines = {}
local isInSubtree = false
local currentjob = nil
for i, line in pairs(lines) do
if line:match("<TalentTree jobidentifier=\"(%w+)\"") then
currentjob = line:match("<TalentTree jobidentifier=\"(%w+)\"")
subtrees[currentjob] = subtrees[currentjob] or {}
end
if line:find("<SubTree") then
isInSubtree = true
end
if line:find("</SubTree") then
isInSubtree = false
subtrees[currentjob][#subtrees[currentjob] + 1] = line
end
if isInSubtree then
subtrees[currentjob][#subtrees[currentjob] + 1] = line
else
if not line:find("SubTree") then
cookedlines[#cookedlines + 1] = line
end
end
end
currentjob = nil
local alltalents = {}
for i, line in pairs(cookedlines) do
alltalents[#alltalents + 1] = line
if line:match("<TalentTree jobidentifier=\"(%w+)\"") then
currentjob = line:match("<TalentTree jobidentifier=\"(%w+)\"")
if currentjob then
for job, subtree in pairs(subtrees) do
alltalents[#alltalents + 1] = table.concat(subtree, "\n")
end
end
end
end
s1 = table.concat(alltalents, "\n")
files:
- "Content/**/TalentTrees.xml"

1
lint.sh Normal file
View File

@@ -0,0 +1 @@
find Content -type f -name '*.xml' | xargs xmllint --noout

View File

@@ -1,6 +1,15 @@
- source: Content
target: ~/scoop/apps/steam/current/steamapps/common/Barotrauma/Content
delete: true
- source: LocalMods
target: ~/scoop/apps/steam/current/steamapps/common/Barotrauma/LocalMods
delete: true
- source: ModSettings
target: ~/scoop/apps/steam/current/steamapps/common/Barotrauma/ModSettings
delete: true
- source: Data
target: ~/scoop/apps/steam/current/steamapps/common/Barotrauma/Data
delete: true
- source: Daedalic Entertainment GmbH
target: ~/AppData/Local/Daedalic Entertainment GmbH
delete: true