Update Beta3.6-V0630
This commit is contained in:
parent
2c4f570e36
commit
89d9690c24
|
@ -33,7 +33,6 @@ import com.badlogic.gdx.backends.android.AndroidApplication;
|
|||
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
||||
import com.badlogic.gdx.backends.android.AndroidAudio;
|
||||
import com.badlogic.gdx.backends.android.AsynchronousAndroidAudio;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.SPDSettings;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.services.news.GameNesImpl;
|
||||
|
|
|
@ -17,8 +17,8 @@ allprojects {
|
|||
appName = 'Magic Ling Pixel Dungeon'
|
||||
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
|
||||
|
||||
appVersionCode =900904
|
||||
appVersionName = '0.6.3.0-Beta3.1'
|
||||
appVersionCode =900906
|
||||
appVersionName = '0.6.3.0-Beta3.6'
|
||||
|
||||
appJavaCompatibility = JavaVersion.VERSION_11
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
@ -996,6 +996,9 @@ actors.buffs.championenemy$big.desc=攻击力提升20%,攻击有20%概率造成
|
|||
actors.buffs.championenemy$longsider.name=突变烟雾体
|
||||
actors.buffs.championenemy$longsider.desc=攻击力减少10%,攻击范围+2,攻击敌人10%概率造成眩晕……\n\n突变烟雾体喜好在远处骚扰敌人,他就像烟雾一样来无影去无踪……
|
||||
|
||||
actors.buffs.championenemy$sider.name=突变酸液体
|
||||
actors.buffs.championenemy$sider.desc=该词条的敌人获得远程攻击,攻击范围+6,造成自身可造成的伤害20%的额外法术伤害并有概率随机产生一种有害烟雾。\n\n突变酸液体喜欢使用酸液来攻击敌人,他们的酸液不稳定性可以造成大量伤害,但是这种致命的酸液需要时间来准备,因此他们的攻击速度会降低_200%_。
|
||||
|
||||
|
||||
actors.buffs.charm.name=魅惑
|
||||
actors.buffs.charm.heromsg=你被魅惑了!
|
||||
|
@ -1349,10 +1352,14 @@ actors.hero.heroclass.warrior_desc_item=蕾零安洁初始携带一枚可以贴
|
|||
actors.hero.heroclass.warrior_desc_loadout=蕾零安洁初始携带一把_破损的短剑。_这把武器的直接近战伤害是所有初始武器中最高的。\n\n蕾零安洁初始携带_三块石子。_石子可以扔出攻击远处,造成一定的少量伤害。\n\n蕾零安洁初始携带一个可以收纳各种药水并保护药水瓶不被冻碎的_药水架。_\n\n蕾零安洁初始携带一个不会被消耗的_唤魔晶柱_
|
||||
actors.hero.heroclass.warrior_desc_misc=蕾零安洁每次食用食物时都能恢复少量生命值。\n\n蕾零安洁开局鉴定的物品有:\n- 鉴定卷轴\n- 治疗药水\n- 盛怒卷轴\n\n蕾零安洁初始携带一个不会被消耗的_唤魔晶柱_
|
||||
actors.hero.heroclass.warrior_desc_subclasses=在击杀第二个Boss后可以选择一种专精。蕾零安洁可以在两种专精中二选一:
|
||||
actors.hero.heroclass.warrior_story=....
|
||||
actors.hero.heroclass.huntress_story=剧情故事待补充-456
|
||||
actors.hero.heroclass.rogue_story=剧情故事待补充-789
|
||||
actors.hero.heroclass.mage_story=剧情故事待补充-101112
|
||||
|
||||
actors.hero.heroclass.warrior_story=蕾蕶安洁--战术策略\n\n她出生于霜落帝国,这里常年都是寒风刺骨的状态。蕾蕶安洁是毕业于战术高等学府的优秀学员。她不主张使用魔法,而是在于攻防兼备。她的家族世世代代都以战术策略为主,她的家族是霜落帝国中为数不多的仍然未使用魔法或者特殊能力的家族。\n如今由于地表三巨头的诱人悬赏,加上她自己也有来地牢的一些调查,她就此来到了这里。
|
||||
|
||||
actors.hero.heroclass.huntress_story=颐莲梅錵--精灵血裔\n\n颐莲梅錵诞生于绿林圣境,这里是精灵的聚集地。她的母亲是这里的最高管理者,然而,她向往外面的世界,不希望自己就一直在母亲的保护和圣境的结界中过完一生。为此,她私自开启了结界,这带来了一场重大的变故。最后还是她母亲发现异常后重新修补了结界,但她本人从此在圣境中消失了。最高管理者其实什么都知道,为此也没有派人寻找她....\n\n多年后,她为了提升自己的力量前往了这里。地牢深处的宝物是她此行的目的,而她不知道的是,她已是最后一位精灵血裔...
|
||||
|
||||
actors.hero.heroclass.rogue_story=极影铃虹--迷离少女\n\n极影铃虹出生于深渊魔都,是拥有皇家血脉的人。然而,她在每次外出的时候,都会看见底层的人们深受生活的折磨,并且遭到贵族的歧视。这些现象都给纯洁无知的她带来了很多影响,自那以后,皇室中总有一个黑影盗窃东西,都是由于这个黑影每次盗窃的都是食物方面。为此皇室高层是搁置不管此事。皇室高层在外巡游的时候,听到底层的人们谈论有一个蒙着面纱的女性将食物送给他们。皇室高层自然联想到了那个黑影......\n但是,并没有人知道是她。而她听说地牢最深处的东西可以实现愿望,便说服自己的父亲来到了这里,父亲在她的斗篷中植入了一颗暗黑的种子,必要时刻,它会保护她前行。
|
||||
|
||||
actors.hero.heroclass.mage_story=茉莉伊洛--渊初少女\n\n茉莉伊洛的出生地并不是这片国土,而是远在天边的神秘之境。那里魔力满溢,每个人都是这里的顶尖魔法师。她因为一些变故,离开了自己的家乡,来到了地表三巨头管辖的区域,并且在法师学府毕业。懂得强大的冰与火的魔力,能在战斗中随机应变。但由于她并不属于这里,这里的魔力束缚了她,为此她的真正力量从未显现。她为了调查有关于水晶之心的谜团,便前往来到这地牢的面前....
|
||||
|
||||
actors.hero.heroclass.mage=茉莉伊洛
|
||||
actors.hero.heroclass.mage_unlock=茉莉伊洛精通各类法杖,并在开局时持有一根_独特的魔杖_。\n\n_在一局游戏中使用两张升级卷轴_以解锁茉莉伊洛。
|
||||
|
|
|
@ -2145,7 +2145,7 @@ items.weapon.weapon.identify=你对手中的武器已经足够熟悉并将其完
|
|||
items.weapon.weapon.too_heavy=因为你的力量不足,该武器会降低你的攻速和精准,并让你无法偷袭。
|
||||
items.weapon.weapon.excess_str=你的额外力量让你在使用这件武器时最多能够造成_%d点额外伤害_。
|
||||
items.weapon.weapon.incompatible=不同属性的魔法相冲突,消除了武器上的附魔!
|
||||
items.weapon.weapon.cursed_worn=由于这件武器被诅咒,你无法将其放下。
|
||||
items.weapon.weapon.cursed_worn=由于这件武器被诅咒,你无f法将其放下。
|
||||
items.weapon.weapon.cursed=你能感觉到这件武器里潜伏着一股充满恶意的魔力。
|
||||
items.weapon.weapon.not_cursed=这件武器没有被诅咒。
|
||||
items.weapon.weapon.faster=这件武器强化了_攻速_。
|
||||
|
|
|
@ -317,7 +317,7 @@ challenges.rlpt = ]支离破碎]
|
|||
challenges.rlpt_desc=地下涌动的神秘力量正在渐渐腐蚀这里,这里不过是而言是另一场噩梦。\n\n从第六层开始,怪物必定有几个不是本大层的怪物,但不会超过两级。一般来说,在监狱遇到矮人层的怪物几率很小。通常遇到矿洞层的怪物。
|
||||
|
||||
challenges.sbsg = ]基因突变]
|
||||
challenges.sbsg_desc=地牢中的神秘魔力让一些生物发生了重大的变化\n-所有生物都会因为突变激素变得各不相同,给探索地牢的脚步带来更大的困难。\n-敌人有5种突变类型:\n突变失败体_(30%概率)_:近战伤害减少35%,移速提高到1.3。\n突变爆炸体_(25%概率)_:移速减少50%,攻击力降低30%,但死亡时拥有爆炸伤害。\n突变完全体_(20%概率)_:移速和攻击力各提高25%,且拥有30%伤害减免。\n突变危险体_(15%概率)_:攻击力提升20%,攻击有10%概率造成流血。死亡时有5%概率立刻向本层发出警报。\n突变烟雾体_(10%概率)_:攻击力减少10%,攻击范围+2,攻击敌人10%概率造成眩晕……\n\n_特别说明:如果开启精英强敌,词条会和精英词条共存_
|
||||
challenges.sbsg_desc=地牢中的神秘魔力让一些生物发生了重大的变化\n-所有生物都会因为突变激素变得各不相同,给探索地牢的脚步带来更大的困难。\n-敌人有6种突变类型,且Roll出权重一致:\n\n突变失败体:近战伤害减少35%,移速提高到1.3。\n\n突变爆炸体:移速减少50%,攻击力降低30%,但死亡时拥有爆炸伤害。\n\n突变完全体:移速和攻击力各提高25%,且拥有30%伤害减免。\n\n突变危险体:攻击力提升20%,攻击有10%概率造成流血。死亡时有5%概率立刻向本层发出警报。\n\n突变烟雾体:攻击力减少10%,攻击范围+2,攻击敌人10%概率造成眩晕……\n\n突变酸液体:敌人获得额外远程技能,攻击范围+6,造成自身可造成的伤害20%的额外法术伤害并有概率随机产生一种有害烟雾(酸雾,毒雾,眩雾)\n\n_特别说明:如果开启精英强敌,词条会和精英词条共存,届时你将遭遇更大的挑战_
|
||||
|
||||
challenges.exsg = ]药水癔症]
|
||||
challenges.exsg_desc=药水癔症详细规则:\n力量药水--60%概率力量-1\n灵视药剂--60%概率喝后失明5回合\n隐形药剂--60%概率喝后立刻怒吼\n极速药剂--60%概率喝后立刻残废8回合\n==========================\n小型口粮-吃后立刻获得极速4回合\n冷冻生肉片-吃后获得奥术护盾\n全肉大饼-吃后立刻获得8回合极速,且有大概率+1力量(_随着力量的追加,获得力量的概率会渐渐变低_)\n\n高级药水_(合剂/魔药)_不受影响\n不知道何种原因,大部分正面药水你都感觉有毒!\n你的臆想会导致药水有毒,但食物却会很有用!而且地牢里面还会追加自动售货机,会售卖一些更加高级的东西。
|
||||
|
|
|
@ -535,4 +535,8 @@ ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x73=-V0.6.3-Beta1.5\n1.修复时光
|
|||
|
||||
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x74=-V0.6.3-Beta2.0\n1.修复BossRush的一些问题\n2.改善部分代码
|
||||
|
||||
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x75=-V0.6.3-Beta3.5\n1.修复一些错误,修复DM720概率为40%而非20%的问题。\n2.PC端音乐崩溃属于正常现象,后续更新会优化,如果崩溃重启即可。
|
||||
|
||||
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x76=-V0.6.3-Beta3.6\n1.修复PC端音乐偶尔崩溃的问题\n2.修复一些文案错误
|
||||
|
||||
//ui.changelist.mlpd.vm0_5_x_changes.xxx//
|
|
@ -154,6 +154,9 @@ windows.bosssettingwindows.bossgold=在游戏中,随着你探索的深度,
|
|||
windows.bosssettingwindows.bug=购买通行证
|
||||
windows.bosssettingwindows.not_yet=取消
|
||||
windows.bosssettingwindows.no_money=ERROR:你的金币不够,无法购买通行证。
|
||||
|
||||
windows.bosssettingwindows.no_level=ERROR:不能在交界处退还金币。
|
||||
|
||||
windows.bosssettingwindows.getboss=染血金币控制终端已经为你打开一条秘密通道,其路径通往:
|
||||
windows.bosssettingwindows.takenotapplic=你已取消挑战此领袖,已返还金币:
|
||||
windows.bosssettingwindows.cancal=ERROR:用户取消购买,已自动关闭。
|
||||
|
|
|
@ -3,9 +3,22 @@ package com.shatteredpixel.shatteredpixeldungeon;
|
|||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.depth;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Callback;
|
||||
|
||||
public class BGMPlayer {
|
||||
|
||||
|
||||
public static void playBGM(String name, boolean loop) {
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.play(name, loop);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void playBGMWithDepth() {
|
||||
if (Dungeon.hero != null) {
|
||||
if (Dungeon.hero.buff(LockedFloor.class) != null) {
|
||||
|
@ -18,44 +31,44 @@ public class BGMPlayer {
|
|||
|
||||
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
|
||||
if (d == -1) {
|
||||
Music.INSTANCE.play(Assets.SNOWCYON, true);
|
||||
playBGM(Assets.SNOWCYON, true);
|
||||
}else if (d == 0||d==27) {
|
||||
Music.INSTANCE.play(Assets.SNOWCYON, true);
|
||||
playBGM(Assets.SNOWCYON, true);
|
||||
} else if (d > 0 && d <= 5) {
|
||||
Music.INSTANCE.play(Assets.BGM_1, true);
|
||||
playBGM(Assets.BGM_1, true);
|
||||
} else if (d > 5 && d <= 10) {
|
||||
Music.INSTANCE.play(Assets.BGM_2, true);
|
||||
playBGM(Assets.BGM_2, true);
|
||||
} else if (d > 10 && d <= 15) {
|
||||
Music.INSTANCE.play(Assets.BGM_3, true);
|
||||
playBGM(Assets.BGM_3, true);
|
||||
} else if (d > 15 && d <= 20) {
|
||||
Music.INSTANCE.play(Assets.BGM_4, true);
|
||||
playBGM(Assets.BGM_4, true);
|
||||
} else if (d > 20 && d <= 26) {
|
||||
Music.INSTANCE.play(Assets.BGM_5, true);
|
||||
playBGM(Assets.BGM_5, true);
|
||||
} else if (d ==-5||d ==-15) {
|
||||
Music.INSTANCE.play(Assets.SNOWCYON, true);
|
||||
playBGM(Assets.SNOWCYON, true);
|
||||
} else
|
||||
//default
|
||||
Music.INSTANCE.play(Assets.Music.THEME, true);
|
||||
playBGM(Assets.Music.THEME, true);
|
||||
} else {
|
||||
if (d == -1) {
|
||||
Music.INSTANCE.play(Assets.TOWN, true);
|
||||
playBGM(Assets.TOWN, true);
|
||||
}else if (d == 0) {
|
||||
Music.INSTANCE.play(Assets.TOWN, true);
|
||||
playBGM(Assets.TOWN, true);
|
||||
} else if (d > 0 && d <= 5) {
|
||||
Music.INSTANCE.play(Assets.BGM_1, true);
|
||||
playBGM(Assets.BGM_1, true);
|
||||
} else if (d > 5 && d <= 10) {
|
||||
Music.INSTANCE.play(Assets.BGM_2, true);
|
||||
playBGM(Assets.BGM_2, true);
|
||||
} else if (d > 10 && d <= 15) {
|
||||
Music.INSTANCE.play(Assets.BGM_3, true);
|
||||
playBGM(Assets.BGM_3, true);
|
||||
} else if (d > 15 && d <= 20) {
|
||||
Music.INSTANCE.play(Assets.BGM_4, true);
|
||||
playBGM(Assets.BGM_4, true);
|
||||
} else if (d > 20 && d <= 26) {
|
||||
Music.INSTANCE.play(Assets.BGM_5, true);
|
||||
playBGM(Assets.BGM_5, true);
|
||||
} else if (d ==-5||d ==-15) {
|
||||
Music.INSTANCE.play(Assets.SNOWCYON, true);
|
||||
playBGM(Assets.SNOWCYON, true);
|
||||
} else
|
||||
//default
|
||||
Music.INSTANCE.play(Assets.Music.THEME, true);
|
||||
playBGM(Assets.Music.THEME, true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -105,57 +118,54 @@ public class BGMPlayer {
|
|||
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
|
||||
switch (depth){
|
||||
case 2:
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSA, true);
|
||||
playBGM(Assets.BGM_BOSSA, true);
|
||||
break;
|
||||
case 4:case 5:
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSB, true);
|
||||
playBGM(Assets.BGM_BOSSB, true);
|
||||
break;
|
||||
case 8: case 10:
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSC, true);
|
||||
playBGM(Assets.BGM_BOSSC, true);
|
||||
break;
|
||||
case 12: case 14:
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSD, true);
|
||||
playBGM(Assets.BGM_BOSSD, true);
|
||||
break;
|
||||
case 16:
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSC3, true);
|
||||
playBGM(Assets.BGM_BOSSC3, true);
|
||||
break;
|
||||
case 19: case 21:
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSD2, true);
|
||||
playBGM(Assets.BGM_BOSSD2, true);
|
||||
break;
|
||||
case 25:
|
||||
Music.INSTANCE.play(Assets.BGM_FRBOSS, true);
|
||||
playBGM(Assets.BGM_FRBOSS, true);
|
||||
break;
|
||||
case 26:
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSE3, true);
|
||||
playBGM(Assets.BGM_BOSSE3, true);
|
||||
break;
|
||||
case 28:
|
||||
Music.INSTANCE.play( Assets.BGM_0, true );
|
||||
playBGM( Assets.BGM_0, true );
|
||||
break;
|
||||
|
||||
}
|
||||
} else {
|
||||
if (Dungeon.bossLevel() && t == 5) {
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSA, true);
|
||||
playBGM(Assets.BGM_BOSSA, true);
|
||||
} else if (Dungeon.bossLevel() && t == 10) {
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSB, true);
|
||||
playBGM(Assets.BGM_BOSSB, true);
|
||||
} else if (Dungeon.bossLevel() && t == 15 && Statistics.spawnersIce > 0) {
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSC3, true);
|
||||
playBGM(Assets.BGM_BOSSC3, true);
|
||||
} else if (Dungeon.bossLevel() && t == 15) {
|
||||
if((Statistics.boss_enhance & 0x4) != 0) Music.INSTANCE.play(Assets.BGM_BOSSC3, true);
|
||||
else Music.INSTANCE.play(Assets.BGM_BOSSC, true);
|
||||
if((Statistics.boss_enhance & 0x4) != 0) playBGM(Assets.BGM_BOSSC3, true);
|
||||
else playBGM(Assets.BGM_BOSSC, true);
|
||||
} else if (Dungeon.bossLevel() && t == 20) {
|
||||
if((Statistics.boss_enhance & 0x8) != 0) Music.INSTANCE.play(Assets.BGM_BOSSD2, true);
|
||||
else Music.INSTANCE.play(Assets.BGM_BOSSD, true);
|
||||
if((Statistics.boss_enhance & 0x8) != 0) playBGM(Assets.BGM_BOSSD2, true);
|
||||
else playBGM(Assets.BGM_BOSSD, true);
|
||||
} else if (Dungeon.bossLevel() && t == 25 && (Statistics.spawnersAlive > 0)) {
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSE3, true);
|
||||
playBGM(Assets.BGM_BOSSE3, true);
|
||||
}else if (Dungeon.bossLevel() && t == 25){
|
||||
Music.INSTANCE.play(Assets.BGM_BOSSE, true);
|
||||
playBGM(Assets.BGM_BOSSE, true);
|
||||
} else if (Dungeon.bossLevel() && t == -15) {
|
||||
Music.INSTANCE.play(Assets.BGM_FRBOSS, true);
|
||||
playBGM(Assets.BGM_FRBOSS, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,11 +21,16 @@
|
|||
|
||||
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ConfusionGas;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.CorrosiveGas;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Fire;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.StormCloud;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Bomb;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.AlarmTrap;
|
||||
|
@ -33,7 +38,9 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||
import com.watabou.noosa.Image;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
import com.watabou.utils.PathFinder;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
|
@ -107,21 +114,25 @@ public abstract class ChampionEnemy extends Buff {
|
|||
Class<?extends ChampionEnemy> buffCls;
|
||||
|
||||
|
||||
if (Random.Float() < 0.3f) {
|
||||
//30%
|
||||
switch (Random.NormalIntRange(0,6)){
|
||||
case 0: default:
|
||||
buffCls = ChampionEnemy.Small.class;
|
||||
} else if (Random.Float() < 0.25f) {
|
||||
//25%
|
||||
break;
|
||||
case 1:
|
||||
buffCls = ChampionEnemy.Bomber.class;
|
||||
} else if (Random.Float() < 0.2f) {
|
||||
//20%
|
||||
break;
|
||||
case 2:
|
||||
buffCls = ChampionEnemy.Middle.class;
|
||||
} else if (Random.Float() < 0.15f) {
|
||||
//15%
|
||||
break;
|
||||
case 3:
|
||||
buffCls = ChampionEnemy.Big.class;
|
||||
} else {
|
||||
//10%
|
||||
break;
|
||||
case 4:
|
||||
buffCls = ChampionEnemy.Sider.class;
|
||||
break;
|
||||
case 5:
|
||||
buffCls = ChampionEnemy.LongSider.class;
|
||||
break;
|
||||
}
|
||||
|
||||
if (Dungeon.mobsToStateLing <= 0 && Dungeon.isChallenged(Challenges.SBSG)) {
|
||||
|
@ -158,6 +169,56 @@ public abstract class ChampionEnemy extends Buff {
|
|||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static class Sider extends ChampionEnemy implements Callback {
|
||||
{
|
||||
color = 0xe59d9d;
|
||||
}
|
||||
|
||||
public static class DarkBolt{}
|
||||
|
||||
public void onZapComplete() {
|
||||
next();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void call() {
|
||||
next();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canAttackWithExtraReach(Char enemy) {
|
||||
//attack range of 2
|
||||
/** 实现效果,此外还要关联CharSprite.java和Mob.java以实现远程效果*/
|
||||
|
||||
if(Random.Float()<0.1f) {
|
||||
switch (Random.NormalIntRange(0,5)){
|
||||
//默认为毒雾
|
||||
case 1:default:
|
||||
GameScene.add(Blob.seed(enemy.pos, 45, ToxicGas.class));
|
||||
break;
|
||||
case 2:
|
||||
GameScene.add(Blob.seed(enemy.pos, 45, CorrosiveGas.class));
|
||||
break;
|
||||
case 3:
|
||||
GameScene.add(Blob.seed(enemy.pos, 45, ConfusionGas.class));
|
||||
break;
|
||||
case 4:
|
||||
GameScene.add(Blob.seed(enemy.pos, 45, StormCloud.class));
|
||||
break;
|
||||
}
|
||||
Sample.INSTANCE.play( Assets.Sounds.DEBUFF );
|
||||
}
|
||||
|
||||
target.sprite.zaplink( enemy.pos );
|
||||
int dmg = Random.NormalIntRange( target.damageRoll()/5+3, target.damageRoll()/5+7 );
|
||||
enemy.damage( dmg, new DarkBolt() );
|
||||
return target.fieldOfView[enemy.pos] && Dungeon.level.distance(target.pos, enemy.pos) <= 6;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static class Small extends ChampionEnemy {
|
||||
|
|
|
@ -45,7 +45,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Dread;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Preparation;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Sleep;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SoulMark;
|
||||
|
@ -92,6 +91,10 @@ import java.util.HashSet;
|
|||
|
||||
public abstract class Mob extends Char {
|
||||
|
||||
public void onZapComplete() {
|
||||
next();
|
||||
}
|
||||
|
||||
public float scaleFactor = 1f;
|
||||
{
|
||||
actPriority = MOB_PRIO;
|
||||
|
@ -619,6 +622,10 @@ public abstract class Mob extends Char {
|
|||
delay = 1f;
|
||||
}
|
||||
|
||||
if(buff(ChampionEnemy.Sider.class) != null){
|
||||
delay = 4.0f;
|
||||
}
|
||||
|
||||
|
||||
return super.attackDelay()*(delay);
|
||||
}
|
||||
|
@ -1001,7 +1008,7 @@ public abstract class Mob extends Char {
|
|||
}
|
||||
|
||||
public void notice() {
|
||||
if (Dungeon.hero.buff(LockedFloor.class) != null) {
|
||||
if (Dungeon.level.locked) {
|
||||
BGMPlayer.playBoss();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ public class DCrystal extends Mob {
|
|||
return super.act();
|
||||
}
|
||||
|
||||
private void onZapComplete(){
|
||||
public void onZapComplete(){
|
||||
for (Mob boss : Dungeon.level.mobs.toArray(new Mob[0])) {
|
||||
//如果宝箱王存在,且在五格范围内,给予它血量吧
|
||||
//困难模式治疗范围改为无限
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.levels.ShopBossLevel.CryStalPosition;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.levels.ShopBossLevel.FALSEPosition;
|
||||
|
@ -65,7 +66,6 @@ import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.ui.BossHealthBar;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.noosa.particles.Emitter;
|
||||
import com.watabou.utils.Bundle;
|
||||
|
@ -773,7 +773,7 @@ public class FireMagicDied extends Mob implements Callback {
|
|||
super.notice();
|
||||
BossHealthBar.assignBoss(this);
|
||||
|
||||
Music.INSTANCE.play(Assets.BGM_FRBOSS, true);
|
||||
playBGM(Assets.BGM_FRBOSS, true);
|
||||
yell( Messages.get(this, "notice") );
|
||||
//summon();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
|
@ -23,7 +24,6 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndAutoShop;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndQuest;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
|
||||
|
@ -102,10 +102,10 @@ public class AutoShopReBot extends NPC {
|
|||
GLog.p(Messages.get(this, "greetings", Dungeon.hero.name()));
|
||||
seenBefore = true;
|
||||
} else if (seenBefore && !Dungeon.level.heroFOV[pos] && Dungeon.depth == 0) {
|
||||
Music.INSTANCE.play(Assets.TOWN, true);
|
||||
playBGM(Assets.TOWN, true);
|
||||
seenBefore = false;
|
||||
} else if (seenBefore && !Dungeon.level.heroFOV[pos] && Dungeon.depth == 12) {
|
||||
Music.INSTANCE.play(Assets.BGM_2,true);
|
||||
playBGM(Assets.BGM_2,true);
|
||||
seenBefore = false;
|
||||
}
|
||||
throwItem();
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
|
@ -26,7 +28,6 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndKingShop;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndQuest;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
|
||||
|
@ -70,7 +71,7 @@ public class NullDiedTO extends NTNPC {
|
|||
public void flee() {
|
||||
destroy();
|
||||
Dungeon.level.seal();
|
||||
Music.INSTANCE.play(Assets.BGM_FRBOSS, true);
|
||||
playBGM(Assets.BGM_FRBOSS, true);
|
||||
GameScene.flash(0x8000FFFF);
|
||||
sprite.killAndErase();
|
||||
CellEmitter.get( pos ).burst(SnowParticle.FACTORY, 6 );
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
|
@ -25,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndNyzShop;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndQuest;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Callback;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -53,14 +54,14 @@ public class Nyz extends NTNPC {
|
|||
GLog.p(Messages.get(this, "greetings", Dungeon.hero.name()));
|
||||
//TODO 诡异奈亚子 早上好 中午好 晚上好
|
||||
if(!Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)){
|
||||
Music.INSTANCE.play(Assets.NYZSHOP, true);
|
||||
playBGM(Assets.NYZSHOP, true);
|
||||
}
|
||||
seenBefore = true;
|
||||
} else if (seenBefore && !Dungeon.level.heroFOV[pos] && Dungeon.depth == 0) {
|
||||
Music.INSTANCE.play(Assets.TOWN, true);
|
||||
playBGM(Assets.TOWN, true);
|
||||
seenBefore = false;
|
||||
} else if (seenBefore && !Dungeon.level.heroFOV[pos] && Dungeon.depth == 12) {
|
||||
Music.INSTANCE.play(Assets.BGM_2,true);
|
||||
playBGM(Assets.BGM_2,true);
|
||||
seenBefore = false;
|
||||
}
|
||||
throwItem();
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.BGMPlayer;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
|
@ -18,7 +20,6 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndTradeItem;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Callback;
|
||||
|
||||
public class RenShop extends NPC {
|
||||
|
@ -39,7 +40,7 @@ public class RenShop extends NPC {
|
|||
if (!Dungeon.level.heroFOV[pos]) {
|
||||
BGMPlayer.playBGMWithDepth();
|
||||
} else {
|
||||
Music.INSTANCE.play(Assets.Music.RENSHOP, true);
|
||||
playBGM(Assets.Music.RENSHOP, true);
|
||||
}
|
||||
|
||||
throwItem();
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.scenes;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndFeedback;
|
||||
import com.watabou.input.KeyEvent;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
|
||||
public class FeedBackScene extends PixelScene {
|
||||
|
||||
|
@ -15,7 +16,7 @@ public class FeedBackScene extends PixelScene {
|
|||
@Override
|
||||
public void create() {
|
||||
super.create();
|
||||
Music.INSTANCE.play( Assets.Music.SHOP, true );
|
||||
playBGM( Assets.Music.SHOP, true );
|
||||
wndFeedback = new WndFeedback(false) {
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.scenes;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.SPDSettings;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Image;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.GameMath;
|
||||
|
||||
public class GoScene extends PixelScene {
|
||||
|
@ -26,7 +27,7 @@ public class GoScene extends PixelScene {
|
|||
@Override
|
||||
public void create() {
|
||||
super.create();
|
||||
Music.INSTANCE.play( Assets.Music.GO, true );
|
||||
playBGM( Assets.Music.GO, true );
|
||||
if (SPDSettings.splashScreen() < 1 || done) {
|
||||
ShatteredPixelDungeon.switchForceFade(WelcomeScene.class);
|
||||
return;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.scenes;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.GamesInProgress;
|
||||
|
@ -11,7 +13,6 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextBlock;
|
|||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Image;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
public class JAmuletScene extends PixelScene {
|
||||
|
@ -28,7 +29,7 @@ public class JAmuletScene extends PixelScene {
|
|||
@Override
|
||||
public void create() {
|
||||
super.create();
|
||||
Music.INSTANCE.play( Assets.Music.NBPL, true );
|
||||
playBGM( Assets.Music.NBPL, true );
|
||||
RenderedTextBlock text = null;
|
||||
if (!noText) {
|
||||
text = renderTextBlock( Messages.get(this, "text"), 8 );
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.scenes;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Chrome;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
|
@ -18,7 +20,6 @@ import com.watabou.noosa.Game;
|
|||
import com.watabou.noosa.Image;
|
||||
import com.watabou.noosa.NinePatch;
|
||||
import com.watabou.noosa.PointerArea;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.noosa.ui.Component;
|
||||
|
||||
|
@ -30,7 +31,7 @@ public class SPSLScene extends PixelScene {
|
|||
@Override
|
||||
public void create() {
|
||||
super.create();
|
||||
Music.INSTANCE.play( Assets.Music.SHOP, true );
|
||||
playBGM( Assets.Music.SHOP, true );
|
||||
final float colWidth = Camera.main.width / (landscape() ? 2 : 1);
|
||||
final float colTop = (Camera.main.height / 2) - (landscape() ? 30 : 90);
|
||||
final float colOffset = landscape() ? colWidth : 0;
|
||||
|
|
|
@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.EmoIcon;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.FloatingText;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.IceBlock;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.RoseHalo;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.ShieldHalo;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||
|
@ -94,6 +95,24 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
|
|||
}
|
||||
private int stunStates = 0;
|
||||
|
||||
public void zaplink( int cell ) {
|
||||
|
||||
turnTo( ch.pos , cell );
|
||||
play( attack );
|
||||
|
||||
MagicMissile.boltFromChar( parent,
|
||||
MagicMissile.SHAMAN_BLUE,
|
||||
this,
|
||||
cell,
|
||||
new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
((Mob)ch).onZapComplete();
|
||||
}
|
||||
} );
|
||||
Sample.INSTANCE.play( Assets.Sounds.ZAP );
|
||||
}
|
||||
|
||||
protected Animation idle;
|
||||
protected Animation run;
|
||||
protected Animation attack;
|
||||
|
|
|
@ -104,6 +104,8 @@ public enum Icons {
|
|||
DEPTH_SECRETS,
|
||||
CHAL_COUNT,
|
||||
|
||||
HAPPY_ICON,
|
||||
|
||||
//icons that appear in the about screen, variable spacing
|
||||
LIBGDX,
|
||||
ALEKS,
|
||||
|
@ -334,6 +336,9 @@ public enum Icons {
|
|||
case CHAL_COUNT:
|
||||
icon.frame( icon.texture.uvRectBySize( 48, 72, 7, 7 ) );
|
||||
break;
|
||||
case HAPPY_ICON:
|
||||
icon.frame( icon.texture.uvRectBySize( 56, 72, 7, 5 ) );
|
||||
break;
|
||||
|
||||
case LIBGDX:
|
||||
icon.frame( icon.texture.uvRectBySize( 0, 96, 16, 13 ) );
|
||||
|
|
|
@ -27,6 +27,7 @@ import static com.shatteredpixel.shatteredpixeldungeon.ui.Window.RED_COLOR;
|
|||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.SPDAction;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.SPDSettings;
|
||||
|
@ -57,8 +58,10 @@ public class MenuPane extends Component {
|
|||
private Button depthButton;
|
||||
|
||||
private Image challengeIcon;
|
||||
private Image gameHappyIcon;
|
||||
private BitmapText challengeText;
|
||||
private Button challengeButton;
|
||||
private Button gameHappyIconButton;
|
||||
|
||||
private JournalButton btnJournal;
|
||||
private MenuButton btnMenu;
|
||||
|
@ -165,6 +168,18 @@ public class MenuPane extends Component {
|
|||
add(challengeButton);
|
||||
}
|
||||
|
||||
if (!Dungeon.isDLC(Conducts.Conduct.NULL)){
|
||||
gameHappyIcon = Icons.get(Icons.HAPPY_ICON);
|
||||
add(gameHappyIcon);
|
||||
gameHappyIconButton = new Button(){
|
||||
@Override
|
||||
protected void onClick() {
|
||||
//
|
||||
}
|
||||
};
|
||||
add(gameHappyIconButton);
|
||||
}
|
||||
|
||||
btnJournal = new JournalButton();
|
||||
add( btnJournal );
|
||||
|
||||
|
@ -218,6 +233,15 @@ public class MenuPane extends Component {
|
|||
challengeButton.setRect(challengeIcon.x, challengeIcon.y, challengeIcon.width(), challengeIcon.height() + challengeText.height());
|
||||
}
|
||||
|
||||
if (gameHappyIcon != null){
|
||||
gameHappyIcon.x = btnJournal.left() - 20 + (7 - gameHappyIcon.width())/2f - 0.1f;
|
||||
gameHappyIcon.y = y + 1;
|
||||
if (SPDSettings.interfaceSize() == 0) gameHappyIcon.y++;
|
||||
PixelScene.align(gameHappyIcon);
|
||||
|
||||
gameHappyIconButton.setRect(gameHappyIcon.x, gameHappyIcon.y, gameHappyIcon.width(), gameHappyIcon.height());
|
||||
}
|
||||
|
||||
version.scale.set(PixelScene.align(0.5f));
|
||||
version.measure();
|
||||
version.x = x + WIDTH - version.width();
|
||||
|
|
|
@ -54,6 +54,8 @@ import java.util.ArrayList;
|
|||
public class vM0_6_7_X_Changes {
|
||||
|
||||
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
|
||||
add_v0_6_48_Changes(changeInfos);
|
||||
add_v0_6_47_Changes(changeInfos);
|
||||
add_v0_6_46_Changes(changeInfos);
|
||||
add_v0_6_45_Changes(changeInfos);
|
||||
add_v0_6_44_Changes(changeInfos);
|
||||
|
@ -103,6 +105,55 @@ public class vM0_6_7_X_Changes {
|
|||
add_v0_6_0_Changes(changeInfos);
|
||||
}
|
||||
|
||||
public static void add_v0_6_48_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta3.6", true, "");
|
||||
changes.hardlight(Window.TITLE_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes = new ChangeInfo("调整", false, null);
|
||||
changes.hardlight(Window.GREEN_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_ON), ("基因突变改进"),
|
||||
("现在所有特殊敌人刷新权重一致")));
|
||||
|
||||
changes = new ChangeInfo("改动", false, null);
|
||||
changes.hardlight(Window.CYELLOW);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(new Image("sprites/spinner.png", 144, 0, 16, 16),
|
||||
Messages.get(ChangesScene.class, "bugfixes"), Messages.get(vM0_6_7_X_Changes.class, "bug_06X76")));
|
||||
|
||||
}
|
||||
|
||||
public static void add_v0_6_47_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta3.5", true, "");
|
||||
changes.hardlight(Window.TITLE_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes = new ChangeInfo("新内容", false, null);
|
||||
changes.hardlight(Window.GREEN_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_ON), ("基因突变新种类"),
|
||||
("突变酸液体,敌人获得远程攻击,并且更加危险。")));
|
||||
|
||||
changes = new ChangeInfo("平衡", false, null);
|
||||
changes.hardlight(Window.RED_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(new BruteBotSprite(), ("重甲豺狼"),
|
||||
("削弱重甲豺狼的属性")));
|
||||
|
||||
changes = new ChangeInfo("改动", false, null);
|
||||
changes.hardlight(Window.CYELLOW);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(new Image("sprites/spinner.png", 144, 0, 16, 16),
|
||||
Messages.get(ChangesScene.class, "bugfixes"), Messages.get(vM0_6_7_X_Changes.class, "bug_06X75")));
|
||||
|
||||
}
|
||||
|
||||
public static void add_v0_6_46_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta3.0", true, "");
|
||||
changes.hardlight(Window.TITLE_COLOR);
|
||||
|
@ -112,6 +163,9 @@ public class vM0_6_7_X_Changes {
|
|||
changes.hardlight(Window.GREEN_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.BLACKBOOK), ("人物背景"),
|
||||
("四大角色的人物背景已初步加入,后续会进行文案优化。")));
|
||||
|
||||
changes.addButton(new ChangeButton(Icons.get(Icons.BADGES), ("新徽章:豺狼的复仇"),
|
||||
("别惹它们,我是说真的-----已逝去的冒险者")));
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.items.Generator.randomArtifact;
|
||||
|
||||
|
@ -49,7 +50,6 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextBlock;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.NinePatch;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.noosa.ui.Component;
|
||||
|
||||
|
@ -202,7 +202,7 @@ public class WndRedDragon extends Window {
|
|||
Buff.affect(hero, Bleeding.class).set(8);
|
||||
Buff.prolong(hero, Blindness.class, Degrade.DURATION);
|
||||
Buff.prolong(hero, Cripple.class, Cripple.DURATION);
|
||||
Music.INSTANCE.play(Assets.RUN, true);
|
||||
playBGM(Assets.RUN, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.services.analytics;
|
||||
|
||||
public class Analytics {
|
||||
}
|
Loading…
Reference in New Issue
Block a user