diff --git a/core/src/main/assets/messages/items/items.properties b/core/src/main/assets/messages/items/items.properties index 864c58610..d654f7f56 100644 --- a/core/src/main/assets/messages/items/items.properties +++ b/core/src/main/assets/messages/items/items.properties @@ -94,7 +94,7 @@ items.quest.skeletongold.preventing=这里还没有寻找到强大的魔力流 items.quest.skeletongold.wow=染血金币发出诡异的光芒,你感到下层正在分崩离析…… items.weapon.melee.endingblade.name=终焉 -items.weapon.melee.endingblade.desc=不知道从哪来的一个拆开的场记板,貌似沾染了焰之诅咒,有着强大的侵蚀能力。\n\n这个武器在攻击敌人的时候有概率造成_即死_效果,在汲取一定魔力后会产生新的能力。 +items.weapon.melee.endingblade.desc=不知道从哪来的一个拆开的场记板,貌似沾染了焰之诅咒,会随机产生_一种诅咒_,有着强大的侵蚀能力,一旦装备了它就无法脱身了……\n\n这个武器在攻击敌人的时候能吸收一定的浊焰能量,在汲取一定的浊焰能量后会产生新的能力以及自我升级。\n\n当前的浊焰能量: items.weapon.melee.endingblade.cursed=当你装备上这个武器后,一股无形的力量将你束缚住…… items.weapon.melee.endingblade.donot_eqip=终焉的诅咒已经浸染你的身体,你无力脱下它。 @@ -285,7 +285,7 @@ items.weapon.melee.runicblade.desc=这把武器据说曾经是300年前贤者使 据说这把武器的主人现在早已销声匿迹\n那么,你能被它认可吗? items.weapon.melee.locksword.name=钥匙剑 -items.weapon.melee.locksword.desc=来自遥远童话国度的一把失落神剑,形态像是巨大化的钥匙。据说这把剑能够通过战斗的积累而改变外貌,不知道是否真实。 +items.weapon.melee.locksword.desc=来自遥远童话国度的一把失落神剑,形态像是巨大化的钥匙。据说这把剑能够通过战斗的积累而改变外貌,不知道是否真实。\n\n武器的战斗经验: items.weapon.melee.locksword.stats_desc=这把武器会在攻击时不断积累经验,到达一定阶段时会变化造型,并赋予或加强紊乱附魔的效果与增加固定伤害值。 items.weapon.melee.boomsword.name=炸弹匕首 @@ -469,10 +469,12 @@ items.artifacts.chaliceofblood.prick_warn=每次使用圣杯都会消耗更多 items.artifacts.chaliceofblood.onprick=你刺破了自己的手指,使你的生命精华流入了圣杯。 items.artifacts.chaliceofblood.ondeath=圣杯将你的生命精华吸噬殆尽了… items.artifacts.chaliceofblood.desc=这个闪闪发光的银质酒杯在边沿突兀地装饰着几颗造型尖锐的宝石。 -items.artifacts.chaliceofblood.desc_cursed=被诅咒的圣杯将自己固定在你手上,抑制着你回复生命的能力。a +items.artifacts.chaliceofblood.desc_cursed=被诅咒的圣杯将自己固定在你手上,抑制着你回复生命的能力。 items.artifacts.chaliceofblood.desc_1=握住圣杯的那一刻,你涌起一股想在那些尖锐宝石上刺伤自己的奇特冲动。 items.artifacts.chaliceofblood.desc_2=你的一些血液汇集到圣杯里,你可以隐约感受到杯子在为你送来生命能量。你还想用圣杯继续割伤自己,即便你知道那很疼。 items.artifacts.chaliceofblood.desc_3=圣杯已经被你的生命精华填满。你可以感觉到圣杯正将生命能量倾泻般回馈给你。 +items.artifacts.chaliceofblood.desc_4=\n\n圣杯下次会造成的理论最高伤害为: +items.artifacts.chaliceofblood.desc_5=\n\n圣杯造成的伤害可被各种形式的防御抵消伤害。注:0级圣杯造成的伤害为1! items.artifacts.cloakofshadows.name=暗影斗篷 items.artifacts.cloakofshadows.ac_stealth=潜行 @@ -2003,7 +2005,6 @@ items.weapon.weapon.identify=你对手中的武器已经足够熟悉并将其完 items.weapon.weapon.too_heavy=因为你的力量不足,该武器会降低你的攻速和精准,并让你无法偷袭。 items.weapon.weapon.excess_str=你的额外力量让你在使用这件武器时最多能够造成_%d点额外伤害_。 items.weapon.weapon.incompatible=不同属性的魔法相冲突,消除了武器上的附魔! -items.weapon.weapon.nxt_cursed=净化的光芒闪过,但终焉上面的诅咒仍然没有被解除…… items.weapon.weapon.cursed_worn=由于这件武器被诅咒,你无法将其放下。 items.weapon.weapon.cursed=你能感觉到这件武器里潜伏着一股充满恶意的魔力。 items.weapon.weapon.not_cursed=这件武器没有被诅咒。 diff --git a/core/src/main/assets/messages/scenes/scenes.properties b/core/src/main/assets/messages/scenes/scenes.properties index f9c0b5e75..be3989c4d 100644 --- a/core/src/main/assets/messages/scenes/scenes.properties +++ b/core/src/main/assets/messages/scenes/scenes.properties @@ -3,6 +3,12 @@ windows.wndsettings$extendtab.splash_screen=启动界面 windows.wndsettings$extendtab.disable=关闭 windows.wndsettings$extendtab.full=开启 +scenes.gamescene.go_here=前往这里 +scenes.gamescene.examine=调查这里 +scenes.gamescene.interact=与之对话 +scenes.gamescene.pick_up=拾取此物 + + scenes.gamescene.snowcynon=你现在的当前位置:雪凛峡谷 scenes.gamescene.descend=你降入了地牢的第%d层。 scenes.titlescene.spawnerror=楼层生成错误!!! diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java index a6835523d..7d22ba308 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java @@ -54,6 +54,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.Waterskin; import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor; +import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.ChaliceOfBlood; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CloakOfShadows; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.EtherealChains; @@ -85,7 +86,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLightningS import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlame; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlameX; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfMindVision; -import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfPurity; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength; import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.WaterSoul; import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfDragonKingBreath; @@ -119,7 +119,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BlackDog; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dagger; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.EndingBlade; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.FireFishSword; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Gauntlet; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Gloves; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.GreenSword; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.IceFishSword; @@ -180,7 +179,7 @@ public enum HeroClass { new FireFishSword().quantity(1).identify().collect(); new LaserPython().quantity(100).identify().collect(); new PotionOfInvisibility().quantity(45).identify().collect(); - new PotionOfPurity().quantity(45).identify().collect(); + new LockSword().quantity(1).identify().collect(); Buff.affect(hero, ChampionHero.AntiMagic.class, 50000f); new AlchemicalCatalyst().quantity(45).identify().collect(); new EtherealChains().quantity(1).identify().collect(); @@ -188,7 +187,7 @@ public enum HeroClass { new ScrollOfTransmutation().quantity(45).identify().collect(); new BeaconOfReturning().quantity(11).identify().collect(); new WarHammer().quantity(1).identify().collect(); - new Gauntlet().quantity(1).identify().collect(); + new ChaliceOfBlood().quantity(1).identify().collect(); new Firebloom.Seed().quantity(50).identify().collect(); new Blindweed.Seed().quantity(50).identify().collect(); new StoneOfFlock().quantity(50).identify().collect(); @@ -226,7 +225,6 @@ public enum HeroClass { new RedBloodMoon().quantity(1).identify().collect(); new KingBag().quantity(1).identify().collect(); new PotionOfLiquidFlameX().quantity(100).identify().collect(); - new LockSword().quantity(1).identify().collect(); new YellowSunBooks().quantity(1).identify().collect(); new BrokenBooks().quantity(1).identify().collect(); new DeepBloodBooks().quantity(1).identify().collect(); @@ -263,6 +261,9 @@ public enum HeroClass { i = new Food(); + //new EndingBlade().quantity(1).identify().collect(); + //new ChaliceOfBlood().quantity(1).identify().collect(); + new HerbBag().quantity(1).identify().collect(); new PotionOfHealing().quantity(3).identify().collect(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java index 159edd863..6243f3929 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java @@ -21,6 +21,8 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs; +import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero; + import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; @@ -43,6 +45,7 @@ import com.shatteredpixel.shatteredpixeldungeon.journal.Notes; import com.shatteredpixel.shatteredpixeldungeon.levels.SewerLevel; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; +import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.GhostSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.windows.WndQuest; @@ -67,7 +70,7 @@ public class Ghost extends NPC { @Override protected boolean act() { if (Quest.processed()) { - target = Dungeon.hero.pos; + target = hero.pos; } if (Dungeon.level.heroFOV[pos] && !Quest.completed()){ Notes.add( Notes.Landmark.GHOST ); @@ -109,7 +112,7 @@ public class Ghost extends NPC { Sample.INSTANCE.play( Assets.Sounds.GHOST ); - if (c != Dungeon.hero){ + if (c != hero){ return super.interact(c); } @@ -164,13 +167,13 @@ public class Ghost extends NPC { switch (Quest.type){ case 1: default: questBoss = new FetidRat(); - txt_quest = Messages.get(this, "rat_1", Dungeon.hero.name()); break; + txt_quest = Messages.get(this, "rat_1", hero.name()); break; case 2: questBoss = new GnollTrickster(); - txt_quest = Messages.get(this, "gnoll_1", Dungeon.hero.name()); break; + txt_quest = Messages.get(this, "gnoll_1", hero.name()); break; case 3: questBoss = new GreatCrab(); - txt_quest = Messages.get(this, "crab_1", Dungeon.hero.name()); break; + txt_quest = Messages.get(this, "crab_1", hero.name()); break; } questBoss.pos = Dungeon.level.randomRespawnCell( this ); @@ -310,17 +313,24 @@ public class Ghost extends NPC { Generator.Category c = Generator.wepTiers[wepTier - 1]; weapon = (MeleeWeapon) Reflection.newInstance(c.classes[Random.chances(c.probs)]); - //50%:+0, 30%:+1, 15%:+2, 5%:+3 + //30%:+0, 25%:+1, 15%:+2, 10%:+3, 15%:+4, 5%+5 float itemLevelRoll = Random.Float(); int itemLevel; - if (itemLevelRoll < 0.5f){ + if (itemLevelRoll < 0.1f){ itemLevel = 0; - } else if (itemLevelRoll < 0.8f){ + } else if (itemLevelRoll < 0.75f){ itemLevel = 1; - } else if (itemLevelRoll < 0.95f){ + } else if (itemLevelRoll < 0.85f){ itemLevel = 2; - } else { + } else if (itemLevelRoll < 0.90f) { itemLevel = 3; + hero.sprite.showStatus( CharSprite.NEGATIVE, "+3!!!" ); + } else if (itemLevelRoll < 0.95f){ + hero.sprite.showStatus( CharSprite.POSITIVE, "+5!!!" ); + itemLevel = 5; + } else { + itemLevel = 4; + hero.sprite.showStatus( CharSprite.WARNING, "+4!!!" ); } weapon.upgrade(itemLevel); armor.upgrade(itemLevel); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/ChaliceOfBlood.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/ChaliceOfBlood.java index 0351015eb..e2b260fa0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/ChaliceOfBlood.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/ChaliceOfBlood.java @@ -167,8 +167,8 @@ public class ChaliceOfBlood extends Artifact { desc += Messages.get(this, "desc_2"); else desc += Messages.get(this, "desc_3"); - } - + } + desc += Messages.get(this, "desc_4")+"_"+3*(level()*level())+"_"+Messages.get(this, "desc_5"); return desc; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/EndingBlade.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/EndingBlade.java index 31729db21..412e120c3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/EndingBlade.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/EndingBlade.java @@ -5,6 +5,11 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.items.bombs.LaserPython; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Blazing; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Grim; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Kinetic; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Shocking; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Unstable; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; @@ -17,6 +22,7 @@ public class EndingBlade extends Weapon { image = ItemSpriteSheet.ENDDIED; tier = 4; cursed = true; + enchant(Enchantment.randomCurse()); } //三大基础静态固定字节 @@ -44,21 +50,24 @@ public class EndingBlade extends Weapon { private boolean firstx=true; private static final String FIRST = "first"; + private static final String INTRPS = "intrps"; @Override public void storeInBundle(Bundle bundle) { super.storeInBundle(bundle); bundle.put(FIRST, firstx); + bundle.put(INTRPS, fireenergy); } @Override public void restoreFromBundle(Bundle bundle) { super.restoreFromBundle(bundle); firstx = bundle.getBoolean(FIRST); + fireenergy = bundle.getInt(INTRPS); } public String desc() { - return Messages.get(this, "desc")+"\n\n"+fireenergy; + return Messages.get(this, "desc")+"_"+fireenergy+"_"; } //每100点浊焰能量自动升级 @@ -96,24 +105,49 @@ public class EndingBlade extends Weapon { @Override public int STRReq(int C) { - return 15+level; + return 15+fireenergy/100; } public int proc(Char attacker, Char defender, int damage ) { //常规加+1浊焰能量 - ++this.fireenergy; + ++fireenergy; + int dmg; if(level >= 10){ fireenergy += 0; //武器最高级 } else if(defender.properties().contains(Char.Property.BOSS) && defender.HP <= damage){ //目标Boss血量小于实际伤害判定为死亡,+20浊焰能量 - this.fireenergy+=20; + fireenergy+=20; } else if(defender.properties().contains(Char.Property.MINIBOSS) && defender.HP <= damage){ //目标迷你Boss血量小于实际伤害判定为死亡,+10浊焰能量 - this.fireenergy+=10; + fireenergy+=10; } else if (defender.HP <= damage){ //目标血量小于实际伤害判定为死亡,+5浊焰能量 - this.fireenergy+=5; + fireenergy+=5; + } + + /* + * 10级 死神附魔 + * 8级 紊乱附魔 + * 6级 电击附魔 + * 4级 烈焰附魔 + * 2级 恒动附魔 + */ + if(level>= 10){ + dmg = (new Grim()).proc(this, attacker, defender, damage) + 5; + damage = dmg; + } else if (level>= 8) { + dmg = (new Unstable()).proc(this, attacker, defender, damage) + 4; + damage = dmg; + } else if (level>= 6){ + dmg = (new Shocking()).proc(this, attacker, defender, damage) + 3; + damage = dmg; + } else if (level>= 4){ + dmg = (new Blazing()).proc(this, attacker, defender, damage) + 2; + damage = dmg; + } else if (level>= 2){ + dmg = (new Kinetic()).proc(this, attacker, defender, damage) + 1; + damage = dmg; } return super.proc(attacker, defender, damage); @@ -175,11 +209,15 @@ public class EndingBlade extends Weapon { @Override public int min(int lvl) { - return 10; + return 10+(lvl*2)*(Dungeon.hero.lvl/10); + //10+20x3=70 } @Override public int max(int lvl) { - return 15; + return 15+(lvl*3)*(Dungeon.hero.lvl/10); + //15+30x3=15+90=105 } + + //Max 70~105 } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/LockSword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/LockSword.java index eccfd8bcb..86827243c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/LockSword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/LockSword.java @@ -12,6 +12,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.RandomBuff; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Unstable; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.watabou.utils.Bundle; @@ -31,6 +32,10 @@ public class LockSword extends MeleeWeapon { } + public String desc() { + return Messages.get(this, "desc")+"_"+lvl+"_"; + } + public int image() { if (this.level() == 3 && Dungeon.hero.buff(RandomBuff.class) != null){ //GLog.n("谢谢你为我升级……"); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/ThanksScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/ThanksScene.java index b86639353..1b62568b1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/ThanksScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/ThanksScene.java @@ -53,7 +53,7 @@ public class ThanksScene extends PixelScene { , null, null); - mispd.setRect((w - fullWidth)/2f, 120, 120, 0); + mispd.setRect((Camera.main.width - colWidth)/2f-10, 120, colWidth+20, 0); content.add(mispd); //*** Musics Used *** @@ -65,7 +65,7 @@ public class ThanksScene extends PixelScene { , null, null); - musicUsed.setRect((w - fullWidth)/2f, mispd.bottom()+6, 120, 0); + musicUsed.setRect((Camera.main.width - colWidth)/2f-10, mispd.bottom()+6, colWidth+20, 0); content.add(musicUsed); CreditsBlock ptr = new CreditsBlock(true, 0x39aae5, @@ -74,7 +74,7 @@ public class ThanksScene extends PixelScene { "Developed by: _Jinkeloid_", null, null); - ptr.setRect((w - fullWidth)/2f, musicUsed.bottom()+6, 120, 0); + ptr.setRect((Camera.main.width - colWidth)/2f-10, musicUsed.bottom()+6, colWidth+20, 0); content.add(ptr); //*** Special Thanks *** @@ -84,7 +84,7 @@ public class ThanksScene extends PixelScene { null, null, null); - specialThanks.setRect((w - fullWidth)/2f, ptr.bottom()+6, 120, 0); + specialThanks.setRect((Camera.main.width - colWidth)/2f-10, ptr.bottom()+6, colWidth+20, 0); content.add(specialThanks); CreditsBlock specialThanksB = new CreditsBlock(true, 0xbe8e6e, @@ -93,7 +93,7 @@ public class ThanksScene extends PixelScene { null, null, null); - specialThanksB.setRect((w - fullWidth)/2f, specialThanks.bottom()+6, 120, 0); + specialThanksB.setRect((Camera.main.width - colWidth)/2f-10, specialThanks.bottom()+6, colWidth+20, 0); content.add(specialThanksB); //*** Shattered Pixel Dungeon Credits *** @@ -104,7 +104,7 @@ public class ThanksScene extends PixelScene { "Developed by: _Evan Debenham_\nBased on Pixel Dungeon's open source", null, null); - shpx.setRect((w - fullWidth)/2f, specialThanksB.bottom()+6, 120, 0); + shpx.setRect((Camera.main.width - colWidth)/2f-10, specialThanksB.bottom()+6, colWidth+20, 0); content.add(shpx); addLine(shpx.top() - 4, content); @@ -158,9 +158,9 @@ public class ThanksScene extends PixelScene { "加入碳化总群", "https://jq.qq.com/?_wv=1027&k=6jAlnlNL"); if (landscape()){ - evan.setRect(shpx.left(), reddragon.bottom() + 8, colWidth, 0); + evan.setRect((Camera.main.width - colWidth)/2f-10, reddragon.bottom() + 8, colWidth+20, 0); } else { - evan.setRect(shpx.left(), reddragon.bottom() + 8, colWidth, 0); + evan.setRect((Camera.main.width - colWidth)/2f-10, reddragon.bottom() + 8, colWidth+20, 0); } content.add(evan); @@ -173,9 +173,9 @@ public class ThanksScene extends PixelScene { null, null); if (landscape()){ - wata.setRect(shpx.left(), evan.bottom() + 8, colWidth, 0); + wata.setRect((Camera.main.width - colWidth)/2f-10, evan.bottom() + 8, colWidth+20, 0); } else { - wata.setRect(shpx.left(), evan.bottom() + 8, colWidth, 0); + wata.setRect((Camera.main.width - colWidth)/2f-10, evan.bottom() + 8, colWidth+20, 0); } content.add(wata); @@ -187,9 +187,9 @@ public class ThanksScene extends PixelScene { "加入QQ魔绫开发总群", "https://jq.qq.com/?_wv=1027&k=wzMjU0f7"); if (landscape()){ - wata2.setRect(shpx.left(), wata.bottom() + 20, colWidth, 0); + wata2.setRect((Camera.main.width - colWidth)/2f-10, wata.bottom() + 20, colWidth+20, 0); } else { - wata2.setRect(shpx.left(), wata.bottom() + 20, colWidth, 0); + wata2.setRect((Camera.main.width - colWidth)/2f-10, wata.bottom() + 20, colWidth+20, 0); } content.add(wata2); @@ -203,9 +203,9 @@ public class ThanksScene extends PixelScene { "Pixel Dungeon Discord Server", "https://discord.gg/47bguQtcwZ"); if (landscape()){ - wata3.setRect(shpx.left(), wata2.bottom() + 18, colWidth, 0); + wata3.setRect((Camera.main.width - colWidth)/2f-10, wata2.bottom() + 18, colWidth+20, 0); } else { - wata3.setRect(shpx.left(), wata2.bottom() + 18, colWidth, 0); + wata3.setRect((Camera.main.width - colWidth)/2f-10, wata2.bottom() + 18, colWidth+20, 0); } content.add(wata3); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Toolbar.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Toolbar.java index 320aeb4c4..4ef42f571 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Toolbar.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Toolbar.java @@ -225,7 +225,7 @@ public class Toolbar extends Component { @Override protected void layout() { - final int maxHorizontalQuickslots = PixelScene.landscape() ? 5 : 3; + final int maxHorizontalQuickslots = PixelScene.landscape() ? 12 : 3; float right = width; if (SPDSettings.interfaceSize() > 0){ btnInventory.setPos(right - btnInventory.width(), y); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndTextInput.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndTextInput.java index 619ffa409..6317c6c4d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndTextInput.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndTextInput.java @@ -74,13 +74,14 @@ public class WndTextInput extends Window { final RenderedTextBlock txtBody = PixelScene.renderTextBlock(body, 6); txtBody.maxWidth(width); txtBody.setPos(0, pos); + add(txtBody); pos = txtBody.bottom() + 2 * MARGIN; } int textSize = (int)PixelScene.uiCamera.zoom * (multiLine ? 6 : 9); - textBox = new TextInput(Chrome.get(Chrome.Type.TOAST_WHITE), multiLine, textSize){ + textBox = new TextInput(Chrome.get(Chrome.Type.SCROLL), multiLine, textSize){ @Override public void enterPressed() { //triggers positive action on enter pressed, only with non-multiline though. @@ -96,7 +97,7 @@ public class WndTextInput extends Window { if (multiLine) { inputHeight = 64; //~8 lines of text } else { - inputHeight = 16; + inputHeight = 36; } add(textBox); textBox.setRect(MARGIN, pos, width-2*MARGIN, inputHeight);