From 5df93757f28463bde41d256d756f3fce89aaa07d Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 17 Jun 2018 23:39:25 +0300 Subject: [PATCH] Added Bowman as first unique unit! --- android/assets/UnitIcons/Bowman.png | Bin 0 -> 4915 bytes android/assets/jsons/Units.json | 14 ++++++++++++++ core/src/com/unciv/logic/battle/Battle.kt | 2 +- .../src/com/unciv/models/gamebasics/unit/Unit.kt | 5 +++++ 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 android/assets/UnitIcons/Bowman.png diff --git a/android/assets/UnitIcons/Bowman.png b/android/assets/UnitIcons/Bowman.png new file mode 100644 index 0000000000000000000000000000000000000000..dee542a35a3eba79ff0c3269b7c2e5773bcbedb7 GIT binary patch literal 4915 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 var obsoleteTech:String?=null var upgradesTo:String? = null + var replaces:String?=null + var uniqueTo:String?=null override val description: String @@ -81,6 +84,8 @@ class Unit : INamed, IConstruction, ICivilopedia { if (unbuildable) return false if (requiredTech!=null && !civInfo.tech.isResearched(requiredTech!!)) return false if (obsoleteTech!=null && civInfo.tech.isResearched(obsoleteTech!!)) return false + if(uniqueTo!=null && uniqueTo!=civInfo.civName) return false + if(GameBasics.Units.values.any { it.uniqueTo==civInfo.civName && it.replaces==name }) return false if (requiredResource!=null && !civInfo.getCivResources().keys.any { it.name == requiredResource }) return false return true }