Barbarian units (#5589)

* barbarian unique units; barbarian blacklisted units

* credits

* barbarian units do not take resources

* ai fix
This commit is contained in:
SimonCeder 2021-10-29 12:33:11 +02:00 committed by GitHub
parent 6172a893b8
commit bfe0b68ab8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 429 additions and 385 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 KiB

After

Width:  |  Height:  |  Size: 714 KiB

View File

@ -566,7 +566,7 @@ OtherIcons/Banner
index: -1
OtherIcons/Camera
rotate: false
xy: 1092, 690
xy: 685, 4
size: 25, 25
orig: 25, 25
offset: 0, 0
@ -662,27 +662,6 @@ OtherIcons/Fire
orig: 100, 100
offset: 0, 0
index: -1
OtherIcons/Hexagon
rotate: false
xy: 4, 1804
size: 277, 240
orig: 277, 240
offset: 0, 0
index: -1
TileSets/Default/Hexagon
rotate: false
xy: 4, 1804
size: 277, 240
orig: 277, 240
offset: 0, 0
index: -1
TileSets/FantasyHex/Hexagon
rotate: false
xy: 4, 1804
size: 277, 240
orig: 277, 240
offset: 0, 0
index: -1
OtherIcons/Improvements
rotate: false
xy: 1764, 1288
@ -1796,20 +1775,6 @@ TileSets/Default/CityOverlay
orig: 100, 100
offset: 0, 0
index: -1
TileSets/Default/CrosshatchHexagon
rotate: false
xy: 4, 1560
size: 273, 236
orig: 273, 236
offset: 0, 0
index: -1
TileSets/FantasyHex/CrosshatchHexagon
rotate: false
xy: 4, 1560
size: 273, 236
orig: 273, 236
offset: 0, 0
index: -1
TileSets/Default/FalloutOverlay
rotate: false
xy: 112, 78
@ -1910,25 +1875,60 @@ TileSets/Default/Road
index: -1
TileSets/Default/Tiles/River-Bottom
rotate: false
xy: 708, 237
xy: 748, 282
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/Default/Tiles/River-BottomLeft
rotate: false
xy: 788, 322
xy: 828, 358
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/Default/Tiles/River-BottomRight
rotate: false
xy: 708, 201
xy: 748, 246
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/CrosshatchHexagon
rotate: false
xy: 4, 1560
size: 273, 236
orig: 273, 236
offset: 0, 0
index: -1
TileSets/Default/CrosshatchHexagon
rotate: false
xy: 4, 1560
size: 273, 236
orig: 273, 236
offset: 0, 0
index: -1
TileSets/FantasyHex/Hexagon
rotate: false
xy: 4, 1804
size: 277, 240
orig: 277, 240
offset: 0, 0
index: -1
OtherIcons/Hexagon
rotate: false
xy: 4, 1804
size: 277, 240
orig: 277, 240
offset: 0, 0
index: -1
TileSets/Default/Hexagon
rotate: false
xy: 4, 1804
size: 277, 240
orig: 277, 240
offset: 0, 0
index: -1
TileSets/FantasyHex/Railroad
rotate: false
xy: 1300, 1364
@ -2603,168 +2603,168 @@ TileSets/FantasyHex/Tiles/Manufactory
index: -1
TileSets/FantasyHex/Tiles/Marble
rotate: false
xy: 1556, 1091
xy: 1524, 1032
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Marsh
rotate: false
xy: 1524, 995
xy: 1524, 959
size: 32, 29
orig: 32, 29
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Mine
rotate: false
xy: 1524, 851
xy: 1524, 815
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Moai
rotate: false
xy: 1564, 1054
xy: 1564, 1018
size: 32, 29
orig: 32, 29
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Mount Fuji
rotate: false
xy: 1564, 908
xy: 1564, 872
size: 32, 30
orig: 32, 30
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Mount Kailash
rotate: false
xy: 1564, 868
xy: 1564, 832
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Mount Sinai
rotate: false
xy: 1564, 828
xy: 1564, 792
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Mountain
rotate: false
xy: 1564, 784
xy: 1564, 748
size: 32, 36
orig: 32, 36
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Oasis
rotate: false
xy: 1604, 923
xy: 1604, 887
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Ocean
rotate: false
xy: 1604, 887
xy: 1604, 851
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Offshore Platform
rotate: false
xy: 1604, 851
xy: 1604, 815
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Oil
rotate: false
xy: 1604, 815
xy: 1604, 779
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Oil well
rotate: false
xy: 1604, 779
xy: 1604, 743
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Old Faithful
rotate: false
xy: 1604, 739
xy: 405, 39
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Pasture
rotate: false
xy: 448, 68
xy: 445, 32
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Pearls
rotate: false
xy: 405, 36
xy: 525, 40
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Plains
rotate: false
xy: 528, 4
xy: 605, 40
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Plains+Farm
rotate: false
xy: 568, 40
xy: 605, 4
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Plains+Forest+Camp
rotate: false
xy: 608, 36
xy: 645, 36
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Plains+Forest+Lumber mill
rotate: false
xy: 708, 426
xy: 685, 37
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Plains+Jungle+Trading post
rotate: false
xy: 708, 386
xy: 708, 426
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/PlainsForest
rotate: false
xy: 748, 426
xy: 708, 386
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/PlainsJungle
rotate: false
xy: 708, 346
xy: 748, 426
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Plantation
rotate: false
xy: 568, 4
xy: 708, 350
size: 32, 28
orig: 32, 28
offset: 0, 0
@ -2785,7 +2785,7 @@ TileSets/FantasyHex/Tiles/Plantation+Cotton
index: -1
TileSets/FantasyHex/Tiles/Polder
rotate: false
xy: 708, 309
xy: 708, 313
size: 32, 29
orig: 32, 29
offset: 0, 0
@ -2799,7 +2799,7 @@ TileSets/FantasyHex/Tiles/Quarry
index: -1
TileSets/FantasyHex/Tiles/Quarry+Marble
rotate: false
xy: 708, 273
xy: 708, 277
size: 32, 28
orig: 32, 28
offset: 0, 0
@ -2813,21 +2813,21 @@ TileSets/FantasyHex/Tiles/Quarry+Stone
index: -1
TileSets/FantasyHex/Tiles/River-Bottom
rotate: false
xy: 748, 282
xy: 708, 241
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/River-BottomLeft
rotate: false
xy: 828, 358
xy: 788, 322
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/River-BottomRight
rotate: false
xy: 748, 246
xy: 708, 205
size: 32, 28
orig: 32, 28
offset: 0, 0
@ -2841,7 +2841,7 @@ TileSets/FantasyHex/Tiles/Rock of Gibraltar
index: -1
TileSets/FantasyHex/Tiles/Salt
rotate: false
xy: 708, 165
xy: 708, 169
size: 32, 28
orig: 32, 28
offset: 0, 0
@ -2883,196 +2883,196 @@ TileSets/FantasyHex/Tiles/Silver
index: -1
TileSets/FantasyHex/Tiles/Snow
rotate: false
xy: 788, 134
xy: 828, 141
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Snow+Farm
rotate: false
xy: 828, 177
xy: 788, 98
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Spices
rotate: false
xy: 788, 98
xy: 868, 417
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Spices+Plantation
rotate: false
xy: 828, 141
xy: 868, 381
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Sri Pada
rotate: false
xy: 828, 101
xy: 868, 341
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Stone
rotate: false
xy: 788, 62
xy: 868, 305
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Sugar
rotate: false
xy: 828, 65
xy: 868, 235
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Sugar+Plantation
rotate: false
xy: 748, 30
xy: 868, 199
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Terrace farm
rotate: false
xy: 868, 417
xy: 828, 69
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Trading post
rotate: false
xy: 868, 345
xy: 908, 417
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Truffles
rotate: false
xy: 868, 237
xy: 908, 309
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Truffles+Camp
rotate: false
xy: 868, 201
xy: 908, 273
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Tundra
rotate: false
xy: 868, 165
xy: 908, 237
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Tundra+Farm
rotate: false
xy: 868, 129
xy: 908, 201
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Tundra+Forest+Camp
rotate: false
xy: 868, 89
xy: 908, 161
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Tundra+Forest+Camp+Furs
rotate: false
xy: 868, 49
xy: 908, 121
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Tundra+Forest+Deer+Camp
rotate: false
xy: 908, 413
xy: 908, 81
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Tundra+Forest+Lumber mill
rotate: false
xy: 908, 373
xy: 908, 41
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Tundra+Forest+Truffles+Camp
rotate: false
xy: 908, 333
xy: 748, 60
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/TundraForest
rotate: false
xy: 908, 293
xy: 788, 58
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Uluru
rotate: false
xy: 908, 217
xy: 868, 15
size: 32, 32
orig: 32, 32
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Uranium
rotate: false
xy: 908, 181
xy: 908, 5
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Whales
rotate: false
xy: 868, 13
xy: 932, 698
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Whales+Fishing Boats
rotate: false
xy: 1254, 697
xy: 924, 662
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Wheat
rotate: false
xy: 932, 698
xy: 924, 626
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Wine
rotate: false
xy: 924, 662
xy: 972, 690
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Tiles/Wine+Plantation
rotate: false
xy: 924, 626
xy: 1012, 687
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/TopBorder
rotate: false
xy: 868, 381
xy: 868, 55
size: 32, 28
orig: 32, 28
offset: 0, 0
@ -3658,156 +3658,163 @@ TileSets/FantasyHex/Units/Maori Warrior
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Marauder
rotate: false
xy: 1556, 1091
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Marine
rotate: false
xy: 1524, 1032
xy: 1524, 996
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Mechanized Infantry
rotate: false
xy: 1524, 959
xy: 1524, 923
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Mehal Sefari
rotate: false
xy: 1524, 923
xy: 1524, 887
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Merchant Of Venice
rotate: false
xy: 1524, 887
xy: 1524, 851
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Minuteman
rotate: false
xy: 1524, 815
xy: 1484, 806
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Missile Cruiser
rotate: false
xy: 1484, 806
xy: 1524, 779
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Missionary
rotate: false
xy: 1524, 779
xy: 1564, 1055
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Mobile SAM
rotate: false
xy: 1564, 1018
xy: 1564, 982
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Modern Armor
rotate: false
xy: 1564, 982
xy: 1564, 946
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Mohawk Warrior
rotate: false
xy: 1564, 946
xy: 1564, 910
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Musketeer
rotate: false
xy: 1564, 748
xy: 1596, 1103
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Musketman
rotate: false
xy: 1596, 1103
xy: 1604, 1067
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Naresuan's Elephant
rotate: false
xy: 1604, 1067
xy: 1604, 1031
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Nau
rotate: false
xy: 1604, 1031
xy: 1604, 995
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Norwegian Ski Infantry
rotate: false
xy: 1604, 995
xy: 1604, 959
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Nuclear Submarine
rotate: false
xy: 1604, 959
xy: 1604, 923
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Panzer
rotate: false
xy: 668, 41
xy: 445, 72
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Paratrooper
rotate: false
xy: 408, 72
xy: 485, 72
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Pathfinder
rotate: false
xy: 488, 72
xy: 485, 36
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Persian Immortal
rotate: false
xy: 445, 32
xy: 525, 4
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Pictish Warrior
rotate: false
xy: 488, 36
xy: 565, 40
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Pikeman
rotate: false
xy: 528, 40
xy: 565, 4
size: 32, 28
orig: 32, 28
offset: 0, 0
@ -3870,7 +3877,7 @@ TileSets/FantasyHex/Units/Sea Beggar
index: -1
TileSets/FantasyHex/Units/Settler
rotate: false
xy: 708, 128
xy: 708, 132
size: 32, 29
orig: 32, 29
offset: 0, 0
@ -3891,126 +3898,133 @@ TileSets/FantasyHex/Units/Ship of the Line
index: -1
TileSets/FantasyHex/Units/Siege Tower
rotate: false
xy: 708, 92
xy: 708, 96
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Sipahi
rotate: false
xy: 708, 54
xy: 748, 100
size: 32, 30
orig: 32, 30
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Skirmisher
rotate: false
xy: 788, 134
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Slinger
rotate: false
xy: 748, 102
xy: 828, 177
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Spearman
rotate: false
xy: 748, 66
xy: 828, 105
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Submarine
rotate: false
xy: 365, 5
xy: 868, 271
size: 32, 26
orig: 32, 26
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Swordsman
rotate: false
xy: 708, 18
xy: 868, 163
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Tank
rotate: false
xy: 788, 26
xy: 868, 127
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Tercio
rotate: false
xy: 828, 29
xy: 868, 91
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Trebuchet
rotate: false
xy: 868, 309
xy: 908, 381
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Trireme
rotate: false
xy: 868, 273
xy: 908, 345
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Turtle Ship
rotate: false
xy: 908, 257
xy: 828, 33
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/War Chariot
rotate: false
xy: 908, 145
xy: 725, 24
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/War Elephant
rotate: false
xy: 908, 109
xy: 765, 22
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Warrior
rotate: false
xy: 908, 73
xy: 1254, 697
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/WaterUnit
rotate: false
xy: 908, 39
xy: 365, 5
size: 32, 26
orig: 32, 26
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Winged Hussar
rotate: false
xy: 972, 690
xy: 1052, 687
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Work Boats
rotate: false
xy: 1012, 687
xy: 1092, 687
size: 32, 28
orig: 32, 28
offset: 0, 0
index: -1
TileSets/FantasyHex/Units/Worker
rotate: false
xy: 1052, 687
xy: 964, 654
size: 32, 28
orig: 32, 28
offset: 0, 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@ -26,7 +26,7 @@
"strength": 5,
"cost": 25,
"obsoleteTech": "Scientific Theory",
"uniques": ["May upgrade to [Archer] through ruins-like effects"],
"uniques": ["May upgrade to [Archer] through ruins-like effects", "Never appears as a Barbarian unit"],
"promotions": ["Ignore terrain cost"],
"attackSound": "nonmetalhit"
},
@ -138,9 +138,8 @@
"upgradesTo": "Composite Bowman",
"attackSound": "arrow"
},
/*
{
"name": "Archer",
"name": "Skirmisher",
"unitType": "Archery",
"uniqueTo": "Barbarians",
"replaces": "Archer",
@ -152,9 +151,7 @@
"obsoleteTech": "Machinery",
"upgradesTo": "Crossbowman",
"attackSound": "arrow"
// Barbarian unique archer. Has same icon and name but +1 rangedStrength (in vanilla) and slightly different 3d texture
},
*/
{
"name": "Work Boats",
"unitType": "Civilian Water",
@ -170,7 +167,7 @@
"strength": 10,
"cost": 45,
"requiredTech": "Sailing",
"uniques": ["Cannot enter ocean tiles"],
"uniques": ["Cannot enter ocean tiles", "Never appears as a Barbarian unit"],
"upgradesTo": "Caravel",
"obsoleteTech": "Astronomy",
"attackSound": "nonmetalhit"
@ -204,20 +201,19 @@
"obsoleteTech": "Astronomy",
"attackSound": "arrow"
},
/*
{
"name": "Galley",
"unitType": "Water Melee",
"uniqueTo": "Barbarian",
"unitType": "Melee Water",
"uniqueTo": "Barbarians",
"movement": 3,
"strength": 7,
"cost": 40,
"uniques": ["Cannot enter ocean tiles"]
"uniques": ["Cannot enter ocean tiles"],
"upgradesTo": "Trireme",
"obsoleteTech": "Astronomy",
"attackSound": "nonmetalhit"
//Barbarian unique naval unit, weaker and slower than Trireme.
},
*/
{
"name": "Chariot Archer",
"unitType": "Archery",
@ -229,7 +225,7 @@
"requiredResource": "Horses",
"upgradesTo": "Knight",
"obsoleteTech": "Chivalry",
"uniques": ["No defensive terrain bonus", "Rough terrain penalty"],
"uniques": ["No defensive terrain bonus", "Rough terrain penalty", "Never appears as a Barbarian unit"],
"attackSound": "arrow"
},
{
@ -349,10 +345,11 @@
"promotions": ["Pictish Courage"],
"attackSound": "metalhit"
},
/*
{
"name": "Spearman",
"name": "Marauder",
"unitType": "Sword",
"replaces": "Spearman",
"uniqueTo": "Barbarians",
"movement": 2,
"strength": 10,
"cost": 56,
@ -361,9 +358,7 @@
"upgradesTo": "Pikeman",
"uniques": ["[+50]% Strength <vs [Mounted] units>"],
"attackSound": "metalhit"
// Barbarian unique Spearman. Has same icon and name but slightly different 3d texture
},
*/
/* Classical Era */
{
@ -440,7 +435,7 @@
"obsoleteTech": "Physics",
"upgradesTo": "Trebuchet",
"uniques": ["[+200]% Strength <vs cities> <when attacking>", "No defensive terrain bonus",
"Must set up to ranged attack", "[-1] Sight"],
"Must set up to ranged attack", "[-1] Sight", "Never appears as a Barbarian unit"],
"hurryCostModifier": 20,
"attackSound": "throw"
},
@ -585,7 +580,7 @@
"obsoleteTech": "Military Science",
"upgradesTo": "Cavalry",
"requiredResource": "Horses",
"uniques": ["Can move after attacking","No defensive terrain bonus","[-33]% Strength <vs cities>" ],
"uniques": ["Can move after attacking","No defensive terrain bonus","[-33]% Strength <vs cities>", "Never appears as a Barbarian unit"],
"attackSound": "horse"
},
{
@ -723,7 +718,7 @@
"requiredTech": "Physics",
"obsoleteTech": "Chemistry",
"upgradesTo": "Cannon",
"uniques": ["[+200]% Strength <vs cities> <when attacking>","No defensive terrain bonus","Must set up to ranged attack","[-1] Sight"],
"uniques": ["[+200]% Strength <vs cities> <when attacking>","No defensive terrain bonus","Must set up to ranged attack","[-1] Sight","Never appears as a Barbarian unit"],
"attackSound": "throw"
},
{
@ -949,7 +944,7 @@
"cost": 185,
"requiredTech": "Metallurgy",
"requiredResource": "Horses",
"uniques": ["Can move after attacking","No defensive terrain bonus","[-33]% Strength <vs cities>"],
"uniques": ["Can move after attacking","No defensive terrain bonus","[-33]% Strength <vs cities>","Never appears as a Barbarian unit"],
"promotions": ["Formation I"],
"upgradesTo": "Anti-Tank Gun",
"obsoleteTech": "Combined Arms",
@ -999,7 +994,7 @@
"requiredTech": "Chemistry",
"upgradesTo": "Artillery",
"obsoleteTech": "Dynamite",
"uniques": ["[+200]% Strength <vs cities> <when attacking>","No defensive terrain bonus","Must set up to ranged attack","[-1] Sight"],
"uniques": ["[+200]% Strength <vs cities> <when attacking>","No defensive terrain bonus","Must set up to ranged attack","[-1] Sight","Never appears as a Barbarian unit"],
"attackSound": "cannon"
},
@ -1086,7 +1081,7 @@
"obsoleteTech": "Combustion",
"requiredResource": "Horses",
"upgradesTo": "Landship",
"uniques": ["Can move after attacking","No defensive terrain bonus","[-33]% Strength <vs cities>" ],
"uniques": ["Can move after attacking","No defensive terrain bonus","[-33]% Strength <vs cities>", "Never appears as a Barbarian unit"],
"attackSound": "horse"
},
{
@ -1131,7 +1126,7 @@
"requiredResource": "Coal",
"upgradesTo": "Destroyer",
"obsoleteTech": "Combustion",
"uniques": ["[+33]% Strength <vs cities>","Double movement in [Coast]"],
"uniques": ["[+33]% Strength <vs cities>","Double movement in [Coast]", "Never appears as a Barbarian unit"],
"attackSound": "shipguns"
},
{
@ -1145,7 +1140,7 @@
"requiredTech": "Dynamite",
"upgradesTo": "Rocket Artillery",
"uniques": ["[+200]% Strength <vs cities> <when attacking>","No defensive terrain bonus",
"Must set up to ranged attack","[-1] Sight","Ranged attacks may be performed over obstacles"],
"Must set up to ranged attack","[-1] Sight","Ranged attacks may be performed over obstacles", "Never appears as a Barbarian unit"],
"attackSound": "artillery"
},
@ -1160,7 +1155,7 @@
"cost": 325,
"requiredTech": "Refrigeration",
"upgradesTo": "Nuclear Submarine",
"uniques": ["[+75]% Strength <when attacking>", "Can only attack [Water] tiles"],
"uniques": ["[+75]% Strength <when attacking>", "Can only attack [Water] tiles", "Never appears as a Barbarian unit"],
"attackSound": "torpedo"
},
{
@ -1248,7 +1243,7 @@
"cost": 375,
"requiredResource": "Oil",
"requiredTech": "Electronics",
"uniques": ["Ranged attacks may be performed over obstacles"],
"uniques": ["Ranged attacks may be performed over obstacles", "Never appears as a Barbarian unit"],
"attackSound": "shipguns"
// Does not actually upgrade to Missile Cruisers
},
@ -1275,7 +1270,7 @@
"requiredTech": "Ballistics",
"upgradesTo": "Mobile SAM",
"obsoleteTech": "Rocketry",
"uniques": ["[100]% chance to intercept air attacks", "[+150]% Strength <vs [Air] units>", "[+150]% Strength <vs [Helicopter] units>"],
"uniques": ["[100]% chance to intercept air attacks", "[+150]% Strength <vs [Air] units>", "[+150]% Strength <vs [Helicopter] units>", "Never appears as a Barbarian unit"],
"attackSound": "machinegun"
},
{
@ -1288,7 +1283,7 @@
"requiredResource": "Oil",
"upgradesTo": "Tank",
"obsoleteTech": "Combined Arms",
"uniques": ["Can move after attacking","No defensive terrain bonus"],
"uniques": ["Can move after attacking","No defensive terrain bonus", "Never appears as a Barbarian unit"],
"attackSound": "tankshot"
},
{
@ -1385,7 +1380,7 @@
"strength": 65,
"cost": 375,
"requiredTech": "Radar",
"uniques": ["May Paradrop up to [5] tiles from inside friendly territory"],
"uniques": ["May Paradrop up to [5] tiles from inside friendly territory", "Never appears as a Barbarian unit"],
"attackSound": "shot"
// upgradesTo "XCOM Squad", "No Movement Cost to Pillage" in BNW
},
@ -1398,7 +1393,7 @@
"requiredTech": "Combined Arms",
"requiredResource": "Oil",
"upgradesTo": "Modern Armor",
"uniques": ["Can move after attacking","No defensive terrain bonus"],
"uniques": ["Can move after attacking","No defensive terrain bonus", "Never appears as a Barbarian unit"],
"attackSound": "tankshot"
},
{
@ -1424,7 +1419,7 @@
"cost": 300,
"requiredTech": "Combined Arms",
"upgradesTo": "Helicopter Gunship",
"uniques": ["[+100]% Strength <vs [Armored] units>"],
"uniques": ["[+100]% Strength <vs [Armored] units>", "Never appears as a Barbarian unit"],
"attackSound": "machinegun"
},
{
@ -1455,7 +1450,7 @@
"requiredTech": "Rocketry",
"requiredResource": "Aluminum",
"uniques": ["[+200]% Strength <vs cities> <when attacking>","No defensive terrain bonus",
"[-1] Sight","Ranged attacks may be performed over obstacles"],
"[-1] Sight","Ranged attacks may be performed over obstacles", "Never appears as a Barbarian unit"],
"attackSound": "artillery"
},
{
@ -1466,7 +1461,8 @@
"strength": 65,
"cost": 425,
"requiredTech": "Rocketry",
"uniques": ["[100]% chance to intercept air attacks", "[+150]% Strength <vs [Air] units>", "[+150]% Strength <vs [Helicopter] units>"],
"uniques": ["[100]% chance to intercept air attacks", "[+150]% Strength <vs [Air] units>",
"[+150]% Strength <vs [Helicopter] units>", "Never appears as a Barbarian unit"],
"attackSound": "missile"
},
{
@ -1504,7 +1500,7 @@
"requiredTech": "Computers",
"requiredResource": "Aluminum",
"uniques": ["[+100]% Strength <vs [Armored] units>", "No defensive terrain bonus", "Can move after attacking",
"All tiles cost 1 movement", "Ignores Zone of Control", "Unable to capture cities"],
"All tiles cost 1 movement", "Ignores Zone of Control", "Unable to capture cities", "Never appears as a Barbarian unit"],
"attackSound": "machinegun"
},
@ -1518,7 +1514,7 @@
"rangedStrength": 85,
"cost": 425,
"requiredTech": "Telecommunications",
"uniques": ["[+75]% Strength <when attacking>", "Can only attack [Water] tiles", "[+1] Sight", "Can carry [2] [Missile] units"],
"uniques": ["[+75]% Strength <when attacking>", "Can only attack [Water] tiles", "[+1] Sight", "Can carry [2] [Missile] units", "Never appears as a Barbarian unit"],
"attackSound": "torpedo"
},
{
@ -1528,6 +1524,7 @@
"strength": 90,
"cost": 375,
"requiredTech": "Mobile Tactics",
"uniques": ["Never appears as a Barbarian unit"],
"attackSound": "tankshot"
},
{
@ -1542,7 +1539,7 @@
"requiredTech": "Robotics",
"uniques": ["[100]% chance to intercept air attacks", "Can see invisible [Submarine] units",
"Ranged attacks may be performed over obstacles", "Can carry [3] [Missile] units",
"[+100]% Strength <vs [Submarine] units>"],
"[+100]% Strength <vs [Submarine] units>", "Never appears as a Barbarian unit"],
"attackSound": "shipguns"
},
{
@ -1554,7 +1551,7 @@
"requiredTech": "Lasers",
"requiredResource": "Aluminum",
"upgradesTo": "Giant Death Robot",
"uniques": ["Can move after attacking", "No defensive terrain bonus"],
"uniques": ["Can move after attacking", "No defensive terrain bonus", "Never appears as a Barbarian unit"],
"attackSound": "tankshot"
},
{
@ -1579,7 +1576,7 @@
"cost": 425,
"requiredTech": "Nuclear Fusion",
"requiredResource": "Uranium",
"uniques": ["Can move after attacking", "No defensive terrain bonus"],
"uniques": ["Can move after attacking", "No defensive terrain bonus", "Never appears as a Barbarian unit"],
"attackSound": "gdrAttack"
},
{

View File

@ -260,9 +260,11 @@ class Encampment() {
barbarianCiv.tech.techsResearched = allResearchedTechs.toHashSet()
val unitList = gameInfo.ruleSet.units.values
.filter { it.isMilitary() &&
it.isBuildable(barbarianCiv) &&
!(it.hasUnique(UniqueType.MustSetUp) || it.hasUnique(UniqueType.CannotAttack)) &&
(if (naval) it.isWaterUnit() else it.isLandUnit()) }
!(it.hasUnique(UniqueType.MustSetUp) ||
it.hasUnique(UniqueType.CannotAttack) ||
it.hasUnique(UniqueType.CannotBeBarbarian)) &&
(if (naval) it.isWaterUnit() else it.isLandUnit()) &&
it.isBuildable(barbarianCiv) }
if (unitList.isEmpty()) return null // No naval tech yet? Mad modders?

View File

@ -138,12 +138,16 @@ object Automation {
if (civInfo.gameInfo.gameParameters.noBarbarians)
return false
val multiplier = if (civInfo.gameInfo.gameParameters.ragingBarbarians) 1.3f
// Very late in the game we are not afraid
if (civInfo.gameInfo.turns > 200 * civInfo.gameInfo.gameParameters.gameSpeed.modifier)
return false
var multiplier = if (civInfo.gameInfo.gameParameters.ragingBarbarians) 1.3f
else 1f // We're slightly more afraid of raging barbs
// If it is late in the game we are not afraid
// Past the early game we are less afraid
if (civInfo.gameInfo.turns > 120 * civInfo.gameInfo.gameParameters.gameSpeed.modifier * multiplier)
return false
multiplier /= 2
// If we have a lot of, or no cities we are not afraid
if (civInfo.cities.isEmpty() || civInfo.cities.count() >= 4 * multiplier)
@ -152,7 +156,7 @@ object Automation {
// If we have vision of our entire starting continent (ish) we are not afraid
civInfo.gameInfo.tileMap.assignContinents(TileMap.AssignContinentsMode.Ensure)
val startingContinent = civInfo.getCapital().getCenterTile().getContinent()
if (civInfo.gameInfo.tileMap.continentSizes[startingContinent]!! < civInfo.viewableTiles.count())
if (civInfo.gameInfo.tileMap.continentSizes[startingContinent]!! < civInfo.viewableTiles.count() * multiplier)
return false
// Otherwise we're afraid

View File

@ -265,6 +265,7 @@ enum class UniqueType(val text:String, vararg targets: UniqueTarget) {
CanEnterIceTiles("Can enter ice tiles", UniqueTarget.Unit),
CannotEnterOcean("Cannot enter ocean tiles", UniqueTarget.Unit),
CannotEnterOceanUntilAstronomy("Cannot enter ocean tiles until Astronomy", UniqueTarget.Unit),
CannotBeBarbarian("Never appears as a Barbarian unit", UniqueTarget.Unit),
///////////////////////////////////////// TILE UNIQUES /////////////////////////////////////////

View File

@ -416,12 +416,14 @@ class BaseUnit : RulesetObject(), INonPerpetualConstruction {
}
}
for ((resource, amount) in getResourceRequirements())
if (civInfo.getCivResourcesByName()[resource]!! < amount) {
rejectionReasons.add(RejectionReason.ConsumesResources.apply {
errorMessage = "Consumes [$amount] [$resource]"
})
}
if (!civInfo.isBarbarian()) { // Barbarians don't need resources
for ((resource, amount) in getResourceRequirements())
if (civInfo.getCivResourcesByName()[resource]!! < amount) {
rejectionReasons.add(RejectionReason.ConsumesResources.apply {
errorMessage = "Consumes [$amount] [$resource]"
})
}
}
if (hasUnique(UniqueType.FoundCity) &&
(civInfo.isCityState() || civInfo.isOneCityChallenger())

View File

@ -41,16 +41,19 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
* [Bow And Arrow](https://thenounproject.com/search/?q=Bow%20and%20Arrow&i=338261) By Viktor Ostrovsky for Archer
* [Bow](https://thenounproject.com/search/?q=bow&i=101736) By Arthur Shlain for Bowman
* [Javelin](https://thenounproject.com/term/javelin-thrower/2118369/) By WEBTECHOPS LLP for Atlatlist
* [arrows](https://thenounproject.com/term/arrows/2047488/) by Ayub Irawan for Skirmisher
* [Fishing Vessel](https://thenounproject.com/term/fishing-vessel/23815/) By Luis Prado for Work Boats
* [Greek Trireme](https://thenounproject.com/search/?q=ancient%20boat&i=1626303) By Zachary McCune for Trireme
* [Greek Trireme](https://thenounproject.com/search/?q=ancient%20boat&i=1626303) By Zachary McCune for Quinquereme. The original work has been modified.
* [dragon](https://thenounproject.com/search/?q=dragon&i=1646681) by BGBOXXX Design for Dromon
* [Viking Boat](https://thenounproject.com/search/?q=longship&i=3782922) by Eucalyp for Galley
* [Chariot](https://thenounproject.com/search/?q=Chariot&i=1189930) By Andrew Doane for Chariot Archer
* [Elephant](https://thenounproject.com/Luis/uploads/?i=14048) By Luis Prado for War Elephant
* [Centaur](https://thenounproject.com/search/?q=horse+archer&i=1791296) by Michael Wohlwend for Horse Archer
* [Spear](https://thenounproject.com/search/?q=Spear&i=11432) By Stephen Copinger for Spearman
* [Greek shield](https://thenounproject.com/search/?q=hoplite&i=440135) for Hoplite
* [Transparent Medieval Battering Ram Png Logo](https://www.pngimages.pics/275495/transparent-medieval-battering-ram-png.php) for Battering Ram
* [Spear](https://thenounproject.com/term/spear/313412/) by lastspark for Marauder
* [Spiked club](https://thenounproject.com/search/?q=club%20weapon&creator=1933477&i=831794) for Brute
* [Hoplite](https://www.flaticon.com/free-icon/hoplite_659126#term=hoplite&page=1&position=20) by Eucalyp for Immortal
* [Slingshot](https://thenounproject.com/term/slingshot/9106/) by James Keuning for Slinger