update Beta21 p2.7
Fixed Mode
This commit is contained in:
parent
0349f1674e
commit
f9b6c3abc1
Binary file not shown.
Before Width: | Height: | Size: 273 B |
Binary file not shown.
Before Width: | Height: | Size: 509 B After Width: | Height: | Size: 273 B |
|
@ -6,6 +6,9 @@ text.herostat.item_wnd_cursed = 诅咒的
|
||||||
text.herostat.item_basic = 常规:
|
text.herostat.item_basic = 常规:
|
||||||
text.herostat.item_enter = 查看物品生成
|
text.herostat.item_enter = 查看物品生成
|
||||||
|
|
||||||
|
actors.buffs.invisibilityring.name=
|
||||||
|
actors.buffs.invisibilityring.desc=你和周围的地形完全融为一体,使你不可能被看到。同时,你将每10回合回复1滴血 \n\n当你在虚隐时敌人无法追踪或攻击你。大部分物理攻击和魔法(比如卷轴和法杖)会立即解除虚隐效果。 \n\n剩余的虚隐效果时长:%s回合
|
||||||
|
|
||||||
###LANTERFIRE
|
###LANTERFIRE
|
||||||
actors.buffs.nyctophobia.name=光芒前路
|
actors.buffs.nyctophobia.name=光芒前路
|
||||||
actors.buffs.nyctophobia.name2=灯火摇曳
|
actors.buffs.nyctophobia.name2=灯火摇曳
|
||||||
|
|
|
@ -130,7 +130,7 @@ challenges.test = 测试时间-DEBUG
|
||||||
challenges.rlpt = Π支离破碎Π
|
challenges.rlpt = Π支离破碎Π
|
||||||
challenges.rlpt_desc=地牢的魔力正在不断侵蚀这里,现实不过只是一场噩梦。\n\n击败第五层Boss后所有怪物楼层全部随机!!!Boss则固定刷新,并且不会出现冰女那些阴间Boss\n\n特殊说明:没有任务类型NPC!\n\n启用本挑战,你开局可以额外获得1个十字架。
|
challenges.rlpt_desc=地牢的魔力正在不断侵蚀这里,现实不过只是一场噩梦。\n\n击败第五层Boss后所有怪物楼层全部随机!!!Boss则固定刷新,并且不会出现冰女那些阴间Boss\n\n特殊说明:没有任务类型NPC!\n\n启用本挑战,你开局可以额外获得1个十字架。
|
||||||
challenges.sbsg = Π突变巨兽Π
|
challenges.sbsg = Π突变巨兽Π
|
||||||
challenges.sbsg_desc=人类回想起了,被怪物支配的恐惧\n-所有生物都会突变激素变得更大,但一些因为一些其他不良反应原因会变得更小。\n-生物的大小决定了他们的移动速度、防御、闪避和近战伤害。\n-你的极度饥饿也会变得更加致命。\n-同时,如果怪物失去了你的视野,他将变回去,属性也会和无挑一样。
|
challenges.sbsg_desc=人类回想起了,被怪物支配的恐惧\n-所有生物都会突变激素变得更大,但一些因为一些其他不良反应原因会变得更小。\n-生物的大小决定了他们的移动速度、防御、闪避和近战伤害。\n-同时,如果怪物失去了你的视野,他将变回去,属性也会和无挑一样。
|
||||||
challenges.exsg = Π药水癔症Π
|
challenges.exsg = Π药水癔症Π
|
||||||
challenges.exsg_desc=药水癔症详细规则:\n力量药水 力量-1\n灵视药剂 喝后失明5回合\n隐形药剂 喝后立刻怒吼\n经验药剂 喝后立刻流血6回合\n极速药剂 喝后立刻残废8回合\n==========================\n小型口粮 吃后立刻获得极速8回合\n炖肉 吃后立刻升级\n冷冻生肉片 吃后获得奥术护盾\n全肉大饼 吃后立刻获得8回合极速 且+1力量\n不知道何种原因,大部分正面药水你都感觉有毒!\n部分药水完全处于DeBuff,但食物却会很有用!\n恐药异症的效果同样存在
|
challenges.exsg_desc=药水癔症详细规则:\n力量药水 力量-1\n灵视药剂 喝后失明5回合\n隐形药剂 喝后立刻怒吼\n经验药剂 喝后立刻流血6回合\n极速药剂 喝后立刻残废8回合\n==========================\n小型口粮 吃后立刻获得极速8回合\n炖肉 吃后立刻升级\n冷冻生肉片 吃后获得奥术护盾\n全肉大饼 吃后立刻获得8回合极速 且+1力量\n不知道何种原因,大部分正面药水你都感觉有毒!\n部分药水完全处于DeBuff,但食物却会很有用!\n恐药异症的效果同样存在
|
||||||
challenges.light&black = Π空洞旅程Π
|
challenges.light&black = Π空洞旅程Π
|
||||||
|
|
|
@ -474,4 +474,6 @@ ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x32=-P2.0\n1.修复了种子在部分
|
||||||
|
|
||||||
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x33=-P2.6\n1.修复了感知符石鉴定秘药可能崩溃的问题\n2.修复了回溯之书的错误问题
|
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x33=-P2.6\n1.修复了感知符石鉴定秘药可能崩溃的问题\n2.修复了回溯之书的错误问题
|
||||||
|
|
||||||
|
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x34=-P2.7\n1.修复了火焰特效遗留问题\n2.修复了炖肉不回复饱食度的问题\n3.修复部分逻辑错误
|
||||||
|
|
||||||
//ui.changelist.mlpd.vm0_5_x_changes.xxx//
|
//ui.changelist.mlpd.vm0_5_x_changes.xxx//
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||||
|
|
||||||
|
public class InvisibilityRing extends Invisibility{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int icon() {
|
||||||
|
return BuffIndicator.NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -74,6 +74,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hex;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.HoldFast;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.HoldFast;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.InvisibilityRing;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LostInventory;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LostInventory;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayCursed;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayCursed;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayKill;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayKill;
|
||||||
|
@ -86,7 +87,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Momentum;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Nyctophobia;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Nyctophobia;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Regeneration;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Regeneration;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Shadows;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SnipersMark;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SnipersMark;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.WaterSoulX;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.WaterSoulX;
|
||||||
|
@ -2028,10 +2028,10 @@ public class Hero extends Char {
|
||||||
Buff.affect(hero, Barkskin.class).set( 2 + hero.lvl/4, 10 );
|
Buff.affect(hero, Barkskin.class).set( 2 + hero.lvl/4, 10 );
|
||||||
Buff.prolong(this, Bless.class,Bless.GODSPOERF);
|
Buff.prolong(this, Bless.class,Bless.GODSPOERF);
|
||||||
Buff.affect(this, HasteLing.class, Haste.DURATION/20);
|
Buff.affect(this, HasteLing.class, Haste.DURATION/20);
|
||||||
Buff.affect(this, Shadows.class, Shadows.DURATION/10f);
|
Buff.affect(this, InvisibilityRing.class, InvisibilityRing.DURATION/10f);
|
||||||
} else if(Dungeon.PrisonWaterLevel()&& !Dungeon.level.water[pos])
|
} else if(Dungeon.PrisonWaterLevel()&& !Dungeon.level.water[pos])
|
||||||
for (Buff buff : hero.buffs()) {
|
for (Buff buff : hero.buffs()) {
|
||||||
if (buff instanceof Shadows||buff instanceof HasteLing) {
|
if (buff instanceof InvisibilityRing||buff instanceof HasteLing) {
|
||||||
buff.detach();
|
buff.detach();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,8 +211,7 @@ public class Bestiary {
|
||||||
Brute.class, Brute.class,
|
Brute.class, Brute.class,
|
||||||
Necromancer.class,Necromancer.class));
|
Necromancer.class,Necromancer.class));
|
||||||
case 11:
|
case 11:
|
||||||
return new ArrayList<>(Arrays.asList(Bat.class,
|
return new ArrayList<>(Arrays.asList(Bat.class, DM100.class,DM100.class,ColdMagicRat.class,ColdMagicRat.class));
|
||||||
Spinner.class, Spinner.class,ColdMagicRat.class,ColdMagicRat.class));
|
|
||||||
case 12:
|
case 12:
|
||||||
//1x bat, 1x brute, 2x shaman, 2x spinner, 2x DM-300
|
//1x bat, 1x brute, 2x shaman, 2x spinner, 2x DM-300
|
||||||
return new ArrayList<>(Arrays.asList(
|
return new ArrayList<>(Arrays.asList(
|
||||||
|
|
|
@ -48,7 +48,7 @@ public class IceGolem extends Mob implements Callback {
|
||||||
{
|
{
|
||||||
spriteClass = IceGolemSprite.class;
|
spriteClass = IceGolemSprite.class;
|
||||||
|
|
||||||
HP = HT = Random.Int(70,140);
|
HP = HT = Random.Int(70,90);
|
||||||
defenseSkill = 15;
|
defenseSkill = 15;
|
||||||
|
|
||||||
EXP = 3;
|
EXP = 3;
|
||||||
|
|
|
@ -181,13 +181,14 @@ public abstract class Mob extends Char {
|
||||||
boolean justAlerted = alerted;
|
boolean justAlerted = alerted;
|
||||||
alerted = false;
|
alerted = false;
|
||||||
|
|
||||||
if (Dungeon.isChallenged(Challenges.SBSG) && scaleFactor == 1f && !properties().contains(Property.NOBIG)&&!properties().contains(Property.BOSS)){
|
//TODO 突变巨兽NEW
|
||||||
scaleFactor = Random.Float(1f, 1.5f);
|
if (Dungeon.isChallenged(Challenges.SBSG) && scaleFactor == 1f && !properties().contains(Property.NOBIG) && !properties().contains(Property.BOSS)&& !properties().contains(Property.MINIBOSS) ){
|
||||||
HP = HT = (int) (HT * scaleFactor);
|
scaleFactor = Random.Float(1f, 1.8f);
|
||||||
if (scaleFactor >= 1.45f){
|
HT = (int) (HT * scaleFactor);
|
||||||
HP = HT = (int) (HT * 1.15f);
|
if (scaleFactor >= 1.4f){
|
||||||
}else if (scaleFactor >= 1.35f) {
|
HP = HT = (int) (HT * 1.45f);
|
||||||
HP = HT = (int) (HT * 1.4f);
|
} else {
|
||||||
|
HP = HT = (int) (HT / 1.45f);
|
||||||
}
|
}
|
||||||
sprite.linkVisuals(this);
|
sprite.linkVisuals(this);
|
||||||
sprite.link(this);
|
sprite.link(this);
|
||||||
|
@ -559,13 +560,13 @@ public abstract class Mob extends Char {
|
||||||
public float attackDelay() {
|
public float attackDelay() {
|
||||||
float delay = 1f;
|
float delay = 1f;
|
||||||
if ( buff(Adrenaline.class) != null) delay /= 1.5f;
|
if ( buff(Adrenaline.class) != null) delay /= 1.5f;
|
||||||
return super.attackDelay()*(Dungeon.isChallenged(Challenges.SBSG) ? (0.8f * scaleFactor) : delay);
|
return super.attackDelay()*(Dungeon.isChallenged(Challenges.SBSG) ? (0.5f * scaleFactor) : delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int attackProc(Char enemy, int damage) {
|
public int attackProc(Char enemy, int damage) {
|
||||||
return super.attackProc(enemy,
|
return super.attackProc(enemy,
|
||||||
(int) (damage*(Dungeon.isChallenged(Challenges.SBSG) ? (1.4f * scaleFactor) : 1)));
|
(int) (damage*(Dungeon.isChallenged(Challenges.SBSG) ? (0.6f * scaleFactor) : 1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean doAttack( Char enemy ) {
|
protected boolean doAttack( Char enemy ) {
|
||||||
|
@ -593,7 +594,7 @@ public abstract class Mob extends Char {
|
||||||
if ( !surprisedBy(enemy)
|
if ( !surprisedBy(enemy)
|
||||||
&& paralysed == 0
|
&& paralysed == 0
|
||||||
&& !(alignment == Alignment.ALLY && enemy == hero)) {
|
&& !(alignment == Alignment.ALLY && enemy == hero)) {
|
||||||
return (int) (this.defenseSkill/(Dungeon.isChallenged(Challenges.SBSG) ? (0.8f * scaleFactor) : 1));
|
return (int) (this.defenseSkill/(Dungeon.isChallenged(Challenges.SBSG) ? (0.4f * scaleFactor) : 1));
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -601,7 +602,7 @@ public abstract class Mob extends Char {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float speed() {
|
public float speed() {
|
||||||
return super.speed()/(Dungeon.isChallenged(Challenges.SBSG) ? (0.8f * scaleFactor) : 1);
|
return super.speed() * (Dungeon.isChallenged(Challenges.SBSG) ? (0.6f * scaleFactor) : 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean hitWithRanged = false;
|
protected boolean hitWithRanged = false;
|
||||||
|
|
|
@ -61,15 +61,15 @@ public class ShieldHuntsman extends Mob {
|
||||||
Dungeon.quickslot.convertToPlaceholder(weapon);
|
Dungeon.quickslot.convertToPlaceholder(weapon);
|
||||||
KindOfWeapon.updateQuickslot();
|
KindOfWeapon.updateQuickslot();
|
||||||
Dungeon.level.drop(weapon, hero.pos).sprite.drop();
|
Dungeon.level.drop(weapon, hero.pos).sprite.drop();
|
||||||
GLog.w("你的武器被猎人击飞了!", new Object[0]);
|
GLog.w("你的武器被猎人击飞了!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Random.Int(0, 10) > 7) {
|
if (Random.Int(0, 10) > 7) {
|
||||||
//如果结果大于7 那么触发下面的行动
|
//如果结果大于7 那么触发下面的行动
|
||||||
Buff.prolong(enemy, Paralysis.class, Random.Float(1.0f, 2.0f));
|
Buff.prolong(enemy, Paralysis.class, Random.Float(1.0f, 2.0f));
|
||||||
enemy.sprite.emitter().burst(Speck.factory(2), 12);
|
enemy.sprite.emitter().burst(Speck.factory(2), 12);
|
||||||
Buff.affect(hero, Burning.class ).reignite( hero, 15f );
|
Buff.affect(enemy, Burning.class ).reignite( enemy, 15f );
|
||||||
GLog.n("你被猎人的盾牌重重地撞了一下,你全身僵直难以呼吸,同时感觉到一团烈焰正在从你身体内熊熊燃烧!", new Object[0]);
|
// GLog.n("你被猎人的盾牌重重地撞了一下,你全身僵直难以呼吸,同时感觉到一团烈焰正在从你身体内熊熊燃烧!");
|
||||||
}
|
}
|
||||||
if (this.combo > 5) {
|
if (this.combo > 5) {
|
||||||
this.combo = 1;
|
this.combo = 1;
|
||||||
|
|
|
@ -26,7 +26,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ChampionEnemy;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ChampionEnemy;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Pushing;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Pushing;
|
||||||
|
@ -122,9 +121,10 @@ public class Swarm extends Mob {
|
||||||
Swarm clone = new Swarm();
|
Swarm clone = new Swarm();
|
||||||
clone.generation = generation + 1;
|
clone.generation = generation + 1;
|
||||||
clone.EXP = 0;
|
clone.EXP = 0;
|
||||||
if (buff( Burning.class ) != null) {
|
//TODO 修复火焰遗留问题
|
||||||
Buff.affect( clone, Burning.class ).reignite( clone );
|
// if (buff( Burning.class ) != null) {
|
||||||
}
|
// Buff.affect( clone, Burning.class ).reignite( clone );
|
||||||
|
// }
|
||||||
if (buff( Poison.class ) != null) {
|
if (buff( Poison.class ) != null) {
|
||||||
Buff.affect( clone, Poison.class ).set(2);
|
Buff.affect( clone, Poison.class ).set(2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,6 @@ import static com.shatteredpixel.shatteredpixeldungeon.Challenges.EXSG;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Recipe;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Recipe;
|
||||||
|
@ -40,8 +39,13 @@ public class StewedMeat extends Food {
|
||||||
protected void satisfy( Hero hero ) {
|
protected void satisfy( Hero hero ) {
|
||||||
if (Dungeon.isChallenged(Challenges.EXSG)) {
|
if (Dungeon.isChallenged(Challenges.EXSG)) {
|
||||||
hero.earnExp( hero.maxExp(), getClass() );
|
hero.earnExp( hero.maxExp(), getClass() );
|
||||||
|
Buff.affect(hero, Hunger.class).satisfy(energy/3f);
|
||||||
|
} else {
|
||||||
|
Buff.affect(hero, Hunger.class).satisfy(energy/2f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
image = ItemSpriteSheet.STEWED;
|
image = ItemSpriteSheet.STEWED;
|
||||||
energy = Hunger.HUNGRY/2f;
|
energy = Hunger.HUNGRY/2f;
|
||||||
|
|
|
@ -56,8 +56,8 @@ public class WarHammer extends MeleeWeapon {
|
||||||
default:
|
default:
|
||||||
return max(buffedLvl());
|
return max(buffedLvl());
|
||||||
case 1:
|
case 1:
|
||||||
Buff.prolong(defender, Vertigo.class, 6f);
|
Buff.prolong(attacker, Vertigo.class, 6f);
|
||||||
Buff.prolong(defender, Terror.class, 18f);
|
Buff.prolong(attacker, Terror.class, 18f);
|
||||||
Buff.affect(attacker, Vulnerable.class, Degrade.ADURATION);
|
Buff.affect(attacker, Vulnerable.class, Degrade.ADURATION);
|
||||||
return super.proc(attacker, defender, damage);
|
return super.proc(attacker, defender, damage);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Ghost;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Ghost;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Ripple;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Ripple;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.SewerPainter;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.SewerPainter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.AlarmTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.AlarmTrap;
|
||||||
|
@ -112,6 +113,10 @@ public class SewerLevel extends RegularLevel {
|
||||||
protected void createItems() {
|
protected void createItems() {
|
||||||
Ghost.Quest.spawn( this );
|
Ghost.Quest.spawn( this );
|
||||||
|
|
||||||
|
if(Dungeon.depth == 1){
|
||||||
|
drop(new ScrollOfUpgrade(), exit-1 );
|
||||||
|
}
|
||||||
|
|
||||||
super.createItems();
|
super.createItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ public class ZeroLevel extends Level {
|
||||||
drop( new Stylus(), this.width * 19 + 20 );
|
drop( new Stylus(), this.width * 19 + 20 );
|
||||||
|
|
||||||
drop( ( Generator.randomUsingDefaults( Generator.Category.STONE ) ), this.width * 16 + 19 );
|
drop( ( Generator.randomUsingDefaults( Generator.Category.STONE ) ), this.width * 16 + 19 );
|
||||||
//drop( ( Generator.randomUsingDefaults( Generator.Category.FOOD ) ), this.width * 20 + 19 );
|
drop( ( Generator.randomUsingDefaults( Generator.Category.FOOD ) ), this.width * 20 + 19 );
|
||||||
drop( new Pasty(), this.width * 20 + 19 );
|
drop( new Pasty(), this.width * 20 + 19 );
|
||||||
if ( Badges.isUnlocked(Badges.Badge.GODD_MAKE)){
|
if ( Badges.isUnlocked(Badges.Badge.GODD_MAKE)){
|
||||||
drop( ( Generator.randomUsingDefaults( Generator.Category.RING ) ), this.width * 17 + 18 );
|
drop( ( Generator.randomUsingDefaults( Generator.Category.RING ) ), this.width * 17 + 18 );
|
||||||
|
@ -136,7 +136,6 @@ public class ZeroLevel extends Level {
|
||||||
drop( ( Generator.randomUsingDefaults( Generator.Category.ARTIFACT ) ), this.width * 18 + 19 );
|
drop( ( Generator.randomUsingDefaults( Generator.Category.ARTIFACT ) ), this.width * 18 + 19 );
|
||||||
}
|
}
|
||||||
|
|
||||||
//旧版支离破碎的神器获取方案已经不再使用
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Mob createMob() {
|
public Mob createMob() {
|
||||||
|
|
|
@ -6,39 +6,42 @@
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.sprites;
|
package com.shatteredpixel.shatteredpixeldungeon.sprites;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite.State;
|
|
||||||
import com.watabou.noosa.TextureFilm;
|
import com.watabou.noosa.TextureFilm;
|
||||||
import com.watabou.noosa.MovieClip.Animation;
|
|
||||||
|
|
||||||
public class FireGhostSprite extends MobSprite {
|
public class FireGhostSprite extends MobSprite {
|
||||||
public FireGhostSprite() {
|
public FireGhostSprite() {
|
||||||
|
super();
|
||||||
|
|
||||||
this.texture("sprites/wengi.png");
|
this.texture("sprites/wengi.png");
|
||||||
TextureFilm var1 = new TextureFilm(this.texture, 14, 15);
|
|
||||||
Integer var2 = 1;
|
TextureFilm frames = new TextureFilm( texture, 14, 15 );
|
||||||
|
|
||||||
this.idle = new Animation(5, true);
|
this.idle = new Animation(5, true);
|
||||||
Animation var3 = this.idle;
|
Animation var3 = this.idle;
|
||||||
Integer var4 = 0;
|
var3.frames(frames, 0, 1);
|
||||||
var3.frames(var1, new Object[]{var4, var2});
|
|
||||||
this.run = new Animation(10, true);
|
this.run = new Animation(10, true);
|
||||||
this.run.frames(var1, new Object[]{var4, var2});
|
this.run.frames(frames, 0, 1);
|
||||||
this.attack = new Animation(10, false);
|
this.attack = new Animation(10, false);
|
||||||
this.attack.frames(var1, new Object[]{var4, 2, 3});
|
this.attack.frames(frames, 0, 2, 3);
|
||||||
this.die = new Animation(8, false);
|
this.die = new Animation(8, false);
|
||||||
this.die.frames(var1, new Object[]{var4, 4, 5, 6, 7});
|
this.die.frames(frames, 0, 4, 5, 6, 7);
|
||||||
this.play(this.idle);
|
this.play(this.idle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int blood() {
|
public int blood() {
|
||||||
return -33517;
|
return 0xFFFF7D13;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void link( Char ch ) {
|
||||||
|
super.link( ch );
|
||||||
|
add( CharSprite.State.BURNING );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void die() {
|
public void die() {
|
||||||
super.die();
|
super.die();
|
||||||
this.remove(State.BURNING);
|
remove( CharSprite.State.BURNING );
|
||||||
}
|
|
||||||
|
|
||||||
public void link(Char var1) {
|
|
||||||
super.link(var1);
|
|
||||||
this.add(State.BURNING);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,4 +52,16 @@ public class SwarmSprite extends MobSprite {
|
||||||
public int blood() {
|
public int blood() {
|
||||||
return 0xFF8BA077;
|
return 0xFF8BA077;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Override
|
||||||
|
// public void link( Char ch ) {
|
||||||
|
// super.link( ch );
|
||||||
|
// add( CharSprite.State.BURNING );
|
||||||
|
// }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void die() {
|
||||||
|
super.die();
|
||||||
|
remove( CharSprite.State.BURNING );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@ import java.util.ArrayList;
|
||||||
public class vM0_6_7_X_Changes {
|
public class vM0_6_7_X_Changes {
|
||||||
|
|
||||||
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
|
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
|
||||||
|
add_v0_6_14_Changes(changeInfos);
|
||||||
add_v0_6_13_Changes(changeInfos);
|
add_v0_6_13_Changes(changeInfos);
|
||||||
add_v0_6_12_Changes(changeInfos);
|
add_v0_6_12_Changes(changeInfos);
|
||||||
add_v0_6_11_Changes(changeInfos);
|
add_v0_6_11_Changes(changeInfos);
|
||||||
|
@ -49,6 +50,34 @@ public class vM0_6_7_X_Changes {
|
||||||
add_v0_6_0_Changes(changeInfos);
|
add_v0_6_0_Changes(changeInfos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void add_v0_6_14_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||||
|
ChangeInfo changes = new ChangeInfo("v0.6.0.0-Beta21-p2.7", 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(new ItemSprite(ItemSpriteSheet.SCROLL_SOWILO), ("升级卷轴"),
|
||||||
|
("升级卷轴现在在第一层的出口区域追加了一个,不受挑战影响" )));
|
||||||
|
|
||||||
|
|
||||||
|
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_06X34")));
|
||||||
|
|
||||||
|
changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_ON), ("突变巨兽调整"),
|
||||||
|
("突变巨兽进行了一定的调整,详细查看挑战详情")));
|
||||||
|
|
||||||
|
changes.addButton(new ChangeButton(Icons.get(Icons.INFO), ("监狱优化"),
|
||||||
|
("监狱的水进行了优化,现在不会瞎眼了。")));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public static void add_v0_6_13_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
public static void add_v0_6_13_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||||
ChangeInfo changes = new ChangeInfo("v0.6.0.0-Beta21-p2.6", true, "");
|
ChangeInfo changes = new ChangeInfo("v0.6.0.0-Beta21-p2.6", true, "");
|
||||||
changes.hardlight(Window.TITLE_COLOR);
|
changes.hardlight(Window.TITLE_COLOR);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user