forked from PyroFire232/warptorio2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
data.lua
783 lines (607 loc) · 55.3 KB
/
data.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
--require("technology/warp-technology")
require("sound/sound")
require("data_warptorio-heatpipe")
require("data_warptorio-warpport")
require("data_warptorio-logistics-pipe")
require("data_warptorio-warpstation")
require("data_warpnuke")
require("data_warptorio-warploader")
require("data_warptorio-townportal")
require("data_warptorio-combinator")
--require("data_nauvis_preset")
--require("data_accumulators") -- This would be included here if it weren't for factorioextended ruining the accumulator tables >:|
local function istable(t) return type(t)=="table" end
local function rgb(r,g,b,a) a=a or 255 return {r=r/255,g=g/255,b=b/255,a=a/255} end
function table.deepmerge(s,t) for k,v in pairs(t)do if(istable(v) and s[k] and istable(s[k]))then table.deepmerge(s[k],v) else s[k]=v end end end
function table.merge(s,t) local x={} for k,v in pairs(s)do x[k]=v end for k,v in pairs(t)do x[k]=v end return x end
local function MakeDataCopy(a,b,x) local t=table.deepcopy(data.raw[a][b]) if(x)then table.deepmerge(t,x) end return t end
local function ExtendRecipeItem(t)
local r=table.deepcopy(data.raw.recipe["nuclear-reactor"])
r.enabled=false r.name=t.name r.ingredients={{"steel-plate",1}} r.result=t.name
local i=table.deepcopy(data.raw.item["nuclear-reactor"])
i.name=t.name i.place_result=t.name
data:extend{i,r}
end
local function ExtendRecipeItemFix(t) t.order=t.order or "warptorio" end
local function ExtendDataCopy(a,b,x,ri,tx) local t=MakeDataCopy(a,b,x) if(tx)then for k,v in pairs(tx)do if(v==false)then t[k]=nil else t[k]=v end end end if(ri)then ExtendRecipeItemFix(t) end data:extend{t} return t end
local function ExtendCopyRecipe(src,name)
local r=table.deepcopy( data.raw.recipe[src] )
r.enabled=false r.name=name r.ingredients={{"steel-plate",1}} r.result=name
local i=table.deepcopy( data.raw.recipe[src] )
i.name=name i.place_result=name
data:extend{i,r}
end
local techPacks={red="automation-science-pack",green="logistic-science-pack",blue="chemical-science-pack",black="military-science-pack",
purple="production-science-pack",yellow="utility-science-pack",white="space-science-pack"}
local function SciencePacks(x) local t={} for k,v in pairs(x)do table.insert(t,{techPacks[k],v}) end return t end
local function ExtendTech(t,d,s) local x=table.merge(t,d) if(s)then x.unit.ingredients=SciencePacks(s) end data:extend{x} return x end
--[[
local t=ExtendDataCopy("electric-pole","small-electric-pole",{name="warptorio-electric-pole",
pictures={layers={[1]={tint={r=0.6,g=0.6,b=1,a=1},hr_version={tint={r=0.6,g=0.6,b=1,a=1}} }, }},
},true)
]]
-- --------
-- vonNeumann compatability. It's base game stuff anyway. Perhaps expand on this later
data.raw.lab["crash-site-lab-repaired"].minable={mining_time=3,result="crash-site-lab-repaired"}
data.raw.container["crash-site-chest-1"].minable={mining_time=3,result="crash-site-chest-1"}
data.raw.container["crash-site-chest-2"].minable={mining_time=3,result="crash-site-chest-2"}
data.raw["assembling-machine"]["crash-site-assembling-machine-1-repaired"].minable={mining_time=3,result="crash-site-assembling-machine-1-repaired"}
data.raw["assembling-machine"]["crash-site-assembling-machine-2-repaired"].minable={mining_time=3,result="crash-site-assembling-machine-2-repaired"}
-- --------
-- Warp Tiles
-- purple tiles
local t=ExtendDataCopy("tile","tutorial-grid",{name="warp-tile-concrete",tint={r=0.6,g=0.6,b=0.7,a=1},decorative_removal_probability=1,walking_speed_modifier=1.6,map_color={r=0.2,g=0.1,b=0.25,a=1}})
-- orange tiles
local t=ExtendDataCopy("tile","tutorial-grid",{name="warptorio-red-concrete",tint={r=1,g=0.5,b=0,a=0.25},layer=67,decorative_removal_probability=1,walking_speed_modifier=1.5,map_color={r=0.2,g=0.1,b=0,a=1}})
-- --------
-- Invisiradar
local rtint={r=0.4,g=0.4,b=1,a=1}
local rvtint={scale=1/3,shift={0.03125/3,-0.5/3},tint={r=1,g=1,b=1,a=0},hr_version={scale=0.5/3,tint={r=1,g=1,b=1,a=0},shift={0.03125/3,-0.5/3}}}
local r=ExtendDataCopy("radar","radar",{name="warptorio-invisradar",
icons={{icon="__base__/graphics/icons/radar.png",tint=rtint}},integration_patch=rvtint,pictures={layers={rvtint,rvtint}},
},true,{energy_per_nearby_scan="10kJ",energy_per_sector="200kJ",energy_usage="1kW", icon=false,
max_distance_of_nearby_sector_revealed=5,max_distance_of_sector_revealed=18,
collision_box={{-1.2/3,-1.2/3},{1.2/3,1.2/3}},selection_box={{-1.5/3,-1.5/3},{1.5/3,1.5/3}},
})
-- --------
-- Loot Chest
local rtint={r=0.4,g=0.4,b=1,a=1}
local t=ExtendDataCopy("container","wooden-chest",{name="warptorio-lootchest",inventory_size=8,
icons={{icon="__base__/graphics/icons/wooden-chest.png",tint=rtint}},
picture={layers={ [1]={tint=rtint,hr_version={tint=rtint}}, }},
},true,{icon=false,minable={mining_time=0.1}})
-- --------
-- Carebear Chest
local rtint=rgb(255,20,147)
local t=ExtendDataCopy("container","wooden-chest",{name="warptorio-carebear-chest",inventory_size=99,
icons={{icon="__base__/graphics/icons/wooden-chest.png",tint=rtint}},
picture={layers={ [1]={tint=rtint,hr_version={tint=rtint}}, }},
},true,{icon=false,minable={mining_time=10}})
-- ----
-- Logistics
--[[
local rtint={r=0.5,g=0.5,b=1,a=1}
local rtintpic={tint=rtint,hr_version={tint=rtint}}
local rctint={r=0.39,g=0,b=0,a=1}
local rtintcov={layers={ [1]={tint=rctint,hr_version={tint=rctint}} }}
local t=ExtendDataCopy("pipe-to-ground","pipe-to-ground",{name="warptorio-logistics-pipe",fluid_box={base_area=5,pipe_connections={[2]={max_underground_distance=-1}}},
pictures={ left=rtintpic, right=rtintpic,up=rtintpic,down=rtintpic },
pipe_covers={ east={layers={ [1]={tint=rctint,hr_version={tint=rctint}} }}, north=rtintcov, south=rtintcov, west=rtintcov,}
},true)
]]
-- --------
-- Warp Reactor
-- Fuel
data:extend{{type="fuel-category", name="warp"}}
ExtendDataCopy("item","uranium-fuel-cell",{name="warptorio-warponium-fuel-cell",fuel_category="warp",burnt_result="uranium-fuel-cell",fuel_value="24GJ",stack_size=50,
icon_size=32,icons={ {icon="__base__/graphics/icons/uranium-fuel-cell.png",tint={r=1,g=0.2,b=1,a=0.8}}, }, },false,{icon=false})
ExtendDataCopy("recipe","uranium-fuel-cell",{name="warptorio-warponium-fuel-cell",enabled=false,result="warptorio-warponium-fuel-cell",result_count=1},false,
{ingredients={{"uranium-fuel-cell",5}},
icon_size=32,icons={ {icon="__base__/graphics/icons/uranium-fuel-cell.png",tint={r=1,g=0.2,b=1,a=0.8}}, },
},false,{icon=false})
ExtendDataCopy("item","nuclear-fuel",{name="warptorio-warponium-fuel",fuel_category="chemical",
fuel_acceleration_multiplier=5,fuel_value="7GJ",stack_size=1,fuel_top_speed_multiplier=1.25,
icon_size=32,icons={ {icon="__base__/graphics/icons/nuclear-fuel.png",tint={r=1,g=0.2,b=1,a=0.8}}, },
},false,{icon=false})
ExtendDataCopy("recipe","nuclear-fuel",{name="warptorio-warponium-fuel",enabled=false,result="warptorio-warponium-fuel",result_count=1},false,
{ingredients={{"warptorio-warponium-fuel-cell",1},{"nuclear-fuel",1}},
icon=false,icon_size=32,icons={ {icon="__base__/graphics/icons/nuclear-fuel.png",tint={r=1,g=0.2,b=1,a=0.8}}, },
})
-- The Reactor Itself
local t=ExtendDataCopy("reactor","nuclear-reactor",{name="warptorio-reactor",max_health=5000,neighbour_bonus=12,consumption="20MW",
energy_source={fuel_category="warp"},heat_buffer={specific_heat="4MJ",max_temperature=1000}, light={ intensity=10, size=9.9, shift={0.0,0.0}, color={r=1.0,g=0.0,b=0.0} },
working_light_picture={ filename="__base__/graphics/entity/nuclear-reactor/reactor-lights-grayscale.png", tint={r=1,g=0.4,b=0.4,a=1},
hr_version={ filename="__base__/graphics/entity/nuclear-reactor/hr-reactor-lights-grayscale.png", tint={r=1,g=0.4,b=0.4,a=1}, },
},
picture={layers={
[1]={ tint={r=0.8,g=0.8,b=1,a=1}, hr_version={ tint={r=0.8,g=0.8,b=1,a=1}, }, },
}},
},true)
-- -------------------------------------------------------------------------
-- Technologies
-- ----
-- Warp Roboport
local t={type="technology",upgrade=true,icon_size=128,effects={{recipe="warptorio-warpport",type="unlock-recipe"}},icons={
{icon="__base__/graphics/entity/roboport/roboport-base.png",tint={r=0.3,g=0.3,b=1,a=1},scale=0.75,priority="low"},
}, }
ExtendTech(t,{name="warptorio-warpport",unit={count=1000,time=5}, prerequisites={"warptorio-logistics-4","warptorio-reactor-8","space-science-pack"}}, {red=1,green=1,black=1,blue=1,purple=1,yellow=1,white=1})
-- ----
-- Warp Nuke
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/atomic-bomb.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
}, }
ExtendTech(t,{name="warptorio-warpnuke",unit={count=1000,time=5},effects={{recipe="warptorio-atomic-bomb",type="unlock-recipe"}},
prerequisites={"atomic-bomb","warptorio-reactor-8","space-science-pack"}}, {red=1,green=1,black=1,blue=1,purple=1,yellow=1,white=1})
-- ----
-- Warp Module
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/module.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
}, }
ExtendTech(t,{name="warptorio-warpmodule",unit={count=3000,time=5}, prerequisites={"warptorio-reactor-8","space-science-pack","effectivity-module-3"},
effects={{recipe="warptorio-warpmodule",type="unlock-recipe"}},}, {red=1,green=1,black=1,blue=1,purple=1,yellow=1,white=1})
data:extend{{type="module-category",name="warpivity"}}
local t={type="module",category="warpivity",name="warptorio-warpmodule",stack_size=50,subgroup="module",tier=4,localised_description={"item-description.warptorio-warpmodule"},
limitation_message_key = "production-module-usable-only-on-intermediates",
effect={ consumption={bonus=0.6},pollution={bonus=0.05},productivity={bonus=0.1},speed={bonus=0.35} },
icon_size=32,icons={ {icon="__base__/graphics/icons/speed-module-3.png",tint={r=0.2,g=0.2,b=1,a=1}} },
}
data:extend{t}
data:extend{{type="recipe",result="warptorio-warpmodule",name="warptorio-warpmodule",enabled=false,energy_required=60,
ingredients={{"speed-module-3",50},{"productivity-module-3",50},{"effectivity-module-3",50},{"advanced-circuit",200},{"processing-unit",200},{"low-density-structure",10}},
}}
-- ----
-- Warp Reactor
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/demo/analyse-ship.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"},
}, }
ExtendTech(t,{name="warptorio-reactor-1",unit={count=50,time=5}, prerequisites={}}, {red=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/demo/basic-electronics.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"}
}, }
ExtendTech(t,{name="warptorio-reactor-2",unit={count=50,time=5}, prerequisites={"warptorio-reactor-1","logistic-science-pack"}}, {red=1,green=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/advanced-electronics.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"}
}, }
ExtendTech(t,{name="warptorio-reactor-3",unit={count=50,time=5}, prerequisites={"warptorio-reactor-2","military-science-pack"}}, {red=1,green=2,black=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/advanced-electronics-2.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"}
}, }
ExtendTech(t,{name="warptorio-reactor-4",unit={count=50,time=5}, prerequisites={"warptorio-reactor-3","rocketry"}}, {red=2,green=2,black=1,})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/explosives.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"}
}, }
ExtendTech(t,{name="warptorio-reactor-5",unit={count=50,time=5}, prerequisites={"warptorio-reactor-4","chemical-science-pack"}}, {red=1,green=3,black=1,blue=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/atomic-bomb.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"}
}, localised_description={"technology-description.warptorio-reactor-6"} }
ExtendTech(t,{name="warptorio-reactor-6",unit={count=100,time=90}, effects={{recipe="warptorio-townportal",type="unlock-recipe"}},prerequisites={"warptorio-reactor-5","uranium-processing","robotics"}}, {red=5,black=5}) -- reactor module
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/kovarex-enrichment-process.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"}
}, }
ExtendTech(t,{name="warptorio-reactor-7",unit={count=1000,time=30}, effects={{recipe="warptorio-heatpipe",type="unlock-recipe"},{recipe="warptorio-warponium-fuel-cell",type="unlock-recipe"}}, prerequisites={"nuclear-power","warptorio-reactor-6"}}, {red=1,green=1,black=1,blue=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__warptorio2__/graphics/technology/earth.png",tint={r=0.8,g=0.8,b=1,a=1},scale=0.5,shift={32,32},priority="high"}
}, localised_description={"technology-description.warptorio-reactor-8"} }
ExtendTech(t,{name="warptorio-reactor-8",unit={count=1000,time=30}, prerequisites={"warptorio-reactor-7","warptorio-charting","warptorio-accelerator","warptorio-stabilizer","warptorio-kovarex","rocket-control-unit"}}, {red=1,green=1,black=1,blue=1,purple=1,yellow=1}) -- steering
-- ----
-- Reactor Abilities
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/battery.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
}, }
ExtendTech(t,{name="warptorio-stabilizer",unit={count=400,time=30}, prerequisites={"warptorio-reactor-6","military-3","circuit-network"}}, {red=1,green=1,black=1,blue=1}) -- stabilizer
local t={type="technology",upgrade=false,icon_size=128,icons={ {icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"} }, }
t.icons={ {icon="__base__/graphics/technology/engine.png",tint={r=0.3,g=0.3,b=1,a=1}} }
ExtendTech(t,{name="warptorio-accelerator",unit={count=400,time=30}, prerequisites={"warptorio-reactor-6","military-3","circuit-network"}}, {red=1,green=1,black=1,blue=1}) -- accelerator
local t={type="technology",upgrade=false,icon_size=128,icons={ {icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"} }, }
t.icons={ {icon="__base__/graphics/technology/radar.png",tint={r=0.3,g=0.3,b=1,a=1}} }
ExtendTech(t,{name="warptorio-charting",unit={count=400,time=30}, prerequisites={"warptorio-reactor-6","military-3","circuit-network"}}, {red=1,green=1,black=1,blue=1}) -- charting
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__warptorio2__/graphics/technology/earth.png",tint={r=0.8,g=0.8,b=1,a=1},priority="low"}
}, }
ExtendTech(t,{name="warptorio-homeworld",unit={count=5000,time=30}, effects={{recipe="warptorio-homeportal",type="unlock-recipe"}}, prerequisites={"warptorio-reactor-8","space-science-pack"}}, {red=1,green=1,black=1,blue=1,purple=1,yellow=1,white=1})
-- ----
-- Warponium Fuel
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/nuclear-power.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/rocket-fuel.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"},
},
effects={{recipe="warptorio-warponium-fuel",type="unlock-recipe"}},
}
ExtendTech(t,{name="warptorio-kovarex",unit={count=1000,time=15}, prerequisites={"warptorio-reactor-7","kovarex-enrichment-process"}}, {red=1,green=1,black=1,blue=1,purple=1}) -- Kovarex
-- ----
-- Boiler Warp Substation
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/electric-energy-distribution.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/fluid-handling.png",tint={r=0.7,g=0.7,b=1,a=1},scale=0.5,shift={32,32},priority="high"},
}, }
ExtendTech(t,{name="warptorio-boiler-station",unit={count=500,time=10}, prerequisites={"electric-energy-distribution-2","warptorio-boiler-0","production-science-pack"}}, {red=1,blue=1,green=1,purple=1})
-- ----
-- Warp Energy Pipe
local rtint={tint={r=0.3,g=0.3,b=1,a=1},hr_version={tint={r=0.3,g=0.3,b=1,a=1}}}
--[[
local pipe_sprites={corner_left_down={{rtint},{rtint},{rtint},{rtint},{rtint}},corner_left_up={{rtint},{rtint},{rtint},{rtint},{rtint},{rtint}},
corner_right_down={{rtint},{rtint},{rtint},{rtint},{rtint},{rtint}},corner_right_up={{rtint},{rtint},{rtint},{rtint},{rtint},{rtint}},
cross={{rtint}},ending_down={{rtint}},ending_left={{rtint}},ending_right={{rtint}},ending_up={{rtint}},single={{rtint}},
straight_horizontal={{rtint},{rtint},{rtint},{rtint},{rtint},{rtint}},straight_vertical={{rtint},{rtint},{rtint},{rtint},{rtint},{rtint}},
t_down={{rtint}},t_left={{rtint}},t_right={{rtint}},t_up={{rtint}},}
local t=ExtendDataCopy("heat-pipe","heat-pipe",{name="warptorio-heatpipe",connection_sprites=pipe_sprites,heat_glow_sprites=pipe_sprites,
max_temperature=5000,
max_transfer="5GW",
specific_heat="1MJ",
icon_size=32,icons={ {icon="__base__/graphics/icons/heat-pipe.png",tint={r=0.3,g=0.3,b=1,a=1},hr_version={tint={r=0.3,g=0.3,b=1,a=1}} } }
})]]
local pipe_icon={ {icon="__base__/graphics/icons/heat-pipe.png",tint={r=0.3,g=0.3,b=1,a=1},hr_version={tint={r=0.3,g=0.3,b=1,a=1}} } }
local t=ExtendDataCopy("recipe","heat-pipe",{name="warptorio-heatpipe",result="warptorio-heatpipe",ingredients={{"processing-unit",200},{"heat-pipe",50}}, enabled=false,energy_required=30, })
local t=ExtendDataCopy("item","heat-pipe",{name="warptorio-heatpipe",place_result="warptorio-heatpipe",
icon_size=32,icons=pipe_icon,
})
-- ----
-- Sandbox Boosts
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/mining-productivity.png",tint={r=0.3,g=0.3,b=1,a=1}} },
effects={ {type="mining-drill-productivity-bonus",modifier=0.1}}, }
ExtendTech(t,{name="warptorio-mining-prod-1",unit={count_formula="20*L",time=30},max_level=5}, {red=1})
ExtendTech(t,{name="warptorio-mining-prod-6",unit={count_formula="(20*L)-50",time=30},max_level=10,prerequisites={"warptorio-mining-prod-1","logistic-science-pack"}}, {red=2,green=1})
ExtendTech(t,{name="warptorio-mining-prod-11",unit={count_formula="(20*L)-100",time=30},max_level=15,prerequisites={"warptorio-mining-prod-6","chemical-science-pack"}}, {red=2,green=2,blue=1} )
ExtendTech(t,{name="warptorio-mining-prod-16",unit={count_formula="(20*L)-150",time=30},max_level=20,prerequisites={"warptorio-mining-prod-11","production-science-pack"}}, {red=3,green=3,blue=1,purple=1} )
ExtendTech(t,{name="warptorio-mining-prod-21",unit={count_formula="(20*L)-200",time=30},max_level=25,prerequisites={"warptorio-mining-prod-16","utility-science-pack"}}, {red=3,green=3,blue=2,purple=1,yellow=1} )
local t={type="technology",upgrade=true,icon_size=32,icons={ {icon="__base__/graphics/icons/steel-axe.png",tint={r=0.3,g=0.3,b=1,a=1}} },
effects={ {type="character-mining-speed",modifier=0.5}}, }
ExtendTech(t,{name="warptorio-axe-speed-1",unit={count_formula="50*L",time=30},prerequisites={"steel-axe","warptorio-reactor-1"},max_level=2}, {red=1})
ExtendTech(t,{name="warptorio-axe-speed-3",unit={count_formula="(50*L)",time=30},max_level=4,prerequisites={"warptorio-axe-speed-1","logistic-science-pack"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-axe-speed-5",unit={count_formula="(50*L)",time=30},max_level=6,prerequisites={"warptorio-axe-speed-3","chemical-science-pack"}}, {red=1,green=1,blue=1} )
ExtendTech(t,{name="warptorio-axe-speed-7",unit={count_formula="(50*L)",time=30},max_level=8,prerequisites={"warptorio-axe-speed-5","production-science-pack"}}, {red=1,green=1,blue=1,purple=1} )
ExtendTech(t,{name="warptorio-axe-speed-9",unit={count_formula="(50*L)",time=30},max_level=10,prerequisites={"warptorio-axe-speed-7","utility-science-pack"}}, {red=1,green=1,blue=1,purple=1,yellow=1} )
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/inserter-capacity.png",tint={r=0.3,g=0.3,b=1,a=1}} },
effects={ {type="stack-inserter-capacity-bonus",modifier=1}, {type="inserter-stack-size-bonus",modifier=1},} }
ExtendTech(t,{name="warptorio-inserter-cap-1",unit={count=150,time=30},prerequisites={"warptorio-reactor-1","fast-inserter"},}, {red=1})
ExtendTech(t,{name="warptorio-inserter-cap-2",unit={count=200,time=30},prerequisites={"warptorio-inserter-cap-1","logistic-science-pack"}}, {red=2,green=1})
ExtendTech(t,{name="warptorio-inserter-cap-3",unit={count=250,time=30},prerequisites={"warptorio-inserter-cap-2","chemical-science-pack"}}, {red=3,green=2,blue=1} )
ExtendTech(t,{name="warptorio-inserter-cap-4",unit={count=300,time=30},prerequisites={"warptorio-inserter-cap-3","production-science-pack"}}, {red=4,green=3,blue=2,purple=1} )
ExtendTech(t,{name="warptorio-inserter-cap-5",unit={count=350,time=30},prerequisites={"warptorio-inserter-cap-4","utility-science-pack"}}, {red=5,green=4,blue=3,purple=2,yellow=1} )
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/worker-robots-speed.png",tint={r=0.3,g=0.3,b=1,a=1}} },
effects={ {type="worker-robot-speed",modifier=0.35},} }
ExtendTech(t,{name="warptorio-bot-speed-1",unit={count=120,time=30},prerequisites={"robotics","warptorio-reactor-2"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-bot-speed-2",unit={count=180,time=30},prerequisites={"warptorio-bot-speed-1","logistic-robotics"}}, {red=2,green=1})
ExtendTech(t,{name="warptorio-bot-speed-3",unit={count=250,time=30},prerequisites={"warptorio-bot-speed-2","chemical-science-pack"}}, {red=3,green=2,blue=1} )
ExtendTech(t,{name="warptorio-bot-speed-4",unit={count=300,time=30},prerequisites={"warptorio-bot-speed-3","production-science-pack"}}, {red=4,green=3,blue=2,purple=1} )
ExtendTech(t,{name="warptorio-bot-speed-5",unit={count=350,time=30},prerequisites={"warptorio-bot-speed-4","utility-science-pack"}}, {red=5,green=4,blue=3,purple=2,yellow=1} )
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/worker-robots-storage.png",tint={r=0.3,g=0.3,b=1,a=1}} },
effects={ {type="worker-robot-storage",modifier=1}, } }
ExtendTech(t,{name="warptorio-bot-cap-1",unit={count=120,time=30},prerequisites={"robotics","warptorio-reactor-2"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-bot-cap-2",unit={count=180,time=30},prerequisites={"warptorio-bot-cap-1","construction-robotics"}}, {red=2,green=1})
ExtendTech(t,{name="warptorio-bot-cap-3",unit={count=250,time=30},prerequisites={"warptorio-bot-cap-2","chemical-science-pack"}}, {red=2,green=2,blue=1} )
ExtendTech(t,{name="warptorio-bot-cap-4",unit={count=300,time=30},prerequisites={"warptorio-bot-cap-3","production-science-pack"}}, {red=3,green=3,blue=1,purple=1} )
ExtendTech(t,{name="warptorio-bot-cap-5",unit={count=350,time=30},prerequisites={"warptorio-bot-cap-4","utility-science-pack"}}, {red=3,green=3,blue=2,purple=1,yellow=1} )
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/physical-projectile-damage-1.png",tint={r=0.3,g=0.3,b=1,a=1}} },
effects={ {type="turret-attack",modifier=0.15,turret_id="gun-turret"},{ammo_category="bullet",modifier=0.15,type="ammo-damage"},{ammo_category="shotgun-shell",modifier=0.2,type="ammo-damage"} } }
ExtendTech(t,{name="warptorio-physdmg-1",unit={count=250,time=30},prerequisites={"warptorio-reactor-1","physical-projectile-damage-1"}}, {red=1})
ExtendTech(t,{name="warptorio-physdmg-2",unit={count=250,time=30},prerequisites={"warptorio-reactor-2","warptorio-physdmg-1","physical-projectile-damage-2"}}, {red=2,green=1} )
ExtendTech(t,{name="warptorio-physdmg-3",unit={count=350,time=30},prerequisites={"warptorio-reactor-3","warptorio-physdmg-2","physical-projectile-damage-3"}}, {red=3,green=2,black=1} )
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/toolbelt.png",tint={r=0.3,g=0.3,b=1,a=1}} },
effects={ {type="character-inventory-slots-bonus",modifier=10} }, }
ExtendTech(t,{name="warptorio-toolbelt-1",unit={count=70,time=30},prerequisites={"warptorio-reactor-1"}}, {red=1})
ExtendTech(t,{name="warptorio-toolbelt-2",unit={count=120,time=30},prerequisites={"warptorio-toolbelt-1","toolbelt","logistic-science-pack"}}, {red=2,green=1})
ExtendTech(t,{name="warptorio-toolbelt-3",unit={count=150,time=30},prerequisites={"warptorio-toolbelt-2","chemical-science-pack"}}, {red=2,green=2,blue=1} )
ExtendTech(t,{name="warptorio-toolbelt-4",unit={count=180,time=30},prerequisites={"warptorio-toolbelt-3","production-science-pack"}}, {red=3,green=2,blue=2,purple=1} )
ExtendTech(t,{name="warptorio-toolbelt-5",unit={count=200,time=30},prerequisites={"warptorio-toolbelt-4","utility-science-pack"}}, {red=4,green=3,blue=2,purple=2,yellow=1} )
local t={type="technology",upgrade=true,icons={
{icon="__warptorio2__/graphics/technology/earth.png",tint={r=0.7,g=0.7,b=1,a=1},shift={0,0},scale=0.375,priority="medium",icon_size=128},
{icon="__base__/graphics/icons/steel-axe.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low",icon_size=32},
},
effects={
{type="character-reach-distance",modifier=1},
{type="character-build-distance",modifier=1},
{type="character-item-drop-distance",modifier=1},
{type="character-resource-reach-distance",modifier=1},
},
}
ExtendTech(t,{name="warptorio-reach-1",unit={count=50,time=30},prerequisites={"warptorio-reactor-1"}}, {red=1})
ExtendTech(t,{name="warptorio-reach-2",unit={count=100,time=30},prerequisites={"warptorio-reach-1","logistic-science-pack"}}, {red=2,green=1})
ExtendTech(t,{name="warptorio-reach-3",unit={count=150,time=30},prerequisites={"warptorio-reach-2","chemical-science-pack"}}, {red=2,green=2,blue=1} )
ExtendTech(t,{name="warptorio-reach-4",unit={count=180,time=30},prerequisites={"warptorio-reach-3","production-science-pack"}}, {red=3,green=2,blue=2,purple=1} )
ExtendTech(t,{name="warptorio-reach-5",unit={count=200,time=30},prerequisites={"warptorio-reach-4","utility-science-pack"}}, {red=4,green=3,blue=2,purple=2,yellow=1} )
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/exoskeleton-equipment.png",tint={r=0.3,g=0.3,b=1,a=1}},
}, effects={
{type="character-running-speed",modifier=0.1},
}, }
ExtendTech(t,{name="warptorio-striders-1",unit={count=150,time=20}, prerequisites={"warptorio-reactor-1"},upgrade=false}, {red=1})
ExtendTech(t,{name="warptorio-striders-2",unit={count=300,time=20}, prerequisites={"warptorio-reactor-2","modular-armor","warptorio-striders-1"},upgrade=false}, {red=1,green=1})
-- ----
-- Platform Size
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/concrete.png",tint={r=0.3,g=0.3,b=1,a=1}} }, }
ExtendTech(t,{name="warptorio-platform-size-1", unit={count=70,time=20}, prerequisites={}}, {red=1} )
ExtendTech(t,{name="warptorio-platform-size-2", unit={count=120,time=20}, prerequisites={"warptorio-platform-size-1","warptorio-reactor-1"}}, {red=1} )
ExtendTech(t,{name="warptorio-platform-size-3", unit={count=150,time=40}, prerequisites={"warptorio-platform-size-2","logistic-science-pack"}}, {red=1,green=1} )
ExtendTech(t,{name="warptorio-platform-size-4", unit={count=250,time=30}, prerequisites={"concrete","warptorio-platform-size-3"}}, {red=1,green=1} )
ExtendTech(t,{name="warptorio-platform-size-5", unit={count=120,time=30}, prerequisites={"chemical-science-pack","warptorio-platform-size-4"}}, {red=2,green=2,blue=1} )
ExtendTech(t,{name="warptorio-platform-size-6", unit={count=150,time=30}, prerequisites={"warptorio-platform-size-5","solar-energy","production-science-pack"}}, {red=2,green=2,blue=1,purple=1} )
ExtendTech(t,{name="warptorio-platform-size-7", unit={count=150,time=30}, prerequisites={"warptorio-platform-size-6","utility-science-pack"}}, {red=2,green=2,blue=1,purple=1,yellow=1} )
-- ----
-- Train Stops
for v,w in pairs({nw={-38,-38},ne={38,-38},se={38,38},sw={-38,38}})do
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/railway.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/railway.png",tint={r=0.7,g=0.7,b=1,a=0.9},shift={w[1],w[2]},scale=0.45,priority="high"},
}, }
ExtendTech(t,{name="warptorio-rail-"..v, unit={count=500,time=40}, prerequisites={"railway","warptorio-platform-size-6","warptorio-factory-7"}}, {red=1,green=1,black=1,blue=1,purple=1,yellow=1} )
end
-- ----
-- Castle Ramps
for v,w in pairs({nw={-38,-38},ne={38,-38},se={38,38},sw={-38,38}})do
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/stone-walls.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/stone-walls.png",tint={r=0.7,g=0.7,b=1,a=0.9},shift={w[1],w[2]},scale=0.45,priority="high"},
}, }
ExtendTech(t,{name="warptorio-turret-"..v.."-0",upgrade=false, unit={count=100,time=40}, prerequisites={"gates","warptorio-factory-0"}}, {red=1,green=1} )
ExtendTech(t,{name="warptorio-turret-"..v.."-1", unit={count=150,time=40}, prerequisites={"warptorio-turret-"..v.."-0","military-science-pack",}}, {red=2,green=1,black=1,} )
ExtendTech(t,{name="warptorio-turret-"..v.."-2", unit={count=200,time=30}, prerequisites={"warptorio-turret-"..v.."-1","chemical-science-pack"}}, {red=2,green=1,black=1,blue=1} )
ExtendTech(t,{name="warptorio-turret-"..v.."-3", unit={count=300,time=40}, prerequisites={"warptorio-turret-"..v.."-2","production-science-pack"}}, {red=2,green=2,black=1,blue=1,purple=1} )
end
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/stone-walls.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/stone-walls.png",tint={r=0.7,g=0.7,b=1,a=0.9},shift={38,38},scale=0.45,priority="high"},
{icon="__base__/graphics/technology/stone-walls.png",tint={r=0.7,g=0.7,b=1,a=0.9},shift={-38,-38},scale=0.45,priority="high"},
{icon="__base__/graphics/technology/stone-walls.png",tint={r=0.7,g=0.7,b=1,a=0.9},shift={-38,38},scale=0.45,priority="high"},
{icon="__base__/graphics/technology/stone-walls.png",tint={r=0.7,g=0.7,b=1,a=0.9},shift={38,-38},scale=0.45,priority="high"},
}, }
ExtendTech(t,{name="warptorio-bridgesize-1",unit={count=500,time=40},prerequisites={"warptorio-turret-nw-0","warptorio-turret-ne-0","warptorio-turret-se-0","warptorio-turret-sw-0"},
unit={count=200,time=40}},{red=1,green=1,black=1})
ExtendTech(t,{name="warptorio-bridgesize-2",unit={count=500,time=40},prerequisites={"warptorio-bridgesize-1","warptorio-turret-nw-1","warptorio-turret-ne-1","warptorio-turret-se-1","warptorio-turret-sw-1","low-density-structure"},
unit={count=400,time=40}},{red=1,green=1,black=1,blue=1})
-- ----
-- Factory Floor Upgrades
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/automation.png",tint={r=0.3,g=0.3,b=1,a=1}}
}, }
ExtendTech(t,{name="warptorio-factory-0",unit={count=80,time=20}, prerequisites={"automation","warptorio-platform-size-1"}, upgrade=false,
localised_name={"technology-name.warptorio-factory"},
localised_description={"technology-description.warptorio-factory-floor"},
},{red=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/automation.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={32,32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-factory-1",unit={count=120,time=20}, prerequisites={"warptorio-factory-0","steel-processing"}}, {red=1})
ExtendTech(t,{name="warptorio-factory-2",unit={count=150,time=15}, prerequisites={"electric-energy-distribution-1","advanced-material-processing","automation-2","warptorio-factory-1"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-factory-3",unit={count=180,time=20}, prerequisites={"warptorio-factory-2","sulfur-processing"}}, {red=2,green=2})
ExtendTech(t,{name="warptorio-factory-4",unit={count=220,time=25}, prerequisites={"warptorio-factory-3","chemical-science-pack","modules"}}, {red=2,green=2,blue=1})
ExtendTech(t,{name="warptorio-factory-5",unit={count=250,time=20}, prerequisites={"warptorio-factory-4","advanced-material-processing-2"}}, {red=2,green=2,blue=1})
ExtendTech(t,{name="warptorio-factory-6",unit={count=300,time=20}, prerequisites={"warptorio-factory-5","automation-3"}}, {red=2,green=2,blue=1,purple=1})
ExtendTech(t,{name="warptorio-factory-7",unit={count=350,time=20}, prerequisites={"warptorio-factory-6","utility-science-pack","effect-transmission"}}, {red=2,green=3,blue=1,purple=1,yellow=1})
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/automation.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={0,-32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-factory-n",unit={count=1000,time=30}, prerequisites={"warptorio-factory-7","space-science-pack","warptorio-bridgesize-2"}}, {red=3,green=2,blue=3,purple=2,yellow=1,white=1})
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/automation.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={0,32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-factory-s",unit={count=1000,time=30}, prerequisites={"warptorio-factory-7","space-science-pack","warptorio-bridgesize-2"}}, {red=3,green=2,blue=3,purple=2,yellow=1,white=1})
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/automation.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={32,0},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-factory-e",unit={count=1000,time=30}, prerequisites={"warptorio-factory-7","space-science-pack","warptorio-bridgesize-2"}}, {red=3,green=2,blue=3,purple=2,yellow=1,white=1})
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/automation.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={-32,0},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-factory-w",unit={count=1000,time=30}, prerequisites={"warptorio-factory-7","space-science-pack","warptorio-bridgesize-2"}}, {red=3,green=2,blue=3,purple=2,yellow=1,white=1})
-- ----
-- Boiler Room Upgrades
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/fluid-handling.png",tint={r=0.3,g=0.3,b=1,a=1}}
}, }
ExtendTech(t,{name="warptorio-boiler-0",unit={count=100,time=30}, prerequisites={"steel-processing","warptorio-harvester-floor"},upgrade=false,
localised_name={"technology-name.warptorio-boiler"},
localised_description={"technology-description.warptorio-boiler-floor"},
}, {red=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/fluid-handling.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={32,32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-boiler-1",unit={count=100,time=30}, prerequisites={"warptorio-boiler-0","fluid-handling"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-boiler-2",unit={count=200,time=30}, prerequisites={"warptorio-boiler-1","flammables"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-boiler-3",unit={count=300,time=30}, prerequisites={"warptorio-boiler-2","battery"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-boiler-4",unit={count=150,time=30}, prerequisites={"warptorio-boiler-3","chemical-science-pack"}}, {red=2,green=2,blue=1})
ExtendTech(t,{name="warptorio-boiler-5",unit={count=200,time=30}, prerequisites={"warptorio-boiler-4","production-science-pack"}}, {red=2,green=2,blue=1,purple=1})
ExtendTech(t,{name="warptorio-boiler-6",unit={count=300,time=30}, prerequisites={"warptorio-boiler-5","nuclear-fuel-reprocessing"}}, {red=2,green=2,blue=1,purple=1,})
ExtendTech(t,{name="warptorio-boiler-7",unit={count=300,time=30}, prerequisites={"warptorio-boiler-6","utility-science-pack"}}, {red=2,green=2,blue=1,purple=1,yellow=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/fluid-handling.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/oil-gathering.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={32,32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-boiler-water-1",upgrade=true,unit={count=500,time=30}, prerequisites={"warptorio-boiler-3","landfill"}}, {red=2,green=2,blue=1})
ExtendTech(t,{name="warptorio-boiler-water-2",upgrade=true,unit={count=500,time=30}, prerequisites={"warptorio-boiler-5","warptorio-boiler-water-1"}}, {red=2,green=2,blue=1,purple=1})
ExtendTech(t,{name="warptorio-boiler-water-3",upgrade=true,unit={count=2000,time=30}, prerequisites={"warptorio-boiler-water-2","space-science-pack"}}, {red=1,green=1,blue=1,purple=1,yellow=1,white=1})
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/fluid-handling.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={0,-32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-boiler-n",unit={count=1000,time=30}, prerequisites={"warptorio-boiler-7","space-science-pack"}}, {red=3,green=2,blue=2,purple=2,yellow=1,white=1})
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/fluid-handling.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={0,32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-boiler-s",unit={count=1000,time=30}, prerequisites={"warptorio-boiler-7","space-science-pack"}}, {red=3,green=2,blue=2,purple=2,yellow=1,white=1})
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/fluid-handling.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={32,0},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-boiler-e",unit={count=1000,time=30}, prerequisites={"warptorio-boiler-7","space-science-pack"}}, {red=3,green=2,blue=2,purple=2,yellow=1,white=1})
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/fluid-handling.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={-32,0},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-boiler-w",unit={count=1000,time=30}, prerequisites={"warptorio-boiler-7","space-science-pack"}}, {red=3,green=2,blue=2,purple=2,yellow=1,white=1})
-- ----
-- Harvester Size
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/tanks.png",tint={r=0.3,g=0.3,b=1,a=1}}
}, }
ExtendTech(t,{name="warptorio-harvester-floor",unit={count=100,time=30}, prerequisites={"fast-inserter","warptorio-factory-0"},upgrade=false}, {red=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/tanks.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={32,32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-harvester-size-1",unit={count=100,time=30}, prerequisites={"warptorio-harvester-floor","oil-processing"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-harvester-size-2",unit={count=150,time=30}, prerequisites={"warptorio-harvester-size-1","stack-inserter"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-harvester-size-3",unit={count=200,time=30}, prerequisites={"warptorio-harvester-size-2","mining-productivity-1"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-harvester-size-4",unit={count=250,time=30}, prerequisites={"warptorio-harvester-size-3","chemical-science-pack"}}, {red=2,green=2,blue=1})
ExtendTech(t,{name="warptorio-harvester-size-5",unit={count=300,time=30}, prerequisites={"warptorio-harvester-size-4","production-science-pack","mining-productivity-2"}}, {red=2,green=2,blue=1,purple=1})
ExtendTech(t,{name="warptorio-harvester-size-6",unit={count=350,time=30}, prerequisites={"warptorio-harvester-size-5","nuclear-fuel-reprocessing"}}, {red=2,green=2,blue=1,purple=1,})
ExtendTech(t,{name="warptorio-harvester-size-7",unit={count=400,time=30}, prerequisites={"warptorio-harvester-size-6","utility-science-pack","mining-productivity-3"}}, {red=2,green=2,blue=1,purple=1,yellow=1})
for v,w in pairs({east={32,0},west={-32,0}})do local odr=(v=="east" and "a-b" or "a-a")
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/tanks.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/concrete.png",tint={r=1,g=0.7,b=0.4,a=0.9},shift={w[1],w[2]},scale=0.45,priority="high"},
}, }
--ExtendTech(t,{name="warptorio-harvester-"..v.."-gate",upgrade=false, unit={count=150,time=25}, prerequisites={"warptorio-harvester-floor"}}, {red=1,green=1} )
ExtendTech(t,{name="warptorio-harvester-"..v.."-1", order=odr, unit={count=150,time=25}, prerequisites={"warptorio-harvester-floor"},localised_description={"technology-description.warptorio-harvester-"..v.."-gate"}}, {red=1,green=1,} )
ExtendTech(t,{name="warptorio-harvester-"..v.."-2", order=odr, unit={count=200,time=25}, prerequisites={"warptorio-harvester-"..v.."-1","mining-productivity-1","military-science-pack"}}, {red=2,green=1,black=1} )
ExtendTech(t,{name="warptorio-harvester-"..v.."-3", order=odr, unit={count=300,time=25}, prerequisites={"warptorio-harvester-"..v.."-2","mining-productivity-2"}}, {red=2,green=2,black=1,blue=1} )
ExtendTech(t,{name="warptorio-harvester-"..v.."-4", order=odr, unit={count=400,time=25}, prerequisites={"warptorio-harvester-"..v.."-3","nuclear-fuel-reprocessing"}}, {red=2,green=2,black=1,blue=1,purple=1} )
ExtendTech(t,{name="warptorio-harvester-"..v.."-5", order=odr, unit={count=500,time=25}, prerequisites={"warptorio-harvester-"..v.."-4","mining-productivity-3"}}, {red=2,green=2,black=1,blue=1,purple=1,yellow=1} )
end
--[[ todo
for v,w in pairs({nw={-38,-38},ne={38,-38},se={38,38},sw={-38,38}})do
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/tanks.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/concrete.png",tint={r=1,g=0.7,b=0.4,a=0.9},shift={w[1],w[2]},scale=0.45,priority="high"},
}, }
ExtendTech(t,{name="warptorio-harvester-"..v.."",upgrade=false, unit={count=1000,time=40}, prerequisites={"warptorio-harvester-size-7","warptorio-reactor-8","space-science-pack"}}, {red=1,green=1,black=1,blue=1,purple=1,yellow=1,white=1} )
end
]]
-- ----
-- Logistics
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/logistics.png",tint={r=0.3,g=0.3,b=1,a=1}},
},
}
ExtendTech(t,{name="warptorio-logistics-1", unit={count=100,time=20}, prerequisites={"logistics","warptorio-factory-0"},upgrade=false}, {red=1} )
ExtendTech(t,{name="warptorio-logistics-2", unit={count=200,time=20}, prerequisites={"logistics-2","warptorio-logistics-1"}}, {red=2,green=1} )
ExtendTech(t,{name="warptorio-logistics-3", unit={count=300,time=20}, prerequisites={"logistics-3","warptorio-logistics-2"}}, {red=2,green=2,blue=1,purple=1} )
ExtendTech(t,{name="warptorio-logistics-4", unit={count=400,time=20}, prerequisites={"logistic-system","warptorio-logistics-3"}}, {red=2,green=2,blue=1,purple=1,yellow=1} )
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/logistics.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/logistics.png",tint={r=1,g=1,b=0.7,a=0.9},shift={24,24},scale=0.4,priority="medium"},
{icon="__base__/graphics/technology/logistics.png",tint={r=1,g=1,b=0.7,a=0.9},shift={-24,24},scale=0.4,priority="medium"},
},
}
ExtendTech(t,{name="warptorio-dualloader-1", unit={count=1000,time=10}, prerequisites={"logistics-2","warptorio-logistics-1"}}, {red=1,green=1} )
--ExtendTech(t,{name="warptorio-dualloader-2", unit={count=1000,time=15}, prerequisites={"logistics-2","warptorio-dualloader-1"}}, {red=2,green=1} )
--ExtendTech(t,{name="warptorio-dualloader-3", unit={count=1000,time=20}, prerequisites={"logistics-3","warptorio-dualloader-2","production-science-pack"}}, {red=3,green=2,blue=1,purple=1} )
t.upgrade=false
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/logistics.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__base__/graphics/technology/logistics.png",tint={r=1,g=1,b=0.7,a=0.9},shift={-28,-12},scale=0.4,priority="medium"},
{icon="__base__/graphics/technology/logistics.png",tint={r=1,g=1,b=0.7,a=0.9},shift={28,-12},scale=0.4,priority="medium"},
{icon="__base__/graphics/technology/logistics.png",tint={r=1,g=1,b=0.7,a=0.9},shift={0,32},scale=0.4,priority="high"},
},
}
ExtendTech(t,{name="warptorio-triloader", unit={count=10000,time=10}, prerequisites={"warptorio-logistics-1"}}, {red=1} )
-- ----
-- Warp Loader
local t={type="technology",upgrade=false,icon_size=128,icons={
{icon="__base__/graphics/technology/logistics.png",tint={r=0.3,g=0.3,b=1,a=1},priority="low"},
{icon="__warptorio2__/graphics/technology/earth.png",tint={r=0.8,g=0.8,b=1,a=1},scale=0.5,shift={32,32},priority="high"}
}, effects={ {recipe="warptorio-warploader",type="unlock-recipe"} },
}
ExtendTech(t,{name="warptorio-warploader", unit={count=10000,time=10}, prerequisites={"warptorio-armor","warptorio-warpmodule","warptorio-warpnuke","warptorio-warpport"}}, {red=1,green=1,blue=1,purple=1,yellow=1,white=1} )
-- ----
-- Energy Upgrades
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/electric-energy-acumulators.png",tint={r=0.3,g=0.3,b=1,a=1}} }, }
ExtendTech(t,{name="warptorio-energy-1",unit={count=30,time=20}, prerequisites={"warptorio-factory-0"},upgrade=false}, {red=1})
ExtendTech(t,{name="warptorio-energy-2",unit={count=100,time=25}, prerequisites={"warptorio-energy-1","electric-energy-distribution-1"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-energy-3",unit={count=150,time=30}, prerequisites={"warptorio-energy-2","advanced-electronics"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-energy-4",unit={count=200,time=35}, prerequisites={"warptorio-energy-3","electric-energy-distribution-2","advanced-electronics-2"}}, {red=1,green=1,blue=1})
ExtendTech(t,{name="warptorio-energy-5",unit={count=250,time=40}, prerequisites={"warptorio-energy-4","utility-science-pack","production-science-pack"}}, {red=1,green=1,blue=1,purple=1,yellow=1})
-- ----
-- Teleporter
local t={type="technology",upgrade=true,icon_size=128,icons={ {icon="__base__/graphics/technology/research-speed.png",tint={r=0.3,g=0.3,b=1,a=1}} }, }
ExtendTech(t,{name="warptorio-teleporter-portal",unit={count=30,time=20}, prerequisites={"warptorio-factory-0","electronics",},upgrade=false}, {red=1})
ExtendTech(t,{name="warptorio-teleporter-1",unit={count=30,time=20}, prerequisites={"warptorio-teleporter-portal","electric-energy-distribution-1"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-teleporter-2",unit={count=30,time=20}, prerequisites={"warptorio-teleporter-1","advanced-electronics"}}, {red=2,green=2,})
ExtendTech(t,{name="warptorio-teleporter-3",unit={count=30,time=20}, prerequisites={"warptorio-teleporter-2","electric-energy-distribution-2","advanced-electronics-2"}}, {red=2,green=2,blue=1})
ExtendTech(t,{name="warptorio-teleporter-4",unit={count=30,time=20}, prerequisites={"warptorio-teleporter-3","nuclear-power"}}, {red=2,green=2,blue=2,})
ExtendTech(t,{name="warptorio-teleporter-5",unit={count=30,time=20}, prerequisites={"warptorio-teleporter-4","utility-science-pack","production-science-pack"}}, {red=2,green=3,blue=2,purple=1,yellow=1})
-- ----
-- Beacon
local t={type="technology",upgrade=true,icon_size=32,icons={ {icon="__base__/graphics/icons/beacon.png",tint={r=0.3,g=0.3,b=1,a=1}} }, }
ExtendTech(t,{name="warptorio-beacon-1",unit={count=300,time=20}, prerequisites={"modules","warptorio-factory-0"},upgrade=false}, {red=1,green=1})
ExtendTech(t,{name="warptorio-beacon-2",unit={count=500,time=20}, prerequisites={"warptorio-beacon-1","speed-module","productivity-module","effectivity-module"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-beacon-3",unit={count=300,time=20}, prerequisites={"warptorio-beacon-2","speed-module-2","productivity-module-2","effectivity-module-2"}}, {red=2,green=2,blue=1})
ExtendTech(t,{name="warptorio-beacon-4",unit={count=500,time=20}, prerequisites={"warptorio-beacon-3","speed-module-3","productivity-module-3","effectivity-module-3"}}, {red=2,green=2,blue=1,purple=1})
ExtendTech(t,{name="warptorio-beacon-5",unit={count="700",time=20}, prerequisites={"warptorio-beacon-4","utility-science-pack"}}, {red=2,green=2,blue=1,purple=1,yellow=1})
ExtendTech(t,{name="warptorio-beacon-6",unit={count="900",time=20}, prerequisites={"warptorio-beacon-5"}}, {red=2,green=2,blue=1,purple=1,yellow=1})
ExtendTech(t,{name="warptorio-beacon-7",unit={count="1200",time=20}, prerequisites={"warptorio-beacon-6"}}, {red=2,green=2,blue=1,purple=1,yellow=1})
ExtendTech(t,{name="warptorio-beacon-8",unit={count="1500",time=20}, prerequisites={"warptorio-beacon-7"}}, {red=2,green=2,blue=1,purple=1,yellow=1})
ExtendTech(t,{name="warptorio-beacon-9",unit={count="1000",time=20}, prerequisites={"warptorio-beacon-8","space-science-pack"}}, {red=3,green=3,blue=2,purple=1,yellow=1,white=1})
ExtendTech(t,{name="warptorio-beacon-10",unit={count="2000",time=20}, prerequisites={"warptorio-beacon-9"}}, {red=3,green=3,blue=2,purple=2,yellow=2,white=1})
--[[ unused
local t={type="technology",upgrade=true,icon_size=32,icons={ {icon="__base__/graphics/icons/beacon.png",tint={r=0.3,g=0.3,b=1,a=1}} }, }
ExtendTech(t,{name="warptorio-beacon-1",unit={count=300,time=20}, prerequisites={"modules","warptorio-factory-0"},upgrade=false}, {red=1,green=1})
ExtendTech(t,{name="warptorio-beacon-2",unit={count=500,time=20}, prerequisites={"warptorio-beacon-1","speed-module","productivity-module","effectivity-module"}}, {red=1,green=1})
ExtendTech(t,{name="warptorio-beacon-3",unit={count=300,time=20}, prerequisites={"warptorio-beacon-2","speed-module-2","productivity-module-2","effectivity-module-2"}}, {red=2,green=2,blue=1})
ExtendTech(t,{name="warptorio-beacon-4",unit={count=500,time=20}, prerequisites={"warptorio-beacon-3","speed-module-3","productivity-module-3","effectivity-module-3"}}, {red=2,green=2,blue=1,purple=1})
ExtendTech(t,{name="warptorio-beacon-5",unit={count_formula="250+50*L",time=20},max_level=10, prerequisites={"warptorio-beacon-4","utility-science-pack"}}, {red=2,green=2,blue=1,purple=1,yellow=1})
ExtendTech(t,{name="warptorio-beacon-11",unit={count=5,time=1}, prerequisites={"warptorio-beacon-5"}}, {red=5,green=5,blue=5,purple=5,white=5})
ExtendTech(t,{name="warptorio-beacon-12",unit={count=5,time=1}, prerequisites={"warptorio-beacon-11"}}, {red=2,green=5,blue=5,purple=5,white=5})
]]
-- ----
-- Warp Beacon
local t=ExtendDataCopy("beacon","beacon",{name="warptorio-beacon-1",supply_area_distance=16,module_specification={module_slots=1},
base_picture={ tint={r=0.5,g=0.7,b=1,a=1}, }, animation={ tint={r=1,g=0.2,b=0.2,a=1}, },
allowed_effects={"consumption","speed","pollution","productivity"},
distribution_effectivity=1,
},true)
for i=2,10,1 do local xt=table.deepcopy(t) xt.name="warptorio-beacon-"..i xt.supply_area_distance=math.min(16+8*i,64) xt.module_specification.module_slots=i data:extend{xt} end
-- ----
-- Radar
--[[
local t={type="technology",icon_size=128,icons={ {icon="__base__/graphics/technology/radar.png",tint={r=0.3,g=0.3,b=1,a=1}} }, }
ExtendTech(t,{name="warptorio-radar-1",unit={count=300,time=15},prerequisites={"radar","chemical-science-pack","optics"}}, {red=1,green=1})
]]
-- ----
-- Warp Armor
local t={type="technology",icon_size=128,icons={ {icon="__base__/graphics/technology/power-armor-mk2.png",tint={r=0.3,g=0.3,b=1,a=1}},},prerequisites={"power-armor-mk2","warptorio-reactor-8","space-science-pack"} }
ExtendTech(t,{name="warptorio-armor",unit={count=1000,time=60},effects={{recipe="warptorio-armor",type="unlock-recipe"}}},{red=4,green=4,blue=4,black=5,yellow=2,white=1})
data:extend{{type="equipment-grid",name="warptorio-warparmor-grid",equipment_categories={"armor"},height=16,width=16}}
local t=ExtendDataCopy("armor","power-armor-mk2",{name="warptorio-armor",equipment_grid="warptorio-warparmor-grid",
icon_size=32,icons={{icon="__base__/graphics/icons/power-armor-mk2.png",tint={r=0.3,g=0.3,b=1,a=1},}},inventory_size_bonus=100},false)
local t=ExtendDataCopy("recipe","power-armor-mk2",{name="warptorio-armor",enabled=false,ingredients={{"power-armor-mk2",5},{"power-armor",5},{"modular-armor",5},{"heavy-armor",5},{"light-armor",5}},result="warptorio-armor"})
-- ----
-- Warp Combinators
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/circuit-network.png",tint={r=0.3,g=0.3,b=1,a=1}},
--{icon="__base__/graphics/technology/concrete.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={32,32},scale=0.5},
}, effects={
{recipe="warptorio-combinator",type="unlock-recipe"},
}, }
ExtendTech(t,{name="warptorio-combinator",unit={count=50,time=20}, prerequisites={"circuit-network","chemical-science-pack"}}, {red=1,green=1,blue=1})
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/circuit-network.png",tint={r=0.3,g=0.3,b=1,a=1}},
{icon="__base__/graphics/technology/tanks.png",tint={r=0.7,g=0.7,b=1,a=0.9},priority="medium",shift={32,32},scale=0.5},
}, }
ExtendTech(t,{name="warptorio-alt-combinator",unit={count=50,time=20}, prerequisites={"circuit-network","production-science-pack","warptorio-harvester-east-1","warptorio-harvester-west-1"}}, {red=1,green=1,blue=1,purple=1})
-- ----
-- Warp Toolbar
local t={type="technology",upgrade=true,icon_size=128,icons={
{icon="__base__/graphics/technology/toolbelt.png",tint={r=0.4,g=0.4,b=1,a=1}},
{icon="__warptorio2__/graphics/technology/earth.png",tint={r=0.8,g=0.8,b=1,a=0.9},priority="medium",shift={32,32},scale=0.5},
},}
ExtendTech(t,{name="warptorio-toolbar",unit={count=2000,time=20},
prerequisites={"space-science-pack","warptorio-toolbelt-5","warptorio-reach-5","warptorio-harvester-east-5","warptorio-harvester-west-5","warptorio-teleporter-5","warptorio-striders-2"},
},
{red=1,green=1,blue=1,purple=1,black=1,yellow=1,white=1}
)