diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 8e4e733140..6cc516ca9a 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1073,6 +1073,7 @@ stat.ammo = Ammo stat.shieldhealth = Shield Health stat.cooldowntime = Cooldown Time stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosiveness stat.basedeflectchance = Base Deflect Chance stat.lightningchance = Lightning Chance @@ -1183,6 +1184,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Controlled @@ -1191,6 +1194,9 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~ [stat]{1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0}[lightgray] seconds of repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index ec6a396e74..6f608c3dfe 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1070,6 +1070,7 @@ stat.ammo = Боепрыпасы stat.shieldhealth = Трываласць Шчыта stat.cooldowntime = Час Перазарадкі stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Узрыўчатасць stat.basedeflectchance = Шанец Збоя Базы stat.lightningchance = Шанец Маланкі @@ -1180,6 +1181,8 @@ bar.input = Уваход bar.output = Выхад bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Кантралюецца Працэссарам @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat] {0} [lightgray]страты ў радыусе ~ [st bullet.incendiary = [stat] запальны bullet.homing = [stat] саманаводных bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index 3bae20c720..0ddcf9b8c0 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -1070,6 +1070,7 @@ stat.ammo = Боеприпаси stat.shieldhealth = Здравина на щита stat.cooldowntime = Време за охлаждане stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Експлозивност stat.basedeflectchance = Базов шанс за отклоняване на изстрел stat.lightningchance = Вероятност за светкавица @@ -1180,6 +1181,8 @@ bar.input = Вход bar.output = Изход bar.strength = [stat]{0}[lightgray]x сила bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Контролиран от процесор @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] щети на площ ~[stat] {1}[li bullet.incendiary = [stat]Подпалване bullet.homing = [stat]Самонасочване bullet.armorpierce = [stat]Пробождане на броня +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] ограничена щета bullet.suppression = [stat]{0} сек[lightgray] възпиране на поправки ~ [stat]{1}[lightgray] плочки bullet.interval = [stat]{0}/сек[lightgray] куршуми в интервал: diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 131c0d0534..067d92c96b 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -1070,6 +1070,7 @@ stat.ammo = Munició stat.shieldhealth = Salut de l’escut stat.cooldowntime = Temps de refredament stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosivitat stat.basedeflectchance = Probabilitat base d’evasió stat.lightningchance = Probabilitat de llampegar @@ -1180,6 +1181,8 @@ bar.input = Entrada bar.output = Sortida bar.strength = [stat]{0}[lightgray]× força bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Controlat pel processador @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] de dany a l’àrea ~[stat] {1}[light bullet.incendiary = [stat]incendiari bullet.homing = [stat]munició guiada bullet.armorpierce = [stat]perforador d’armadures +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] de dany límit bullet.suppression = [stat]Supressió de reparacions cada {0} s[lightgray] ~ [stat]{1}[lightgray] caselles bullet.interval = [stat]Interval de bales de {0}/s[lightgray]: diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 70d99de917..d85f0b4cf3 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -1070,6 +1070,7 @@ stat.ammo = Střelivo stat.shieldhealth = Zdraví štítu stat.cooldowntime = Čas na zchladnutí stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Výbušnost stat.basedeflectchance = Základní pravděpodobnost odražení stat.lightningchance = Pravděpodobnost blesku @@ -1180,6 +1181,8 @@ bar.input = Vstup bar.output = Výstup bar.strength = [stat]{0}[lightgray]x síla bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Procesor je ovládán[] @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] plošného poškození ~[stat] {1}[li bullet.incendiary = [stat]zápalný bullet.homing = [stat]samonaváděcí bullet.armorpierce = [stat]proražení brnění +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] limit poškození bullet.suppression = [stat]{0} sek[lightgray] potlačení opravy ~ [stat]{1}[lightgray] kostek bullet.interval = [stat]{0}/sek[lightgray] interval kulek: diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index fc180952c7..bda3260bf8 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1070,6 +1070,7 @@ stat.ammo = Ammunition stat.shieldhealth = Skjold-helbred stat.cooldowntime = Nedkølingstid stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Eksplosivitet stat.basedeflectchance = Grundlæggende reflektions-chance stat.lightningchance = Lyn-chance @@ -1180,6 +1181,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor kontrolleret @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] områdeskade ~[stat] {1}[lightgray] f bullet.incendiary = [stat]brændfarlig bullet.homing = [stat]målsøgende bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 1e95d137fe..0415776250 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1070,6 +1070,7 @@ stat.ammo = Munition stat.shieldhealth = Schildlebenspunkte stat.cooldowntime = Cooldown-Zeit stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Sprengkraft stat.basedeflectchance = Grundreflektionschance stat.lightningchance = Blitzwahrscheinlichkeit @@ -1180,6 +1181,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x Stärke bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Prozessorgesteuert @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] Flächenschaden ~[stat] {1}[lightgray bullet.incendiary = [stat]entzündend bullet.homing = [stat]zielsuchend bullet.armorpierce = [stat]panzerbrechend +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] Heilungsunterdrückung ~ [stat]{1}[lightgray] Kacheln bullet.interval = [stat]{0}/sec[lightgray] Intervallgeschosse: diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 147b297d22..d78d1f7f0e 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1070,6 +1070,7 @@ stat.ammo = Munición stat.shieldhealth = Escudo stat.cooldowntime = Enfriamiento stat.regenerationrate = Tasa de regeneración +stat.activationtime = Activation Time stat.explosiveness = Explosividad stat.basedeflectchance = Probabilidad base de desvío stat.lightningchance = Probabilidad de descarga @@ -1180,6 +1181,8 @@ bar.input = Entrada bar.output = Salida bar.strength = [stat]{0}[lightgray]x potencia bar.regenerationrate = [stat]{0}/seg[lightgray] regeneración +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Controlado desde el procesador @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] daño en área ~[stat] {1}[lightgray] bullet.incendiary = [stat]incendiaria bullet.homing = [stat]rastreadora bullet.armorpierce = [stat]perforación de armadura +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] daño límite bullet.suppression = [stat]{0} seg[lightgray] supresión de reparación ~ [stat]{1}[lightgray] casillas bullet.interval = [stat]{0}/seg[lightgray] balas por intervalo: diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 5a788c4776..50fbc89397 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -1070,6 +1070,7 @@ stat.ammo = Laskemoon stat.shieldhealth = Shield Health stat.cooldowntime = Cooldown Time stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosiveness stat.basedeflectchance = Base Deflect Chance stat.lightningchance = Lightning Chance @@ -1180,6 +1181,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Controlled @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] hävituspunkti ~[stat] {1}[lightgray] bullet.incendiary = [stat]süttiv bullet.homing = [stat]isesihtiv bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 95b5b89f84..836025c45e 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -1070,6 +1070,7 @@ stat.ammo = Munizioa stat.shieldhealth = Shield Health stat.cooldowntime = Cooldown Time stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosiveness stat.basedeflectchance = Base Deflect Chance stat.lightningchance = Lightning Chance @@ -1180,6 +1181,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Controlled @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] ingurune-kaltea ~[stat] {1}[lightgray bullet.incendiary = [stat]su-eragilea bullet.homing = [stat]gidatua bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 67a9baec59..a0a121e903 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1070,6 +1070,7 @@ stat.ammo = Ammus stat.shieldhealth = Kilven elämäpisteet stat.cooldowntime = Jäähtymisaika stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Räjähdysherkkyys stat.basedeflectchance = Perustorjuntatodennäköisyys stat.lightningchance = Salamointitodennäköisyys @@ -1180,6 +1181,8 @@ bar.input = Sisääntulo bar.output = Ulostulo bar.strength = [stat]{0}[lightgray]x voimakkuus bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Prosessorin hallitsema @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] Aluevahinko ~[stat] {1}[lightgray] pa bullet.incendiary = [stat]sytyttävä bullet.homing = [stat]itseohjautuva bullet.armorpierce = [stat]haarniskan läpäisevä +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index b2f7c30fd5..1ce828969a 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1070,6 +1070,7 @@ stat.ammo = Mga Bala stat.shieldhealth = Health ng Kalasag stat.cooldowntime = Oras ng Cooldown stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Pagkasabog stat.basedeflectchance = Base Deflect Chance stat.lightningchance = Pagkakataon ng Lightning @@ -1180,6 +1181,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Controlled @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 04644942f7..6ff6eb10c9 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -1070,6 +1070,7 @@ stat.ammo = Munitions stat.shieldhealth = Santé du bouclier stat.cooldowntime = Temps de refroidissement stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosivité stat.basedeflectchance = Chance de Détournement de Base stat.lightningchance = Chance d'Éclairs @@ -1180,6 +1181,8 @@ bar.input = Entrée bar.output = Sortie bar.strength = [stat]{0}[lightgray]x puissance bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Contrôlé par un processeur. @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] dégâts de zone ~[stat] {1}[lightgra bullet.incendiary = [stat]incendiaire bullet.homing = [stat]autoguidé bullet.armorpierce = [stat]perceur d'armure +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] limite de dégâts bullet.suppression = [stat]{0} sec[lightgray] suppression de soins ~ [stat]{1}[lightgray] blocs bullet.interval = [stat]{0}/sec[lightgray] Balle secondaire: diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index a00517b7b8..69a1afa16f 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1070,6 +1070,7 @@ stat.ammo = Lőszer stat.shieldhealth = Erőpajzs életpontja stat.cooldowntime = Újratöltés időtartama stat.regenerationrate = Regenerálási sebesség +stat.activationtime = Activation Time stat.explosiveness = Robbanékonyság stat.basedeflectchance = Alap hárítási esély stat.lightningchance = Villámlás esélye @@ -1180,6 +1181,8 @@ bar.input = Bemenet bar.output = Kimenet bar.strength = [stat]{0}[lightgray]x erő bar.regenerationrate = [stat]{0}/mp[lightgray] regenerálási sebesség +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processzorvezérelt @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] területi sebzés ~[stat] {1}[lightgr bullet.incendiary = [stat]gyújtó bullet.homing = [stat]nyomkövető bullet.armorpierce = [stat]páncéltörő +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] sebzési határérték bullet.suppression = [stat]{0} mp[lightgray] javításelnyomás ~[stat]{1}[lightgray] mező bullet.interval = [stat]{0}/mp[lightgray] gyakoriságú lövedékek: diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 8249109ff2..2dce8ca1a5 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -1070,6 +1070,7 @@ stat.ammo = Amunisi stat.shieldhealth = Nyawa Perisai stat.cooldowntime = Waktu Pendinginan stat.regenerationrate = Laju Pemulihan +stat.activationtime = Activation Time stat.explosiveness = Daya Ledak stat.basedeflectchance = Peluang Defleksi Dasar stat.lightningchance = Peluang Menghasilkan Petir @@ -1180,6 +1181,8 @@ bar.input = Masukan bar.output = Keluaran bar.strength = [stat]{0}[lightgray]x penguatan bar.regenerationrate = [stat]{0}/sec[lightgray] waktu pulih +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Dikendalikan Prosesor @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] damage percikan~[stat] {1}[lightgray] bullet.incendiary = [stat]membakar bullet.homing = [stat]mengejar bullet.armorpierce = [stat]menembus pelindung +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] batas damage bullet.suppression = [stat]{0}[lightgray] detik penahan perbaikan ~ [stat]{1}[lightgray] ubin bullet.interval = [stat]{0}/detik[lightgray] jarak antar peluru: diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 6efb2d9f29..b446f9e775 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1070,6 +1070,7 @@ stat.ammo = Munizioni stat.shieldhealth = Integrità Scudo stat.cooldowntime = Tempo Raffreddamento stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Esplosività stat.basedeflectchance = Probabilità di Deviazione stat.lightningchance = Probabilità di Fulmine @@ -1180,6 +1181,8 @@ bar.input = Entrata bar.output = Uscita bar.strength = [stat]{0}[lightgray]x forza bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Controllato dal Processore @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] danno ad area ~[stat] {1}[lightgray] bullet.incendiary = [stat]incendiario bullet.homing = [stat]autoguidato bullet.armorpierce = [stat]perforazione alle armature +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 1fb090df22..b49fa93b8a 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1070,6 +1070,7 @@ stat.ammo = 弾薬 stat.shieldhealth = シールド stat.cooldowntime = クールタイム stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = 爆発性 stat.basedeflectchance = 反射確率 stat.lightningchance = 電撃確率 @@ -1180,6 +1181,8 @@ bar.input = 入力 bar.output = 出力 bar.strength = [stat]{0}[lightgray]x 強化 bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]プロセッサーの制御下 @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] 範囲ダメージ 約[stat] {1}[ligh bullet.incendiary = [stat]焼夷弾 bullet.homing = [stat]追尾弾 bullet.armorpierce = [stat]装甲貫通 +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] ダメージ制限 bullet.suppression = [stat]{0} 秒[lightgray] 修復妨害 ~ [stat]{1}[lightgray] タイル bullet.interval = [stat]{0}/秒[lightgray] 発砲間隔: diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 09010786c0..ac2a69552c 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -1070,6 +1070,7 @@ stat.ammo = 탄약 stat.shieldhealth = 보호막 내구도 stat.cooldowntime = 쿨타임 stat.regenerationrate = 재생률 +stat.activationtime = Activation Time stat.explosiveness = 폭발성 stat.basedeflectchance = 기본 반사 확률 stat.lightningchance = 전격 생성 확률 @@ -1180,6 +1181,8 @@ bar.input = 입력 bar.output = 출력 bar.strength = [stat]{0}[lightgray]x 치료 속도[][] bar.regenerationrate = [stat]{0}/초[lightgray] 재생률 +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]프로세서 제어됨[] @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] 범위 피해량 ~ [stat]{1}[lightgra bullet.incendiary = [stat]방화[] bullet.homing = [stat]유도[] bullet.armorpierce = [stat]방어 관통 +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] 피해 한도 bullet.suppression = [stat]{0} 초[lightgray] 수리 억제 ~ [stat]{1}[lightgray] 타일 bullet.interval = [stat]{0}/초[lightgray] 간격 탄환: diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 3cb3bed043..668d45d949 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -1070,6 +1070,7 @@ stat.ammo = Šoviniai stat.shieldhealth = Shield Health stat.cooldowntime = Cooldown Time stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosiveness stat.basedeflectchance = Base Deflect Chance stat.lightningchance = Lightning Chance @@ -1180,6 +1181,8 @@ bar.input = Įeiga bar.output = Išeiga bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Controlled @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] zonos žalos ~[stat] {1}[lightgray] b bullet.incendiary = [stat]uždegantis bullet.homing = [stat]sekimas bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 82eb4f2b37..3252cf5794 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -1070,6 +1070,7 @@ stat.ammo = Ammunitie stat.shieldhealth = Schild Levenspunten stat.cooldowntime = Afkoelingsperiode stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosiviteit stat.basedeflectchance = Basis Afbuigingskans stat.lightningchance = Bliksemkans @@ -1180,6 +1181,8 @@ bar.input = Invoer bar.output = Uitvoer bar.strength = [stat]{0}[lightgray]x sterkte bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Gestuurd @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] gebied scade ~[stat] {1}[lightgray] t bullet.incendiary = [stat]brandstichtend bullet.homing = [stat]doelzoekend bullet.armorpierce = [stat]pantserdoorborend +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 26efddfdb4..63e1d8b7f4 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -1070,6 +1070,7 @@ stat.ammo = Ammo stat.shieldhealth = Shield Health stat.cooldowntime = Cooldown Time stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosiveness stat.basedeflectchance = Base Deflect Chance stat.lightningchance = Lightning Chance @@ -1180,6 +1181,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Controlled @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index f68d0a321c..1ce592f6c0 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1070,6 +1070,7 @@ stat.ammo = Amunicja stat.shieldhealth = Życie Tarczy stat.cooldowntime = Czas Odnowienia stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Wybuchowość stat.basedeflectchance = Bazowa Szansa Na Odbicie stat.lightningchance = Szansa Na Błyskawicę @@ -1180,6 +1181,8 @@ bar.input = Wejście bar.output = Wyjście bar.strength = [stat]{0}[lightgray]x siły bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Kontrolowany przez procesor @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[ligh bullet.incendiary = [stat]zapalający bullet.homing = [stat]naprowadzający bullet.armorpierce = [stat]przebijający pancerz +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] maksymalne obrażenia bullet.suppression = [stat]{0} sec[lightgray] wyłączenie naprawy ~ [stat]{1}[lightgray] kratki bullet.interval = [stat]{0}/sec[lightgray] częstotliwość strzału: diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index c5888489f9..e1b166c23c 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1070,6 +1070,7 @@ stat.ammo = Munição stat.shieldhealth = Vida do Escudo stat.cooldowntime = Tempo de espera stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosividade stat.basedeflectchance = Chance Base de Esquiva stat.lightningchance = Chance de Raio @@ -1180,6 +1181,8 @@ bar.input = Entrada bar.output = Saída bar.strength = [stat]{0}[lightgray]x força bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Controlado por Processador @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] de dano em área ~[stat] {1}[lightgra bullet.incendiary = [stat]Incendiário bullet.homing = [stat]Guiado bullet.armorpierce = [stat]pentração de armadura +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index caeccaffe9..f1ed9e9a58 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1070,6 +1070,7 @@ stat.ammo = Munição stat.shieldhealth = Vida do Escudo stat.cooldowntime = Tempo de Espera stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosividade stat.basedeflectchance = Probabilidade Base de Esquiva stat.lightningchance = Probabilidade de Raio @@ -1180,6 +1181,8 @@ bar.input = Entrada bar.output = Saída bar.strength = [stat]{0}[lightgray]x força bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Controlado por Processador @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] Dano em área ~[stat] {1}[lightgray] bullet.incendiary = [stat]incendiário bullet.homing = [stat]guiado bullet.armorpierce = [stat]perfuração de armadura +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] limite de dano bullet.suppression = [stat]{0} seg.[lightgray] supressão de reparação ~ [stat]{1}[lightgray] blocos bullet.interval = [stat]{0}/seg.[lightgray] balas de intervalo: diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index d2e4a64563..d55a272719 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -1070,6 +1070,7 @@ stat.ammo = Muniție stat.shieldhealth = Viață Scut stat.cooldowntime = Timp de Reîncărcare stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explozivitate stat.basedeflectchance = Șansă de Reflexie stat.lightningchance = Șansă Fulger @@ -1180,6 +1181,8 @@ bar.input = Necesită bar.output = Produce bar.strength = [stat]{0}[lightgray]x putere bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Controlat de Procesor @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] forță pe raza ~[stat] {1}[lightgray bullet.incendiary = [stat]incendiar bullet.homing = [stat]cu radar bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 411cdb2195..135650e071 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1070,6 +1070,7 @@ stat.ammo = Боеприпасы stat.shieldhealth = Прочность щита stat.cooldowntime = Время восстановления stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Взрывоопасность stat.basedeflectchance = Базовый шанс отражения stat.lightningchance = Шанс удара молнии @@ -1180,6 +1181,8 @@ bar.input = Ввод bar.output = Вывод bar.strength = [stat]{0}[lightgray]x эффективность bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Управляется процессором @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] урона в радиусе ~[stat] bullet.incendiary = [stat]зажигательный bullet.homing = [stat]самонаводящийся bullet.armorpierce = [stat]бронебойный +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] предел урона bullet.suppression = [stat]{0} сек[lightgray] подавления регенерации в радиусе ~ [stat]{1}[lightgray] блоков bullet.interval = [stat]{0}/сек[lightgray] интервальный(ых) снаряд(ов): diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 8bb40dabce..978dea6411 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -1070,6 +1070,7 @@ stat.ammo = Municija stat.shieldhealth = Izdržljivost štita stat.cooldowntime = Vreme hlađenja stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Eksplozivnost stat.basedeflectchance = Šansa odbijanja stat.lightningchance = Šansa za stvaranje munje @@ -1180,6 +1181,8 @@ bar.input = Ulaz bar.output = Izlaz bar.strength = [stat]{0}[lightgray]x snage bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Procesno Upravljan @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] oblasna šteta ~[stat] {1}[lightgray] bullet.incendiary = [stat]zapaljiv bullet.homing = [stat]samonavođenje bullet.armorpierce = [stat]proboj oklopa +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 01ab6d2782..20c45fc86c 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1070,6 +1070,7 @@ stat.ammo = Ammunition stat.shieldhealth = Shield Health stat.cooldowntime = Cooldown Time stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosiveness stat.basedeflectchance = Base Deflect Chance stat.lightningchance = Lightning Chance @@ -1180,6 +1181,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Controlled @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 24367bc208..458d2c2843 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1070,6 +1070,7 @@ stat.ammo = กระสุน stat.shieldhealth = พลังชีวิตโล่ stat.cooldowntime = เวลาคูลดาวน์ stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = แรงระเบิด stat.basedeflectchance = โอกาสกระสุนสะท้อนกลับ stat.lightningchance = โอกาสเกิดสายฟ้า @@ -1180,6 +1181,8 @@ bar.input = ด้านเข้า bar.output = ด้านออก bar.strength = [lightgray]ความรุนแรง [stat]{0}[lightgray]x bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]ถูกตัวประมวลผลควบคุมอยู่ @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] ดาเมจกระจาย ~[s bullet.incendiary = [stat]ติดไฟ bullet.homing = [stat]ติดตามตัว bullet.armorpierce = [stat]เจาะเกราะ +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] ความเสียหายสูงสุด bullet.suppression = [stat]{0} วิ[lightgray] ระงับการฟื้นฟู ~ [stat]{1}[lightgray] ช่อง bullet.interval = [stat]{0}/วิ[lightgray] กระสุนช่วงระยะ: diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 3a9067d41d..2424fcb29a 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -1070,6 +1070,7 @@ stat.ammo = Ammo stat.shieldhealth = Shield Health stat.cooldowntime = Cooldown Time stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Explosiveness stat.basedeflectchance = Base Deflect Chance stat.lightningchance = Lightning Chance @@ -1180,6 +1181,8 @@ bar.input = Input bar.output = Output bar.strength = [stat]{0}[lightgray]x strength bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Processor Controlled @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing bullet.armorpierce = [stat]armor piercing +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 50a6c295b0..fe1481ef75 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1070,6 +1070,7 @@ stat.ammo = Mermi stat.shieldhealth = Kalkan Canı stat.cooldowntime = Soğuma Süresi stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Patlayıcılık stat.basedeflectchance = Mermi Sekme İhtimali stat.lightningchance = Yıldırım Çarpma İhtimali @@ -1180,6 +1181,8 @@ bar.input = Girdi bar.output = Çıktı bar.strength = [stat]{0}[lightgray]x Güç bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]İşlemci Kontrolünde @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0} [lightgray]alan hasarı ~[stat] {1} [lightgray]k bullet.incendiary = [stat]yakıcı bullet.homing = [stat]güdümlü bullet.armorpierce = [stat]zırh delici +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] hasar limiti bullet.suppression = [stat]{0} sn[lightgray] tamir bastırması ~ [stat]{1}[lightgray] karolar bullet.interval = [stat]{0}/sn[lightgray] ara mermiler: diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 29403172bb..48d0670540 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1070,6 +1070,7 @@ stat.ammo = Боєприпаси stat.shieldhealth = Міцність щита stat.cooldowntime = Тривалість охолодження stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = Вибухонебезпечність stat.basedeflectchance = Базовий шанс відбиття stat.lightningchance = Шанс удару блискавки @@ -1180,6 +1181,8 @@ bar.input = Ввід bar.output = Вивід bar.strength = x[stat]{0}[lightgray] сила bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Керується процесором @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] шкода по ділянці ~[stat bullet.incendiary = [stat]запальний bullet.homing = [stat]самонаведення bullet.armorpierce = [stat]бронебійність +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] обмеження шкоди bullet.suppression = [stat]{0}[lightgray] сек. пригнічення відновлення ~ [stat]{1}[lightgray] плит. bullet.interval = [stat]{0} за сек. [lightgray] період між кулями: diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 5066ca281e..373b689961 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1070,6 +1070,7 @@ stat.ammo = Đạn stat.shieldhealth = Độ bền khiên stat.cooldowntime = Thời gian hồi phục stat.regenerationrate = Tốc Độ Hồi Phục +stat.activationtime = Activation Time stat.explosiveness = Gây nổ stat.basedeflectchance = Tỷ lệ phản đạn stat.lightningchance = Tỷ lệ phóng điện @@ -1180,6 +1181,8 @@ bar.input = Đầu vào bar.output = Đầu ra bar.strength = [stat]{0}[lightgray]x sức mạnh bar.regenerationrate = [stat]{0}/sec[lightgray] tốc độ hồi phục +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]Điều khiển bởi bộ xử lý @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] sát thương diện rộng ~[stat] { bullet.incendiary = [stat]gây cháy bullet.homing = [stat]truy đuổi bullet.armorpierce = [stat]xuyên giáp +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] giới hạn sát thương bullet.suppression = [stat]{0}[lightgray] giây ngăn sửa chữa ~ [stat]{1}[lightgray] ô bullet.interval = [stat]{0}/giây[lightgray] đạn ngắt quãng: diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index fa501fc325..a987a73a90 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -1070,6 +1070,7 @@ stat.ammo = 弹药 stat.shieldhealth = 护盾容量 stat.cooldowntime = 冷却时间 stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = 爆炸性 stat.basedeflectchance = 基础反射概率 stat.lightningchance = 激发闪电概率 @@ -1180,6 +1181,8 @@ bar.input = 输入 bar.output = 输出 bar.strength = [stat]{0}[lightgray]x 效率 bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]由处理器控制 @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray] 范围伤害 ~ [stat]{1}[lightgray] bullet.incendiary = [stat]燃烧 bullet.homing = [stat]追踪 bullet.armorpierce = [stat]穿甲 +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray] 伤害上限 bullet.suppression = [stat]{0} 秒[lightgray] 修复压制 ~ [stat]{1}[lightgray] 格 bullet.interval = [stat]{0}/秒[lightgray] 分裂子弹: diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index b8d8165836..13dce3f0cf 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -1070,6 +1070,7 @@ stat.ammo = 彈藥 stat.shieldhealth = 護盾生命值 stat.cooldowntime = 冷確時間 stat.regenerationrate = Regeneration Rate +stat.activationtime = Activation Time stat.explosiveness = 爆炸性 stat.basedeflectchance = 基礎偏移量 stat.lightningchance = 燃燒機率 @@ -1180,6 +1181,8 @@ bar.input = 輸入 bar.output = 輸出 bar.strength = [stat]{0}[lightgray]x 強度 bar.regenerationrate = [stat]{0}/sec[lightgray] regen rate +bar.activationtimer = Activates in {0} +bar.activated = Activated units.processorcontrol = [lightgray]由微處理器控制 @@ -1188,6 +1191,9 @@ bullet.splashdamage = [stat]{0}[lightgray]範圍傷害 ~[stat] {1}[lightgray]格 bullet.incendiary = [stat]燃燒 bullet.homing = [stat]追蹤 bullet.armorpierce = [stat]穿甲 +bullet.armorweakness = [red]{0}%[lightgray] armor weakness +bullet.armorpiercing = [stat]{0}%[lightgray] armor piercing +bullet.antiarmor = [stat]{0}x[lightgray] anti-armor bullet.maxdamagefraction = [stat]{0}%[lightgray]傷害上限 bullet.suppression = [stat]{0}秒[lightgray]抑制修復 ~ [stat]{1}[lightgray]格 bullet.interval = [stat]{0}/秒[lightgray]分裂子彈: diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 6fe2b66161..c23011525f 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3322,6 +3322,7 @@ public class Blocks{ coolant = consumeCoolant(0.1f); coolantMultiplier = 10f; researchCostMultiplier = 0.05f; + depositCooldown = 2.0f; limitRange(5f); }}; @@ -3407,6 +3408,7 @@ public class Blocks{ shootSound = Sounds.shootScatter; coolant = consumeCoolant(0.2f); researchCostMultiplier = 0.05f; + depositCooldown = 0.5f; limitRange(2); }}; @@ -3453,6 +3455,7 @@ public class Blocks{ health = 400; shootSound = Sounds.shootFlame; coolant = consumeCoolant(0.1f); + depositCooldown = 1.0f; }}; hail = new ItemTurret("hail"){{ @@ -3517,6 +3520,7 @@ public class Blocks{ shootSound = Sounds.shootArtillerySmall; coolant = consumeCoolant(0.1f); coolantMultiplier = 10f; + depositCooldown = 2.0f; limitRange(0f); }}; @@ -3581,6 +3585,7 @@ public class Blocks{ chargeEffect = new MultiEffect(Fx.lancerLaserCharge, Fx.lancerLaserChargeBegin); buildingDamageMultiplier = 0.25f; + armorMultiplier = 4f; hitEffect = Fx.hitLancer; hitSize = 4; lifetime = 16f; @@ -3706,7 +3711,7 @@ public class Blocks{ }}; shootY = 4.5f; - reload = 30f; + reload = 60f * 4f / 7f; inaccuracy = 10f; range = 240f; consumeAmmoOnce = false; @@ -3717,6 +3722,7 @@ public class Blocks{ limitRange(5f); coolant = consumeCoolant(0.3f); + depositCooldown = 2.0f; }}; salvo = new ItemTurret("salvo"){{ @@ -3818,6 +3824,7 @@ public class Blocks{ limitRange(); coolant = consumeCoolant(0.2f); + depositCooldown = 2.0f; }}; segment = new PointDefenseTurret("segment"){{ @@ -3935,6 +3942,7 @@ public class Blocks{ shootEffect = smokeEffect = Fx.thoriumShoot; }} ); + depositCooldown = 1.0f; }}; ripple = new ItemTurret("ripple"){{ @@ -4063,6 +4071,7 @@ public class Blocks{ coolant = consumeCoolant(0.3f); scaledHealth = 130; + depositCooldown = 2.0f; shootSound = Sounds.shootRipple; }}; @@ -4168,7 +4177,7 @@ public class Blocks{ } }}; - reload = 8f; + reload = 10f; range = 200f; size = 3; recoil = 1.5f; @@ -4180,6 +4189,7 @@ public class Blocks{ coolant = consumeCoolant(0.3f); scaledHealth = 145; + depositCooldown = 2.0f; limitRange(); }}; @@ -4224,6 +4234,7 @@ public class Blocks{ scaledHealth = 150; coolant = consumeCoolant(1f); + depositCooldown = 2.0f; consumePower(10f); }}; @@ -4290,6 +4301,7 @@ public class Blocks{ scaledHealth = 160; coolant = consumeCoolant(1f); + depositCooldown = 2.0f; limitRange(); }}; diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index a74c13edce..9e2b10e846 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -181,6 +181,8 @@ public class BulletType extends Content implements Cloneable{ public boolean fragOnAbsorb = true; /** If true, unit armor is ignored in damage calculations. */ public boolean pierceArmor = false; + /** Multiplies the unit armor used in damage calculations. Used for armor weakness, armor piercing, and anti-armor. */ + public float armorMultiplier = 1f; /** If true, the bullet will "stick" to enemies and get deactivated on collision. */ public boolean sticky = false; /** Extra time added to bullet when it sticks to something. */ @@ -483,6 +485,8 @@ public class BulletType extends Content implements Cloneable{ } if(pierceArmor){ h.damagePierce(damage); + }else if(armorMultiplier != 1){ + h.damageArmorMult(damage, armorMultiplier); }else{ h.damage(damage); } diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index baacb406ab..617a74fc96 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -1727,7 +1727,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, float damage = other.type.buildingDamage(other); if(!other.type.pierceArmor){ - damage = Damage.applyArmor(damage, block.armor); + damage = Damage.applyArmor(damage, block.armor * other.type.armorMultiplier); } damage(other, other.team, damage); diff --git a/core/src/mindustry/entities/comp/HealthComp.java b/core/src/mindustry/entities/comp/HealthComp.java index f315b3fb75..cfc3cb92c4 100644 --- a/core/src/mindustry/entities/comp/HealthComp.java +++ b/core/src/mindustry/entities/comp/HealthComp.java @@ -58,6 +58,16 @@ abstract class HealthComp implements Entityc, Posc{ damagePierce(amount, true); } + /** Damage and multiply armor received. */ + void damageArmorMult(float amount, float armorMult, boolean withEffect){ + damage(amount, withEffect); + } + + /** Damage and multiply armor received. */ + void damageArmorMult(float amount, float armorMult){ + damageArmorMult(amount, armorMult, true); + } + void damage(float amount){ if(Float.isNaN(health)) health = 0f; @@ -86,6 +96,10 @@ abstract class HealthComp implements Entityc, Posc{ damagePierce(amount * Time.delta, hitTime <= -20 + hitDuration); } + void damageContinuousArmorMult(float amount, float armorMult){ + damageArmorMult(amount * Time.delta, armorMult, hitTime <= -20 + hitDuration); + } + void clampHealth(){ health = Math.min(health, maxHealth); if(Float.isNaN(health)) health = 0f; diff --git a/core/src/mindustry/entities/comp/ShieldComp.java b/core/src/mindustry/entities/comp/ShieldComp.java index f2f6e4c808..f67ece6f99 100644 --- a/core/src/mindustry/entities/comp/ShieldComp.java +++ b/core/src/mindustry/entities/comp/ShieldComp.java @@ -42,6 +42,18 @@ abstract class ShieldComp implements Healthc, Posc{ } } + @Replace + @Override + public void damageArmorMult(float amount, float armorMult, boolean withEffect){ + float pre = hitTime; + + rawDamage(Damage.applyArmor(amount, armorOverride >= 0f ? armorOverride * armorMult : armor * armorMult) / healthMultiplier / Vars.state.rules.unitHealth(team)); + + if(!withEffect){ + hitTime = pre; + } + } + protected void rawDamage(float amount){ boolean hadShields = shield > 0.0001f; diff --git a/core/src/mindustry/graphics/OverlayRenderer.java b/core/src/mindustry/graphics/OverlayRenderer.java index e9c3450503..78533c7fe7 100644 --- a/core/src/mindustry/graphics/OverlayRenderer.java +++ b/core/src/mindustry/graphics/OverlayRenderer.java @@ -248,7 +248,7 @@ public class OverlayRenderer{ Building build = world.buildWorld(v.x, v.y); if(input.canDropItem() && build != null && build.interactable(player.team()) && build.acceptStack(player.unit().item(), player.unit().stack.amount, player.unit()) > 0 && player.within(build, itemTransferRange) && - input.itemDepositCooldown <= 0f){ + input.canDepositItem(build)){ boolean invalid = !build.allowDeposit(); diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index fe1decc5d9..a6134aa397 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -37,6 +37,7 @@ import mindustry.ui.fragments.*; import mindustry.world.*; import mindustry.world.blocks.ConstructBlock.*; import mindustry.world.blocks.*; +import mindustry.world.blocks.defense.turrets.*; import mindustry.world.blocks.distribution.*; import mindustry.world.blocks.payloads.*; import mindustry.world.blocks.storage.*; @@ -2149,7 +2150,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ if(build != null && build.acceptStack(stack.item, stack.amount, player.unit()) > 0 && build.interactable(player.team()) && build.block.hasItems && player.unit().stack().amount > 0 && build.interactable(player.team())){ - if(build.allowDeposit() && itemDepositCooldown <= 0f){ + if(build.allowDeposit() && canDepositItem(build)){ Call.transferInventory(player, build); itemDepositCooldown = state.rules.itemDepositCooldown; } @@ -2158,6 +2159,14 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ } } + public boolean canDepositItem(Building build){ + //takes advantage of itemDepositCooldown being able to be negative, allows the cooldown to be different for each building + if(build.block.depositCooldown >= 0){ + return itemDepositCooldown - state.rules.itemDepositCooldown <= -build.block.depositCooldown; + } + return itemDepositCooldown <= 0; + } + public void rebuildArea(int x1, int y1, int x2, int y2){ NormalizeResult result = Placement.normalizeArea(x1, y1, x2, y2, rotation, false, 999999999); Tmp.r1.set(result.x * tilesize, result.y * tilesize, (result.x2 - result.x) * tilesize, (result.y2 - result.y) * tilesize); diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index e0658b5640..6cbed7004d 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -66,6 +66,8 @@ public class Block extends UnlockableContent implements Senseable{ public boolean acceptsItems = false; /** If true, this block won't be affected by the onlyDepositCore rule. */ public boolean alwaysAllowDeposit = false; + /** Cooldown, in seconds, applied to player item depositing when any item is deposited to this block. Overrides the itemDepositCooldown if non-negative. */ + public float depositCooldown = -1f; /** If true, all item capacities of this block are separate instead of pooled as one number. */ public boolean separateItemCapacity = false; /** maximum items this block can carry (usually, this is per-type of item) */ diff --git a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java index b6c7510349..20ec8d43d9 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java @@ -1,5 +1,7 @@ package mindustry.world.blocks.defense.turrets; +import arc.*; +import arc.graphics.*; import arc.math.*; import arc.struct.*; import arc.util.*; @@ -8,6 +10,7 @@ import mindustry.entities.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.logic.*; +import mindustry.ui.*; import mindustry.world.*; import mindustry.world.blocks.*; import mindustry.world.consumers.*; @@ -21,6 +24,8 @@ public class BaseTurret extends Block{ public float rotateSpeed = 5; public float fogRadiusMultiplier = 1f; public boolean disableOverlapCheck = false; + /** How much time to start shooting after placement. */ + public float activationTime = 0f; /** Effect displayed when coolant is used. */ public Effect coolEffect = Fx.fuelburn; @@ -90,10 +95,31 @@ public class BaseTurret extends Block{ super.setStats(); stats.add(Stat.shootRange, range / tilesize, StatUnit.blocks); + if(activationTime > 0) stats.add(Stat.activationTime, activationTime / 60f, StatUnit.seconds); + } + + @Override + public void setBars(){ + super.setBars(); + + if(activationTime > 0){ + addBar("activationtimer", (BaseTurretBuild entity) -> + new Bar(() -> + (entity.activationTimer > 0)? Core.bundle.format("bar.activationtimer", Mathf.ceil(entity.activationTimer / 60f)) : Core.bundle.get("bar.activated"), + () -> (entity.activationTimer > 0)? Pal.lightOrange : Pal.techBlue, + () -> 1 - entity.activationTimer / activationTime)); + } } public class BaseTurretBuild extends Building implements Ranged, RotBlock{ public float rotation = 90; + public float activationTimer = 0; + + @Override + public void placed(){ + super.placed(); + activationTimer = activationTime; + } @Override public float range(){ @@ -113,5 +139,10 @@ public class BaseTurret extends Block{ public float estimateDps(){ return 0f; } + + @Override + public BlockStatus status() { + return (activationTimer <= 0)? super.status() : BlockStatus.inactive; + } } } diff --git a/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java index 8748b91ed8..6b5721987b 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java @@ -26,7 +26,7 @@ public class ReloadTurret extends BaseTurret{ public float reloadCounter; protected void updateCooling(){ - if(reloadCounter < reload && coolant != null && coolant.efficiency(this) > 0 && efficiency > 0){ + if(canReload() && coolant != null && coolant.efficiency(this) > 0 && efficiency > 0){ float capacity = coolant instanceof ConsumeLiquidFilter filter ? filter.getConsumed(this).heatCapacity : (coolant.consumes(liquids.current()) ? liquids.current().heatCapacity : 0.4f); float amount = coolant.amount * coolant.efficiency(this); coolant.update(this); @@ -45,5 +45,9 @@ public class ReloadTurret extends BaseTurret{ protected float baseReloadSpeed(){ return efficiency; } + + protected boolean canReload(){ + return reloadCounter < reload; + } } } diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index aa447d6ae7..35a746dbc5 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -76,6 +76,11 @@ public class TractorBeamTurret extends BaseTurret{ @Override public void updateTile(){ + if(activationTimer > 0){ + activationTimer -= Time.delta; + return; + } + float eff = efficiency * coolantMultiplier, edelta = eff * delta(); //retarget diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 9f8e5edd4a..cb4a38ee8d 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -278,6 +278,8 @@ public class Turret extends ReloadTurret{ public @Nullable float[] curRecoils; public float shootWarmup, charge, warmupHold = 0f; public int totalShots, barrelCounter; + public float excessReload = 0; + public int reloadShots = 0; public boolean logicShooting = false; public @Nullable Posc target; public Vec2 targetPos = new Vec2(); @@ -419,7 +421,7 @@ public class Turret extends ReloadTurret{ } public boolean isActive(){ - return (target != null || wasShooting) && enabled; + return (target != null || wasShooting) && enabled && activationTimer <= 0; } public void targetPosition(Posc pos){ @@ -481,8 +483,6 @@ public class Turret extends ReloadTurret{ shootWarmup = Mathf.lerpDelta(shootWarmup, warmupTarget, shootWarmupSpeed * (warmupTarget > 0 ? efficiency : 1f)); } - wasShooting = false; - curRecoil = Mathf.approachDelta(curRecoil, 0, 1 / recoilTime); if(recoils > 0){ if(curRecoils == null) curRecoils = new float[recoils]; @@ -515,8 +515,11 @@ public class Turret extends ReloadTurret{ if(reloadWhileCharging || !charging()){ updateReload(); updateCooling(); + capReload(); } + wasShooting = false; + if(state.rules.fog){ float newRange = hasAmmo() ? peekAmmo().rangeChange : 0f; if(newRange != lastRangeChange){ @@ -525,6 +528,11 @@ public class Turret extends ReloadTurret{ } } + if(activationTimer > 0){ + activationTimer -= Time.delta; + return; + } + if(hasAmmo()){ if(Float.isNaN(reloadCounter)) reloadCounter = 0; @@ -673,11 +681,30 @@ public class Turret extends ReloadTurret{ return queuedBullets > 0 && shoot.firstShotDelay > 0; } - protected void updateReload(){ - reloadCounter += delta() * ammoReloadMultiplier() * baseReloadSpeed(); + @Override + protected boolean canReload(){ + //keep reloading as the turret keeps shooting + return reloadShots < 1 || wasShooting; + } - //cap reload for visual reasons + protected void updateReload(){ + if(!canReload()) return; + reloadCounter += delta() * ammoReloadMultiplier() * baseReloadSpeed(); + } + + protected void capReload(){ + //cap reload for visual reasons, need to store the excess reload to keep the firerate consistent + if(canReload() && reloadCounter >= reload){ + reloadShots += (int)(reloadCounter / reload); + excessReload += reloadCounter % reload; + } reloadCounter = Math.min(reloadCounter, reload); + reloadShots = Math.min(reloadShots, 5); + + if(!wasShooting){ + reloadShots = 0; + excessReload = 0; + } } @Override @@ -687,12 +714,14 @@ public class Turret extends ReloadTurret{ protected void updateShooting(){ - if(reloadCounter >= reload && !charging() && shootWarmup >= minWarmup){ + if(reloadShots > 0 && !charging() && shootWarmup >= minWarmup){ BulletType type = peekAmmo(); shoot(type); - reloadCounter %= reload; + reloadCounter = excessReload; + excessReload = 0; + reloadShots--; } } diff --git a/core/src/mindustry/world/meta/BlockStatus.java b/core/src/mindustry/world/meta/BlockStatus.java index d21887244e..f22b3d5054 100644 --- a/core/src/mindustry/world/meta/BlockStatus.java +++ b/core/src/mindustry/world/meta/BlockStatus.java @@ -7,7 +7,8 @@ public enum BlockStatus{ active(Color.valueOf("5ce677")), noOutput(Color.orange), noInput(Pal.remove), - logicDisable(Color.valueOf("8a73c6")); + logicDisable(Color.valueOf("8a73c6")), + inactive(Color.lightGray); public final Color color; diff --git a/core/src/mindustry/world/meta/Stat.java b/core/src/mindustry/world/meta/Stat.java index 37974939ef..6dcef85afe 100644 --- a/core/src/mindustry/world/meta/Stat.java +++ b/core/src/mindustry/world/meta/Stat.java @@ -95,6 +95,7 @@ public class Stat implements Comparable{ shieldHealth = new Stat("shieldHealth", StatCat.function), cooldownTime = new Stat("cooldownTime", StatCat.function), regenerationRate = new Stat("regenerationRate", StatCat.function), + activationTime = new Stat("activationTime", StatCat.function), moduleTier = new Stat("moduletier", StatCat.function), unitType = new Stat("unittype", StatCat.function), diff --git a/core/src/mindustry/world/meta/StatValues.java b/core/src/mindustry/world/meta/StatValues.java index b2694d1c8f..8556ef3adc 100644 --- a/core/src/mindustry/world/meta/StatValues.java +++ b/core/src/mindustry/world/meta/StatValues.java @@ -704,6 +704,16 @@ public class StatValues{ sep(bt, "@bullet.armorpierce"); } + if(type.armorMultiplier != 1f){ + if(type.armorMultiplier > 1f){ + sep(bt, Core.bundle.format("bullet.armorweakness", (int)(type.armorMultiplier * 100))); + }else if(Mathf.sign(type.armorMultiplier) == 1){ + sep(bt, Core.bundle.format("bullet.armorpiercing", (int)((1 - type.armorMultiplier) * 100))); + }else{ + sep(bt, Core.bundle.format("bullet.antiarmor", (-type.armorMultiplier))); + } + } + if(type.maxDamageFraction > 0){ sep(bt, Core.bundle.format("bullet.maxdamagefraction", (int)(type.maxDamageFraction * 100))); }