mirror of
https://github.com/yairm210/Unciv.git
synced 2025-08-04 00:59:41 +07:00
Resolved #698 - Added Heal Instantly 'promotion'
This commit is contained in:
BIN
android/Images/UnitPromotionIcons/Heal_Instantly_(Civ5).png
Normal file
BIN
android/Images/UnitPromotionIcons/Heal_Instantly_(Civ5).png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
@ -398,7 +398,7 @@ BuildingIcons/Paper Maker
|
||||
index: -1
|
||||
BuildingIcons/Pentagon
|
||||
rotate: false
|
||||
xy: 1632, 729
|
||||
xy: 1530, 744
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
@ -797,28 +797,28 @@ ImprovementIcons/Quarry
|
||||
index: -1
|
||||
ImprovementIcons/Railroad
|
||||
rotate: false
|
||||
xy: 1102, 724
|
||||
xy: 898, 622
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
TileSets/Default/Railroad
|
||||
rotate: false
|
||||
xy: 1102, 724
|
||||
xy: 898, 622
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
TileSets/FantasyHex/Railroad
|
||||
rotate: false
|
||||
xy: 1102, 724
|
||||
xy: 898, 622
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
TileSets/ThorfMaps/Railroad
|
||||
rotate: false
|
||||
xy: 1102, 724
|
||||
xy: 898, 622
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
@ -923,7 +923,7 @@ OtherIcons/MenuIcon
|
||||
index: -1
|
||||
OtherIcons/Pentagon
|
||||
rotate: false
|
||||
xy: 1530, 744
|
||||
xy: 1632, 729
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
@ -1980,7 +1980,7 @@ TechIcons/Radio
|
||||
index: -1
|
||||
TechIcons/Railroad
|
||||
rotate: false
|
||||
xy: 898, 622
|
||||
xy: 1102, 724
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
@ -3070,164 +3070,171 @@ UnitPromotionIcons/Formation_I_(Civ5)
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Indirect_Fire_(Civ5)
|
||||
UnitPromotionIcons/Heal_Instantly_(Civ5)
|
||||
rotate: false
|
||||
xy: 2020, 568
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Logistics_(Civ5)
|
||||
UnitPromotionIcons/Indirect_Fire_(Civ5)
|
||||
rotate: false
|
||||
xy: 2020, 546
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/March_(Civ5)
|
||||
UnitPromotionIcons/Logistics_(Civ5)
|
||||
rotate: false
|
||||
xy: 2020, 524
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/March_(Civ5)
|
||||
rotate: false
|
||||
xy: 1356, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Medic_(Civ5)
|
||||
rotate: false
|
||||
xy: 1356, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Medic_II_(Civ5)
|
||||
rotate: false
|
||||
xy: 1356, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Mobility_(Civ5)
|
||||
rotate: false
|
||||
xy: 1378, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Range_(Civ5)
|
||||
UnitPromotionIcons/Medic_II_(Civ5)
|
||||
rotate: false
|
||||
xy: 1378, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Mobility_(Civ5)
|
||||
rotate: false
|
||||
xy: 1400, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Scouting_III_(Civ5)
|
||||
UnitPromotionIcons/Range_(Civ5)
|
||||
rotate: false
|
||||
xy: 1422, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Scouting_II_(Civ5)
|
||||
UnitPromotionIcons/Scouting_III_(Civ5)
|
||||
rotate: false
|
||||
xy: 1444, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Scouting_I_(Civ5)
|
||||
UnitPromotionIcons/Scouting_II_(Civ5)
|
||||
rotate: false
|
||||
xy: 1466, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Sentry_(Civ5)
|
||||
UnitPromotionIcons/Scouting_I_(Civ5)
|
||||
rotate: false
|
||||
xy: 1488, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Shock_III_(Civ5)
|
||||
UnitPromotionIcons/Sentry_(Civ5)
|
||||
rotate: false
|
||||
xy: 1510, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Shock_II_(Civ5)
|
||||
UnitPromotionIcons/Shock_III_(Civ5)
|
||||
rotate: false
|
||||
xy: 1532, 8
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Shock_I_(Civ5)
|
||||
UnitPromotionIcons/Shock_II_(Civ5)
|
||||
rotate: false
|
||||
xy: 1750, 302
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Siege_(Civ5)
|
||||
UnitPromotionIcons/Shock_I_(Civ5)
|
||||
rotate: false
|
||||
xy: 1750, 280
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Targeting_III_(Civ5)
|
||||
UnitPromotionIcons/Siege_(Civ5)
|
||||
rotate: false
|
||||
xy: 1750, 258
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Targeting_II_(Civ5)
|
||||
UnitPromotionIcons/Targeting_III_(Civ5)
|
||||
rotate: false
|
||||
xy: 1750, 236
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Targeting_I_(Civ5)
|
||||
UnitPromotionIcons/Targeting_II_(Civ5)
|
||||
rotate: false
|
||||
xy: 1750, 214
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Volley_(Civ5)
|
||||
UnitPromotionIcons/Targeting_I_(Civ5)
|
||||
rotate: false
|
||||
xy: 1750, 192
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Wolfpack_III_(Civ5)
|
||||
UnitPromotionIcons/Volley_(Civ5)
|
||||
rotate: false
|
||||
xy: 1750, 170
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Wolfpack_II_(Civ5)
|
||||
UnitPromotionIcons/Wolfpack_III_(Civ5)
|
||||
rotate: false
|
||||
xy: 1750, 148
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Wolfpack_I_(Civ5)
|
||||
UnitPromotionIcons/Wolfpack_II_(Civ5)
|
||||
rotate: false
|
||||
xy: 2000, 1046
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Woodsman_(Civ5)
|
||||
UnitPromotionIcons/Wolfpack_I_(Civ5)
|
||||
rotate: false
|
||||
xy: 1802, 444
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
UnitPromotionIcons/Woodsman_(Civ5)
|
||||
rotate: false
|
||||
xy: 442, 752
|
||||
size: 20, 20
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 986 KiB After Width: | Height: | Size: 988 KiB |
@ -1,3 +0,0 @@
|
||||
{
|
||||
|
||||
}
|
@ -1471,5 +1471,16 @@
|
||||
Simplified_Chinese:"狼群III级"
|
||||
}
|
||||
|
||||
"Wolfpack III":{
|
||||
Italian:"Attacco in massa III"
|
||||
German:"Rudeltaktik III"
|
||||
French:"Meute III"
|
||||
Russian:"Массовая атака III"
|
||||
Simplified_Chinese:"狼群III级"
|
||||
}
|
||||
|
||||
"Heal Instantly":{}
|
||||
"Heal this Unit by 50 HP; Doing so will consume this opportunity to choose a Promotion":{}
|
||||
|
||||
|
||||
}
|
@ -1,5 +1,10 @@
|
||||
[
|
||||
|
||||
{
|
||||
name:"Heal Instantly",
|
||||
effect:"Heal this Unit by 50 HP; Doing so will consume this opportunity to choose a Promotion",
|
||||
unitTypes:["Melee","Mounted","Scout","Siege","Ranged","Armor","WaterMelee","WaterRanged","WaterSubmarine"]
|
||||
}
|
||||
{
|
||||
name:"Accuracy I",
|
||||
effect:"Bonus vs units in open terrain 15%",
|
||||
@ -292,7 +297,4 @@
|
||||
effect:"This unit and all others in adjacent tiles heal 5 additional HP. This unit heals 5 additional HP outside of friendly territory.",
|
||||
unitTypes:["Melee","Mounted","Scout"]
|
||||
}
|
||||
|
||||
|
||||
|
||||
]
|
||||
|
@ -1,8 +1,8 @@
|
||||
package com.unciv.logic.city
|
||||
|
||||
import com.badlogic.gdx.graphics.Color
|
||||
import com.unciv.logic.automation.Automation
|
||||
import com.unciv.Constants
|
||||
import com.unciv.logic.automation.Automation
|
||||
import com.unciv.models.gamebasics.Building
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.tr
|
||||
@ -108,8 +108,8 @@ class CityConstructions {
|
||||
else return 0
|
||||
}
|
||||
|
||||
fun getRemainingWork(constructionName: String) = getConstruction(constructionName)
|
||||
.getProductionCost(cityInfo.civInfo.policies.adoptedPolicies) - getWorkDone(constructionName)
|
||||
fun getRemainingWork(constructionName: String) =
|
||||
getConstruction(constructionName).getProductionCost(cityInfo.civInfo.policies.adoptedPolicies) - getWorkDone(constructionName)
|
||||
|
||||
fun turnsToConstruction(constructionName: String): Int {
|
||||
val workLeft = getRemainingWork(constructionName)
|
||||
|
@ -20,7 +20,13 @@ class UnitPromotions{
|
||||
XP -= xpForNextPromotion()
|
||||
numberOfPromotions++
|
||||
}
|
||||
promotions.add(promotionName)
|
||||
|
||||
if(promotionName=="Heal Instantly"){
|
||||
unit.health += 50
|
||||
if(unit.health>100) unit.health=100
|
||||
}
|
||||
else promotions.add(promotionName)
|
||||
|
||||
unit.updateUniques()
|
||||
unit.civInfo.updateViewableTiles() // some promotions give the unit bonus sight
|
||||
}
|
||||
|
@ -31,7 +31,9 @@ class PromotionPickerScreen(mapUnit: MapUnit) : PickerScreen() {
|
||||
val unitType = mapUnit.type
|
||||
val promotionsForUnitType = GameBasics.UnitPromotions.values.filter { it.unitTypes.contains(unitType.toString()) }
|
||||
val unitAvailablePromotions = mapUnit.promotions.getAvailablePromotions()
|
||||
|
||||
for (promotion in promotionsForUnitType) {
|
||||
if(promotion.name=="Heal Instantly" && mapUnit.health==100) continue
|
||||
val isPromotionAvailable = promotion in unitAvailablePromotions
|
||||
val unitHasPromotion = mapUnit.promotions.promotions.contains(promotion.name)
|
||||
val promotionButton = Button(skin)
|
||||
|
@ -187,14 +187,14 @@ class WorldScreenOptionsTable(screen:WorldScreen) : PopupTable(screen){
|
||||
})
|
||||
|
||||
if (languageSelectBox.selected.percentComplete != 100) {
|
||||
add("Missing translations:".toLabel()).pad(5f).row()
|
||||
add("Missing translations:".toLabel()).pad(5f).colspan(2).row()
|
||||
val missingTextSelectBox = SelectBox<String>(skin)
|
||||
val missingTextArray = Array<String>()
|
||||
val currentLanguage = UnCivGame.Current.settings.language
|
||||
GameBasics.Translations.filter { !it.value.containsKey(currentLanguage) }.forEach { missingTextArray.add(it.key) }
|
||||
missingTextSelectBox.items = missingTextArray
|
||||
missingTextSelectBox.selected = "Untranslated texts"
|
||||
add(missingTextSelectBox).pad(10f).width(UnCivGame.Current.worldScreen.stage.width / 2).row()
|
||||
add(missingTextSelectBox).pad(10f).width(UnCivGame.Current.worldScreen.stage.width / 2).colspan(2).row()
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user