1
0
mirror of https://github.com/metrostroi-repo/MetrostroiAddon.git synced 2026-05-04 00:52:33 +00:00

release branch init

This commit is contained in:
g_brzhezinskiy
2021-01-02 15:32:05 +03:00
parent 1d05caf866
commit 09566ce158
398 changed files with 8389 additions and 77275 deletions

View File

@@ -7,7 +7,6 @@
Metrostroi.DefineSystem("81_703_Electric")
TRAIN_SYSTEM.E = 1
TRAIN_SYSTEM.Ezh = 2
TRAIN_SYSTEM.Em = 3
function TRAIN_SYSTEM:Initialize(typ1,typ2)
self.RRI = 0
-- Load all functions from base
@@ -52,7 +51,6 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
local isE = elType == 1
local isEzh = elType == 2
local isEm = elType == 3
local BO = min(1,B * Train.VB.Value+T[10])--B * Train.VB.Value
local KV = Train.KV
@@ -60,7 +58,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
local Panel = Train.Panel
local ARS = Train.ALS_ARS
local RC
if isEzh then RC = Train.RC1.Value end
if not isE then RC = Train.RC1.Value end
Panel.V1 = BO
@@ -74,10 +72,8 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
S["U2"] = S["10AK"]*KV["U2-10AK"]
end
if isEzh then
if not isE then
Train:WriteTrainWire(14,(BO*KRU["14/1-B3"]+T[5]*Train.KRR.Value)*(Train.ROT2.Value+Train.KAH.Value)*(Train.UOS.Value+Train.SOT.Value)*Train.KU14.Value)
elseif isEm then
Train:WriteTrainWire(14,(BO*KRU["14/1-B3"]+T[5]*Train.KRR.Value)*Train.KU14.Value)
end
Panel.RRP = S["U2"]*T[18]
if isEzh then
@@ -99,27 +95,6 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
--Train:WriteTrainWire(-13,ASNP_VV.AmplifierPower*Train.PowerSupply.X2_2)
--ASNP_VV.CabinSpeakerPower = ASNP_VV.Power*Train.ASNP.LineOut*Train.R_G.Value
end
elseif isEm then
Train:WriteTrainWire(4,S["10AK"]*KV["U2-4"])
Train:WriteTrainWire(5,S["10AK"]*KV["U2-5"]+KRU["5/3-ZM31"]*-10*(1-Train.KRR.Value)+BO*KRU["14/1-B3"]*Train.KRR.Value)
--Panel.Sequence = T[2]
Panel.UKS = BO*Train.UKS.UKSEngaged
Panel.UKSb = BO*Train.UKS.UKSTriggered
if self.RRI> 0 then
local RRI_VV = Train.RRI_VV
RRI_VV.Power = BO*Train["50V"].Value*Train.RRIEnable.Value
RRI_VV.AmplifierPower = BO*Train.RRIAmplifier.Value
Train:WriteTrainWire(13,RRI_VV.AmplifierPower*Train.RRI.LineOut)
--RRI_VV.CabinSpeakerPower = T[13]
else
local ASNP_VV = Train.ASNP_VV
ASNP_VV.Power = BO*Train["50V"].Value*Train.R_ASNPOn.Value
ASNP_VV.AmplifierPower = ASNP_VV.Power*Train.ASNP.LineOut
Train:WriteTrainWire(13,ASNP_VV.AmplifierPower)
Panel.CBKIPower = T[10]*Train["50V"].Value
--Train:WriteTrainWire(-13,ASNP_VV.AmplifierPower*Train.PowerSupply.X2_2)
--ASNP_VV.CabinSpeakerPower = ASNP_VV.Power*Train.ASNP.LineOut*Train.R_G.Value
end
else
local RRI_VV = Train.RRI_VV
RRI_VV.Power = BO*Train.RRIEnable.Value
@@ -144,7 +119,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
Train:WriteTrainWire(17,S["10AK"]*Train.KU9.Value)
Train:WriteTrainWire(8,BO*KV["10-8"])
elseif isEzh then
else
S["10a"] = BO*KV["10a-8"]
ARS.ALS = S["10a"]*Train.ALS.Value*RC
ARS.GE = S["10a"]*Train.ARS.Value*RC
@@ -184,23 +159,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
Train:WriteTrainWire(8,BO*(KV["10-8"]+KV["10a-8"]*(1-Train.KAH.Value)*(1-Train.RPB.Value))+ARS["8"]*RC)
Train.RO:TriggerInput("Set",ARS["48"])
Train:WriteTrainWire(44,BO*Train.RO.Value*RC)
else
S["10a"] = BO*KV["10a-8"]
Train:WriteTrainWire(1,S["10AK"]*Train.R1_5.Value+KRU["1/3-ZM31"]*-10)
Train:WriteTrainWire(2,S["U2"]*KV["U2-2"]+KRU["2/3-ZM31"]*-10)
Train:WriteTrainWire(3,S["U2"]*KV["U2-3"]+KRU["3/3-ZM31"]*-10)
--Train:WriteTrainWire(25,S["U2"]*KV["25-6"]*(ARS["25"]*RC+(1-RC)))
Train:WriteTrainWire(25,S["U2"]*KV["25-6"])
Train:WriteTrainWire(20,S["U2"]*KV["U2-20"]+KRU["20/3-ZM31"]*-10)
Train:WriteTrainWire(6,S["10AK"]*Train.RVT.Value)
Train.RVT:TriggerInput("Set",S["10AK"]*KV["U2-6"])
Train.RV2:TriggerInput("Set",S["10AK"]*KV["33-10AK"]*(Train.AVU.Value+Train.OtklAVU.Value)*Train.UAVAC.Value*(1-Train.UKS.UKSTriggered))
Train.R1_5:TriggerInput("Set",S["10AK"]*Train.RV2.Value)
Train:WriteTrainWire(17,S["10AK"]*Train.KU9.Value)
Train:WriteTrainWire(8,BO*KV["10-8"])
Train:WriteTrainWire(44,S["10AK"]*Train.UV1.Value)
--KV["10a-8"]
end
@@ -232,14 +191,8 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
Train.PneumaticNo2:TriggerInput("Set",T[8]*(1-Train.RV3.Value)*(1-Train.LK4.Value))
Train.RS:TriggerInput("Set",T[12]*RUM)
Train.RV3:TriggerInput("Set",T[14]*RUM)
Train.Panel.PP1 = T[1]
Train.Panel.PP6 = T[6]
else
if isEzh then
Train:WriteTrainWire(48,BO*Train.RO.Value*RC+C(P == 4 and 1 <= RK and RK <= 5))
else
Train:WriteTrainWire(48,C(P == 4 and 1 <= RK and RK <= 5)+BO*Train.UV1.Value)
end
Train:WriteTrainWire(48,BO*Train.RO.Value*RC+C(P == 4 and 1 <= RK and RK <= 5))
Train.PneumaticNo1:TriggerInput("Set",(T[8]+T[44])*T[48])
Train.PneumaticNo2:TriggerInput("Set",T[8]*(1-Train.LK4.Value))
end
@@ -368,15 +321,9 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
S["D1"] = BO*(KV["D-D1"]+KRU["11/3-D1/1"])
S["F7"] = (BO*KV["F-F7"]+KRU["11/3-FR1"])
Train.RRP:TriggerInput("Set",T[14])
if isEm then
Train:WriteTrainWire(31,S["D1"]*(Train.KU6.Value+Train.KU13.Value)+T[12]+Train.KU10R.Value)
Train:WriteTrainWire(32,S["D1"]*Train.KU7.Value+T[12]+Train.KU10R.Value)
Train:WriteTrainWire(12,S["D1"]*Train.KU10.Value)
else
Train:WriteTrainWire(31,S["D1"]*(Train.KU6.Value+Train.KU13.Value)+T[12])
Train:WriteTrainWire(32,S["D1"]*Train.KU7.Value+T[12])
Train:WriteTrainWire(12,S["D1"]*Train.KU10.Value)
end
Train:WriteTrainWire(31,S["D1"]*(Train.KU6.Value+Train.KU13.Value))
Train:WriteTrainWire(32,S["D1"]*Train.KU7.Value)
Train:WriteTrainWire(12,S["D1"]*Train.KU10.Value)
Panel.RedLights = BO*KV["B2-F1"]
end
Train:WriteTrainWire(16,S["D1"]*Train.KU2.Value*Train.KU3.Value)
@@ -387,9 +334,6 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
if isE then
S["11A"] = T[11]*(1-Train.KZ1.Value)
Panel.Ring = S["11A"]+T[28]
elseif isEm then
S["11A"] = T[11]*(1-Train.NR.Value)
Panel.Ring = S["11A"]+T[28]
else
S["11A"] = T[11]*(1-Train.NR.Value)
Panel.Ring = ARS.Ring+S["11A"]+T[28]
@@ -418,7 +362,6 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
local BD = 1-Train.BD.Value
Train:WriteTrainWire(15,BD*(1-Train.KU11.Value))--Заземление 15 провода
Train.Panel.SD = (S["D1"]+BO*Train.KU11.Value)*(T[15]*(1-Train.KU11.Value)+BD)
Train.Panel.SDW = BO*BD
Train.VDZ:TriggerInput("Set",T[16]*BD)
if isE then
@@ -427,11 +370,7 @@ function TRAIN_SYSTEM:SolveAllInternalCircuits(Train)
else
Train.VDOL:TriggerInput("Set",T[31]+T[12])
Train.VDOP:TriggerInput("Set",T[32]+T[12])
if isEm then
Panel.PCBKPower = T[10]*Train["50V"].Value
else
Panel.PCBKPower = T[10]
end
Panel.PCBKPower = T[10]
end
return S
end
@@ -461,7 +400,7 @@ function TRAIN_SYSTEM:SolveRKInternalCircuits(Train)
S["10B"] = S["10A"]*(Train.RV1.Value+Train.TSH.Value)
if isE then
S["25B"] = (1-Train.TSH.Value)*Train.LK2.Value
S["25A"] = min(1,Train.KSH2.Value + Train.RS.Value)
S["25A"] = (Train.KSH2.Value + Train.RS.Value)
Train["RUTreg"] = S["10A"]*(S["25B"]-S["25A"])
S["10I"] = S["10A"]*RheostatController.RKM2
Train["RUTpod"] = S["10I"]*Train.LK4.Value
@@ -719,8 +658,8 @@ function TRAIN_SYSTEM:Think(dT,iter)
if not self.ResistorBlocksInit then
self.ResistorBlocksInit = true
Train:LoadSystem("ResistorBlocks","Gen_Res_703")
Train.ResistorBlocks.InitializeResistances_81_703(Train)
end
if iter == 1 then Train.ResistorBlocks.InitializeResistances_81_703(Train) end
----------------------------------------------------------------------------
-- Voltages from the third rail
----------------------------------------------------------------------------