From 1dc460e17958671d7546159a641a798cc30f25ce Mon Sep 17 00:00:00 2001 From: Hermios Date: Sat, 14 Sep 2024 19:15:24 +0300 Subject: [PATCH 1/2] add new tec dedicated to locos. Remove batteries from receipt for locos. Add electronic for railway --- .vscode/settings.json | 1 - graphics/tech/electric-locomotive.jpg | Bin 0 -> 6087 bytes locale/de/locale.cfg | 2 ++ locale/en/locale.cfg | 2 ++ locale/fr/locale.cfg | 2 ++ locale/uk/locale.cfg | 2 ++ prototypes/rail-pole.lua | 4 ++- prototypes/recipes.lua | 4 +-- prototypes/techs.lua | 34 +++++++++++++++++++++++--- 9 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 graphics/tech/electric-locomotive.jpg diff --git a/.vscode/settings.json b/.vscode/settings.json index aabcdf6..a8e7a72 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -92,7 +92,6 @@ } ], "Lua.workspace.userThirdParty": [ - "c:\\Users\\Nicolas Blexmann\\AppData\\Roaming\\Code\\User\\workspaceStorage\\7390b60636ee43413dfaf7fa7606ac7b\\justarandomgeek.factoriomod-debug\\sumneko-3rd", "c:\\Users\\Nicolas Blexmann\\AppData\\Roaming\\Code\\User\\workspaceStorage\\f28b69d7c82c1d180d5302f8a990beb4\\justarandomgeek.factoriomod-debug\\sumneko-3rd" ], "Lua.workspace.checkThirdParty": "ApplyInMemory" diff --git a/graphics/tech/electric-locomotive.jpg b/graphics/tech/electric-locomotive.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1ffbbaec399d8af5c3512664c713b4aa605bdc8 GIT binary patch literal 6087 zcmbW1byU<}x5mFPARygcf`Wu}mxz*5igZYc2t&sV3?Zc;4MR!}Dcw0pH%NDPOEdK4 zci+42UF-ep-n-9!{yO{Y^?deT>)cP>F9Af#@=Edm8X6k#@!nVfo4G zv-KBe7gslT2-L$rATa3L_u!D|m{@pRd_rPUCL$|4CpRzuS9wKcRdr2mU43g?dq-zi zcTexg=-BwgAU*nxlPmE(jjMM$_<+&ec|vk!&n&GlF; zp!tUE-z2O=A;h&utYuL_2e6}!g|^7DE)i@rrmd)V4Cu5t%+3{sHPTodD+lLMrEU>L z3ASH)W-fKng$g%V0Upa&kMdW+?=9~T>Gyz*UaSDChz7p!hc@QNk<=TQhlM%=e34U_ zu_RicVM-m5gu6ch^UN*Ra`dH3OKZXe2L!Sj3RJA`S4J7+2|dLcVy=B{0~`bbdj7D; z@R<=fypbz`Ae0U}3e@u#<*aD(VG^(oSs)S-}&PG2le$yUc-ADw@i zmckN4=OnOXhZ9Yf&P6Nz(=GQ?hx1llPWXaIw2tnoW?f1+0IC!EArmgB0?iC7fd>>I zpN3Jda8CWz&^arKhfy9Gw3|>ia$2nzOniQ~qNhK?fEGr+_R>KV|Kcl49utXUQq$yd z;p_`|B5lxoH0{xWR6(YoT@5eXKtlIow&VXhDdZ1RtrVwJlgQ_& zzH$S6{TI+rRTzZrd?jpSg0zg3pGS2UUO%gWtAqTq?g5h2eu0T5T~r1lE%54MN{C+m zsh{NucWzWG^v6#ZHb3kZ##Mv&8EWqD;E7?%Cn0Klbys{=M*?jZy+IQBvUa=^BVoTy z;z376^CG&X6U^4OJmA0P+Eah*Il4g}B!pNqzd2ogQ$d_ma0Bbd>`XN0lc8LjzO4oR z7w`l=u`anG*Ud0S+#BWbN~NgEurDi}%e4LI3rlE?>&}7ZsRUy5M*}uz%1&T;9}j`6 zamB24!n%8)S?2xclEfzLyNTcx+CC%PPQ_}E(7|`yN~E?g)H#Y}e9x%2N5>{dfde4q zWam9x%&GezVEl~>H<_kh67|NNXAY+o+U)2)sb8KL%h!wKvb`(@n!r)Bxo61ueW&Mm zl5^NY;j&s=yiknwZ$+@(BivP;??QxoyR>Y{Y7y^{2C_oQwh%G}*8bT#vFD`er(Cqv zggn1weG0$SyRP3g{4$)??L1a6m70sritwe8$5XO3bwD8S!fT6=vGs|bZ-!1ILS!fe zJsD{}gFT^EBHvEWY_=wFOZAVJN)D8B`fFbiz^Y|-(Khj_))~p}0Wj_?zQ>|M_<|Qr z?}}(v+-vP1mvFt;mMV%M&Oj37EcQ!fD=g8esu3{w45#EtMc|7ZOOm<$$Hy{h z7s)=^AjOrcGTdodhvnGf3Ruq_abnA4+U-o%KW(GQw5qx+Fy1CqrRcjSYf|WQ$EbL5 z@#gUl{t)M~rZs=ufbN$?(eh{YEGT{{MK!}5oQ-V6{(7O9Nj4jbj{DI8YmJjp`^eo- zQh*BlzVk{eT3p}_LA3s5Vyp#%ss-Bmw3|ghRN)HEfy_xFjBAk?-xxI!k zDR!lU=R{bTTR6X_UbNit9#V#`)|4LJmAPBx*%ds1ie`O-A{m9qD2IvIB zKHdIwHDS2%7rXQP+G zL%btL45;QbMmP-FH}$d0wQkalEfP1PVMR0wuwt799VtdH>@SlfBoL`HggzpazAbpB zJ`bL4(cf)kE@DwERr8i#m4?SmYCT2N$ZhOXb|f*xEbXf+j8_I{9%09Pwmy!2rNcaw zPY=1}Y`>B9uu7aZ;Y`K!qQBOG(I>whLmb(KQHL)a7J5Y11p7>opew5_Uz8IaLUBz* zRkLo>2b)}i1-XMsY|K*RW$~yA2oUS6ez^|RhI2M0l>=T$<>g{M+^R!PI|f$$jGrYS zOiQKAYB((|OsjO0(_B&&n@0>bUt$HmSu6EOLf9B4pr!O z;)%&k3>=|_!u^Zs>X&=hBk||RyH}(9`0=$G4;PB-!(y+bu4N0SB_t`ak0n1c&j&=2 z$I`9GZ#nadTo)a0~?cZq}T6 zq+D@*vT9#NH(Hv-rY|?P6Q}2~ZnO-@h_Nk&U}Uj#h7+nhaGuceiF%25HK{GQAnQ_vElWYTmknEm5iwT(6?^eV)}$O4iJI%Xt*zhC+h7C|)Hlr_593=2~Fy zFkuHWwLqit>#jy22PMA^Q$T#Dijd~3BlJ1BBWJF%1V_L*yRxC1{xEqLFC&6K%c(lmvj@=Z z-$pO)qUdzsD61A9G8Y+Q8~l9KuRof@#oVE8U)QZ_tI}A^_hv$R3Au3B0-JZfd^-Fa zwpufN58#k_3QJn59-c^6iJ7GJbtUs%AMej%Uz&&Bo`{T`b9W9D?77u<6qa4;xD5^) z&5A~`z7JYD7T8jt+d#6ld8`>f83vcEyi5IZbM$kaj*kD7x&_0kNx($P2%^&=9+#gn zXNXGM+a*ogXWu(WVz-QN0GH*za0mMRr9OZJ>}&}YP+s|RnUJOn#UB?QZW)gaTk1`j zC^@j<%?+OOP)-|7ju9!AK|g9VU`LV1HP%d^;C4+mPT>K`~YS^~6kLS}rtFK@3DUHn#GG zoN0M4_1A1>M&x)vEc{JwjA-&-BDSAGXagx@pUZl>xan|c^G})bmQI4OGN^lFIwGA- z1R)0JK@AgC`7W~sdKOj4u@9$HksA_noE()F7V8eA8}B$bK2=bEoVb z$w{=GC#;%qpNGa7mYUVJS>!GGy&UkUmE3%x6)&V>|2w}exYu!Ec!qM;e8Hf@p~e_K zfdZ`{?*ZR4GUTw3aCKDm<>AMK4b5>Qb*y~q9exJ|{mb6IE{!j7d`8W6As^-h#ytGD zWS1f|-}$ual9y-1AC=f4+E$)VPj}q*ADh#RS-BLkdIv%5SKI@opSLl_^F!=A*n%oj zx?&vWDf{gBb>U0+i=OMYb|or@jNw_s8(uQ{!HwV7u%BHI`;U87ET($HFKrkjQmF|x zKGt>PZ+UpbcNx%b3mfH@^2R?leADp7gNlbFzLW%J{jsP%JbtvFZWV$ubSGRiWG!xx z8NLV77Q8-@idH8i?9O`^T%F3iBjMyWCgyI;f5NyDy7mDIlQs}_P(Z?T5cfcf+$oZe zti*S}za9TrAwQt!;N>xajQDKC-D4d@kU7it9O>F`NB;2Oo` zsX@scOBcno@he3WKs(j2whbxUpT{?In-{A~#;pvxL@NZKZ!k4?*D|f~`w{xQBEUYh zi9kIM4B*gb1oiN?IH&017ev;H23)Y5kcScO!+fmm$*hghM_|}-;z3pXGsvqQPKjBA zO@UtW%(r_1ic|AFAV2T-jMI>*jzO(`@}`2DuG@?NC(Y0^&(HTjH%i73<&}r>>7=;O zrddC$~fKqUqu2p)>!i;cbbg;U}E5>FR?fms49a>^e`VUk-s)Rr{?d z5|OyYnu-U>W7u_@`d#96J^8KED0|JESlEF~IjxQ&JxSJj;~aOLeiQ)w?)zzR(D^q3 zYX4ovqUSV4n0?g7vA@gG8lGs*&{I3u-MXPI&(6MSQmua{(Rtgn|`huQYI-WqF#s?=T z*kEb)O|j8{?ZrEFJ0>^_@sqN-7BYKnicSx(&k0oip>OX<{ihv zP_{bD9}K3)COA=1siNH*#WOd0je&8pd9S8633e1#2u(6dJSU{-QH#dMY3<%D4P)t} z%20EyhLa^d&5%l6J4z=R&RY^-nR=~GxMm=@j%73*HQrpR8lffgdFeF95AH@_|) z5KeuOw2WZ;{Bcxy$?{IMo1ee~%;bD@BRwLdWZ|zy6O=;V@ted%()|VZ0Hb0%U;=AbnBIMd(& zl0fa~ZRemITtdw{wIutYwY|TMvhMc)7Z>7B@!va+>OB{G5@R9?3C7%kJE0=0!}uQkJ#G_D0ia2j zOkM?~{cTa`!(URkaW~lJ^QTfa=Z5ddIHMAKU;TG-$QJkxKsD`1we2mL|5R2#%^JQF z>&lvc0~QYUF0Y%Vj%L#A7G>c}ByjGMGfrIgnH5kvoK?VUVkobJ#%FiT9r}s3XnQ*3 z=I&fRr*8O=U6z6!MCF3SveJV`a?t$s61s{|=m^J=GtsMDaNnY=>2DnHZwl1cY zhTBcvFMI}uc#H}jWw^40pPaClq!rSMfHKL0UbS~bg(zpT{7M0z|~3$Z%? ziTYtTI0W(34zZ3c)nkG(HT&qidbD>BK+Lx|``b5kgNyZqM;CJ!%NFI(x!&Vrvt>*`s;-5Nu>92pW% z?*XZT^2`djXrGJzPeg^JRXbya^w&a;g!495M@dJ;Vfnq}icpd|Dz5gAYgT#1Cc3wY zpL{qJtDZlNqU~?#Us2&7~UiXwIEk2Czfqo~@W0(k+#? z!tto&d8z8thU*%|atEGtgUt!Dh+c&wG71YKzSV2>iR#V>@G_q_IH%Tal*X9|BBzrI zZN10T2eG};P#(vfGb+hQWiS^ft#dBo)i#rC{d0`6udy1AxBC&TODi@d(^s=?Nk&!o zK=LnZowz%F*2B*J4}F;YIAo#i1nLPmt56^i<1g@s8Eh<2 zE#9hB4NZR?irh+Ynj<{%sY*$Iiu4E5ZVU@X4ad0&d)$zS7XAq~f;;v!qJd>b(l0vN zyUr`B_L}9jp$9c0xf(Tal_yM&%#cGB5`{m$#SX9h#%%8x=XRQ4wvyr#6bH;fVlJE# zpU?d?yw8P#5zV0v*rKz(o?caKdndWKNmPUhhwT9IUr|;kLSud*;pgxGKwVtN{mF# z?HW^1wcgwtGikFwH{uO!QHqcXrlOB=g%zgSP`N5*eN=PE))thIWpZ%h z^B=T1z-}V@miRWjlPCFtYc01wLlHnb4n%t?*1Vc-XlMPKVDI$y&QP=X9zY(0((=W` tdc>qoj5NaRs_&2lP~~{Js>~41VbND1?CI$LuIRWBKv|zXo$!A8KLFhmlrR7Q literal 0 HcmV?d00001 diff --git a/locale/de/locale.cfg b/locale/de/locale.cfg index d1bfe48..db072ae 100644 --- a/locale/de/locale.cfg +++ b/locale/de/locale.cfg @@ -19,9 +19,11 @@ rail-accu=Rail Power System [technology-name] rail-power-system=Strömungsschiene System +electric-locomotive=elektrische Lokomotive [technology-description] rail-power-system=Lass, elektrische Züge zu benutzen +electric-locomotive=elektrische Lokomotive um mit electrische Schienen zu benutzen [fuel-category-name] electrical=Strom \ No newline at end of file diff --git a/locale/en/locale.cfg b/locale/en/locale.cfg index 62a4569..cd5175a 100644 --- a/locale/en/locale.cfg +++ b/locale/en/locale.cfg @@ -19,9 +19,11 @@ rail-accu=Rail Power System [technology-name] rail-power-system=Rail Power System +electric-locomotive=electric locomotive [technology-description] rail-power-system=Allow to use electric trains +electric-locomotive=electric locomotive to use with rails electrified [fuel-category-name] electrical=electricity \ No newline at end of file diff --git a/locale/fr/locale.cfg b/locale/fr/locale.cfg index d9ce960..f328f46 100644 --- a/locale/fr/locale.cfg +++ b/locale/fr/locale.cfg @@ -19,9 +19,11 @@ rail-accu=Rail Power System [technology-name] rail-power-system=Système de trains électriques +electric-locomotive=locomotive électrique [technology-description] rail-power-system=Permet l'utilisation des trains électriques +electric-locomotive=Locomotive électrique à utiliser sur les rails électrifiés [fuel-category-name] electrical=électricité \ No newline at end of file diff --git a/locale/uk/locale.cfg b/locale/uk/locale.cfg index a000534..7163568 100644 --- a/locale/uk/locale.cfg +++ b/locale/uk/locale.cfg @@ -19,9 +19,11 @@ rail-accu=Rail Power System [technology-name] rail-power-system=Електрифікація залізниць +electric-locomotive=електричний локомотив [technology-description] rail-power-system=Дозволяє використовувати поїзди на електротязі +electric-locomotive=Електричний локомотив для використання на електрифікованих рейках [fuel-category-name] electrical=електрика \ No newline at end of file diff --git a/prototypes/rail-pole.lua b/prototypes/rail-pole.lua index 392b106..22e08cb 100644 --- a/prototypes/rail-pole.lua +++ b/prototypes/rail-pole.lua @@ -66,7 +66,9 @@ end function railpoleconnector_prototype:on_removed() for _,rail in pairs(self.rails or {}) do - rail:connect() + if rail and rail.connect then + rail:connect() + end end destroyed_railpoles[self.entity.unit_number]={ position=self.entity.position, diff --git a/prototypes/recipes.lua b/prototypes/recipes.lua index 6e473aa..e1c84f5 100644 --- a/prototypes/recipes.lua +++ b/prototypes/recipes.lua @@ -3,7 +3,7 @@ data:extend({ type = "recipe", name = electric_rail, enabled = false, - ingredients = { { "copper-cable", 3 }, { "rail", 1 } }, + ingredients = { { "copper-cable", 3 }, { "rail", 1 },{ "electronic-circuit", 2 } }, result = electric_rail, result_count = 1, }, @@ -19,7 +19,7 @@ data:extend({ type = "recipe", name = electric_locomotive, enabled = false, - ingredients = { { "locomotive", 1 }, { "battery", 10 }, { "electric-engine-unit", 20 } }, + ingredients = { { "locomotive", 1 }, { "electric-engine-unit", 20 } }, result = electric_locomotive, result_count = 1, }, diff --git a/prototypes/techs.lua b/prototypes/techs.lua index 1d254b6..e2cdee6 100644 --- a/prototypes/techs.lua +++ b/prototypes/techs.lua @@ -6,10 +6,6 @@ data:extend( icon = "__"..modname.."__/graphics/tech/tech.png", effects = { - { - type = "unlock-recipe", - recipe = electric_locomotive - }, { type = "unlock-recipe", recipe = railpole_prototype @@ -33,4 +29,34 @@ data:extend( }, order = "a-d-d", } +}) + +data:extend( +{ + { + type = "technology", + name = "electric-locomotive", + icon = "__"..modname.."__/graphics/tech/electric-locomotive.jpg", + effects = + { + { + type = "unlock-recipe", + recipe = electric_locomotive + } + }, + icon_size=128, + prerequisites = {"rail-power-system","electric-engine"}, + unit = + { + count = 75, + ingredients = + { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1} + }, + time = 15 + }, + order = "a-d-d", + } }) \ No newline at end of file From dfb1328d52cce21b152485e84c0d8546361a1bb6 Mon Sep 17 00:00:00 2001 From: Hermios Date: Sat, 14 Sep 2024 20:00:27 +0300 Subject: [PATCH 2/2] modifiy balancing for locomotive and batteries --- prototypes/items.lua | 2 +- prototypes/recipes.lua | 2 +- prototypes/techs.lua | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/prototypes/items.lua b/prototypes/items.lua index f20b456..311b3a3 100644 --- a/prototypes/items.lua +++ b/prototypes/items.lua @@ -1,7 +1,7 @@ --electrical fuel createdata("item","solid-fuel",electricfuel,{ fuel_category="electrical", - fuel_value="20KJ", + fuel_value="40MJ", stack_size=1, icon="__"..modname.."__/graphics/icons/"..electricfuel..".png" },true) diff --git a/prototypes/recipes.lua b/prototypes/recipes.lua index e1c84f5..c4f70f1 100644 --- a/prototypes/recipes.lua +++ b/prototypes/recipes.lua @@ -19,7 +19,7 @@ data:extend({ type = "recipe", name = electric_locomotive, enabled = false, - ingredients = { { "locomotive", 1 }, { "electric-engine-unit", 20 } }, + ingredients = { { "locomotive", 1 }, { "battery-equipment", 10 }, { "electric-engine-unit", 20 } }, result = electric_locomotive, result_count = 1, }, diff --git a/prototypes/techs.lua b/prototypes/techs.lua index e2cdee6..1cd0058 100644 --- a/prototypes/techs.lua +++ b/prototypes/techs.lua @@ -45,7 +45,7 @@ data:extend( } }, icon_size=128, - prerequisites = {"rail-power-system","electric-engine"}, + prerequisites = {"rail-power-system","electric-engine","battery"}, unit = { count = 75,