mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-09 07:18:57 +07:00
Show death symbol next to actions that expend the unit
This commit is contained in:
BIN
android/Images/EmojiIcons/Death.png
Normal file
BIN
android/Images/EmojiIcons/Death.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.2 KiB |
@ -46,86 +46,93 @@ EmojiIcons/Culture
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Faith
|
||||
EmojiIcons/Death
|
||||
rotate: false
|
||||
xy: 436, 468
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Food
|
||||
EmojiIcons/Faith
|
||||
rotate: false
|
||||
xy: 436, 410
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Gold
|
||||
EmojiIcons/Food
|
||||
rotate: false
|
||||
xy: 436, 352
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Great Artist
|
||||
EmojiIcons/Gold
|
||||
rotate: false
|
||||
xy: 436, 294
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Great Engineer
|
||||
EmojiIcons/Great Artist
|
||||
rotate: false
|
||||
xy: 436, 236
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Great General
|
||||
EmojiIcons/Great Engineer
|
||||
rotate: false
|
||||
xy: 436, 178
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Great Merchant
|
||||
EmojiIcons/Great General
|
||||
rotate: false
|
||||
xy: 436, 120
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Great Scientist
|
||||
EmojiIcons/Great Merchant
|
||||
rotate: false
|
||||
xy: 436, 62
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Happiness
|
||||
EmojiIcons/Great Scientist
|
||||
rotate: false
|
||||
xy: 436, 4
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Happiness
|
||||
rotate: false
|
||||
xy: 494, 642
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Production
|
||||
rotate: false
|
||||
xy: 494, 352
|
||||
xy: 494, 294
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Science
|
||||
rotate: false
|
||||
xy: 494, 178
|
||||
xy: 494, 120
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
EmojiIcons/Turn
|
||||
rotate: false
|
||||
xy: 494, 62
|
||||
xy: 494, 4
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
@ -636,14 +643,14 @@ OtherIcons/HexagonOutline
|
||||
index: -1
|
||||
OtherIcons/Improvements
|
||||
rotate: false
|
||||
xy: 494, 642
|
||||
xy: 494, 584
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
OtherIcons/Link
|
||||
rotate: false
|
||||
xy: 494, 526
|
||||
xy: 494, 468
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
@ -678,7 +685,7 @@ NotificationIcons/Working
|
||||
index: -1
|
||||
OtherIcons/LockSmall
|
||||
rotate: false
|
||||
xy: 494, 468
|
||||
xy: 494, 410
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
@ -720,7 +727,7 @@ OtherIcons/NationSwap
|
||||
index: -1
|
||||
OtherIcons/Nations
|
||||
rotate: false
|
||||
xy: 494, 410
|
||||
xy: 494, 352
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
@ -1252,7 +1259,7 @@ StatIcons/Happiness
|
||||
index: -1
|
||||
StatIcons/InterceptRange
|
||||
rotate: false
|
||||
xy: 494, 584
|
||||
xy: 494, 526
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
@ -1280,14 +1287,14 @@ TileIcons/Worked
|
||||
index: -1
|
||||
StatIcons/Range
|
||||
rotate: false
|
||||
xy: 494, 294
|
||||
xy: 494, 236
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
StatIcons/RangedStrength
|
||||
rotate: false
|
||||
xy: 494, 236
|
||||
xy: 494, 178
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
@ -1315,7 +1322,7 @@ StatIcons/Specialist
|
||||
index: -1
|
||||
StatIcons/Strength
|
||||
rotate: false
|
||||
xy: 494, 120
|
||||
xy: 494, 62
|
||||
size: 50, 50
|
||||
orig: 50, 50
|
||||
offset: 0, 0
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 509 KiB After Width: | Height: | Size: 509 KiB |
@ -126,30 +126,34 @@ class NativeBitmapFontData(
|
||||
return glyph
|
||||
}
|
||||
|
||||
private fun getPixmap(fileName:String) = Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable(fileName).region)
|
||||
|
||||
private fun getPixmapFromChar(ch: Char): Pixmap {
|
||||
// Images must be 50*50px so they're rendered at the same height as the text - see Fonts.ORIGINAL_FONT_SIZE
|
||||
return when (ch) {
|
||||
Fonts.strength -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("StatIcons/Strength").region)
|
||||
Fonts.rangedStrength -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("StatIcons/RangedStrength").region)
|
||||
Fonts.range -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("StatIcons/Range").region)
|
||||
Fonts.movement -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("StatIcons/Movement").region)
|
||||
Fonts.turn -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Turn").region)
|
||||
Fonts.production -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Production").region)
|
||||
Fonts.gold -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Gold").region)
|
||||
Fonts.food -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Food").region)
|
||||
Fonts.science -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Science").region)
|
||||
Fonts.culture -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Culture").region)
|
||||
Fonts.faith -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Faith").region)
|
||||
Fonts.happiness -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Happiness").region)
|
||||
Fonts.greatArtist -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Great Artist").region)
|
||||
Fonts.greatEngineer -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Great Engineer").region)
|
||||
Fonts.greatGeneral -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Great General").region)
|
||||
Fonts.greatMerchant -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Great Merchant").region)
|
||||
Fonts.greatScientist -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable("EmojiIcons/Great Scientist").region)
|
||||
MayaCalendar.tun -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable(MayaCalendar.tunIcon).region)
|
||||
MayaCalendar.katun -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable(MayaCalendar.katunIcon).region)
|
||||
MayaCalendar.baktun -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable(MayaCalendar.baktunIcon).region)
|
||||
in MayaCalendar.digits -> Fonts.extractPixmapFromTextureRegion(ImageGetter.getDrawable(MayaCalendar.digitIcon(ch)).region)
|
||||
Fonts.strength -> getPixmap("StatIcons/Strength")
|
||||
Fonts.rangedStrength -> getPixmap("StatIcons/RangedStrength")
|
||||
Fonts.range -> getPixmap("StatIcons/Range")
|
||||
Fonts.movement -> getPixmap("StatIcons/Movement")
|
||||
Fonts.turn -> getPixmap("EmojiIcons/Turn")
|
||||
Fonts.production -> getPixmap("EmojiIcons/Production")
|
||||
Fonts.gold -> getPixmap("EmojiIcons/Gold")
|
||||
Fonts.food -> getPixmap("EmojiIcons/Food")
|
||||
Fonts.science -> getPixmap("EmojiIcons/Science")
|
||||
Fonts.culture -> getPixmap("EmojiIcons/Culture")
|
||||
Fonts.faith -> getPixmap("EmojiIcons/Faith")
|
||||
Fonts.happiness -> getPixmap("EmojiIcons/Happiness")
|
||||
Fonts.greatArtist -> getPixmap("EmojiIcons/Great Artist")
|
||||
Fonts.greatEngineer -> getPixmap("EmojiIcons/Great Engineer")
|
||||
Fonts.greatGeneral -> getPixmap("EmojiIcons/Great General")
|
||||
Fonts.greatMerchant -> getPixmap("EmojiIcons/Great Merchant")
|
||||
Fonts.greatScientist -> getPixmap("EmojiIcons/Great Scientist")
|
||||
Fonts.death -> getPixmap("EmojiIcons/Death")
|
||||
|
||||
MayaCalendar.tun -> getPixmap(MayaCalendar.tunIcon)
|
||||
MayaCalendar.katun -> getPixmap(MayaCalendar.katunIcon)
|
||||
MayaCalendar.baktun -> getPixmap(MayaCalendar.baktunIcon)
|
||||
in MayaCalendar.digits -> getPixmap(MayaCalendar.digitIcon(ch))
|
||||
else -> fontImplementation.getCharPixmap(ch)
|
||||
}
|
||||
}
|
||||
@ -244,4 +248,5 @@ object Fonts {
|
||||
const val greatGeneral = '⛤' // U+26E4 'pentagram'
|
||||
const val greatMerchant = '⚖' // U+2696 'scale'
|
||||
const val greatScientist = '⚛' // U+269B 'atom'
|
||||
const val death = '☠' // U+2620 'skull and crossbones'
|
||||
}
|
||||
|
@ -470,8 +470,12 @@ object UnitActions {
|
||||
(civResources[unique.params[1]] ?: 0) < unique.params[0].toInt()
|
||||
}
|
||||
|
||||
val sideEffectsString = getSideEffectString(unique)
|
||||
val title = if (sideEffectsString.isEmpty()) "Create [$improvementName]"
|
||||
else "{Create [$improvementName]} {$sideEffectsString}"
|
||||
|
||||
finalActions += UnitAction(UnitActionType.Create,
|
||||
title = "Create [$improvementName]",
|
||||
title = title,
|
||||
action = {
|
||||
val unitTile = unit.getTile()
|
||||
unitTile.improvementFunctions.removeCreatesOneImprovementMarker()
|
||||
@ -642,8 +646,10 @@ object UnitActions {
|
||||
}
|
||||
|
||||
private fun addTriggerUniqueActions(unit: MapUnit, actionList: ArrayList<UnitAction>){
|
||||
val triggerableTypes = setOf(UniqueTarget.Triggerable, UniqueTarget.UnitTriggerable)
|
||||
for (unique in unit.getUniques()) {
|
||||
if (unique.conditionals.none { it.type?.targetTypes?.contains(UniqueTarget.UnitActionModifier) == true }) continue
|
||||
if (unique.type?.targetTypes?.any { it in triggerableTypes }!=true) continue
|
||||
|
||||
val unitAction = UnitAction(type = UnitActionType.TriggerUnique, unique.text.removeConditionals()){
|
||||
UniqueTriggerActivation.triggerUnitwideUnique(unique, unit)
|
||||
@ -685,4 +691,11 @@ object UnitActions {
|
||||
if (conditionalsWithNoSideEffect == actionUnique.conditionals.size)
|
||||
unit.useMovementPoints(1f)
|
||||
}
|
||||
|
||||
fun getSideEffectString(actionUnique: Unique): String {
|
||||
val effects = ArrayList<String>()
|
||||
if (actionUnique.conditionals.any { it.type == UniqueType.UnitActionConsumeUnit }) effects += Fonts.death.toString()
|
||||
return if (effects.isEmpty()) ""
|
||||
else "(${effects.joinToString { it.tr() }})"
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user