Fixed Bug

This commit is contained in:
LingASDJ 2023-04-17 10:26:19 +08:00
parent 0603b72711
commit f2dc8b910e
9 changed files with 105 additions and 22 deletions

View File

@ -47,11 +47,11 @@ actors.mobs.npcs.autoshoprebot.name=自动食物售货机
actors.buffs.invisibilityring.name=
actors.buffs.invisibilityring.desc=你和周围的地形完全融为一体使你不可能被看到。同时你将每10回合回复1滴血 \n\n当你在虚隐时敌人无法追踪或攻击你。大部分物理攻击和魔法(比如卷轴和法杖)会立即解除虚隐效果。 \n\n剩余的虚隐效果时长%s回合
###LANTERFIRE
actors.mobs.npcs.lanfire.name=篝火
actors.mobs.npcs.lanfire.desc=温暖的篝火可以降低寒冷,给予冒险者光明的希望。
actors.buffs.icesworddown.name=刀锋寒冻
actors.buffs.icesworddown.desc=地牢的寒冷已经开始影响到你的武器,现在你的物理伤害会进行一定程度的下降。寒冷值越高,伤害下降越大。\n\n地牢的寒冷是由深处的暗黑能量驱使的随着不断的深入地牢寒冷会越来越刺入骨髓从而造成更加急剧的威胁。要降低寒冷可以寻找篝火房间这里是能Δ缓慢回复温度的区域Δ。当然在后面的探索中你也会寻找到更多降低寒冷的手段。
actors.buffs.icesworddown.ice=\n\n当前玩家物理伤害为_

View File

@ -145,7 +145,7 @@ items.weapon.melee.endingblade.ac_diedghost=✦死亡宣告✦
items.weapon.melee.endingblade.ac_healreset=_千里追魂_
items.weapon.melee.washcrime.name=涤罪
items.weapon.melee.washcrime.desc=铁链的末端绑了一把巨镰,上面的Γ血迹Γ已然生锈。\n命中有几率释放✦未安息的亡魂✦助战并给敌人施加✦虚弱✦效果,武器伤害随杀敌数增加,但在一定阈值后停止增加。
items.weapon.melee.washcrime.desc=铁链的末端绑了一把巨镰,上面的Γ血迹Γ已然生锈。\n命中有几率释放✦未安息的亡魂✦助战并给敌人施加✦虚弱✦效果,武器伤害随杀敌数增加,但在一定阈值后停止增加。\n\n_这把武器拥有额外的攻击距离但攻速极慢_
items.weapon.melee.washcrime$diedghost.name=未安息的亡魂
items.weapon.melee.washcrime$diedghost.desc=肉身已然逝去,灵魂尚未得到安息,脑海遵照主人的意愿,直到真正的死亡降临。

View File

@ -313,6 +313,8 @@ public class Assets {
public static final String SLIMEPRINCESS = "sprites/boss/SlimePrincess.png";
public static final String ICEALICE = "sprites/boss/IceFireCrstal.png";
public static final String FREA = "sprites/boss/FireCrstal.png";
public static final String ITEMS = "sprites/items/items.png";
public static final String WFS = "sprites/items/wf.png";
public static final String ITEM_ICONS = "sprites/item_icons.png";

View File

@ -23,7 +23,7 @@ public class IceHpBuff extends Buff implements Hero.Doom {
public boolean act() {
//第一阶段 刀锋寒冻(Thanks:二月)
if(hero.icehp>=15){
if(hero.icehp>=15 && Dungeon.depth<10){
Buff.affect(hero, IceSwordDown.class).set( (100), 1 );
} else {
Buff.detach( hero, IceSwordDown.class );
@ -39,7 +39,7 @@ public class IceHpBuff extends Buff implements Hero.Doom {
//燃起来了
}else if(this.target.buff(HalomethaneBurning.class) != null || this.target.buff(Burning.class) != null){
hero.healIcehp(1);
spend(25f);
spend(10f);
return true;
} else {
Hero hero = (Hero) this.target;
@ -47,7 +47,7 @@ public class IceHpBuff extends Buff implements Hero.Doom {
diactivate();
return true;
}
if (hero.icehp < 25) {
if (hero.icehp < 25 && Dungeon.depth<10) {
hero.damageIcehp(1);
spend(17f-(float) Dungeon.depth/5);
} else {

View File

@ -10,7 +10,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.BeamCustom;
import com.shatteredpixel.shatteredpixeldungeon.effects.Effects;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.IceStalSprites;
import com.shatteredpixel.shatteredpixeldungeon.sprites.FireCrystalSprites;
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
import com.watabou.utils.Bundle;
import com.watabou.utils.Random;
@ -18,7 +18,7 @@ import com.watabou.utils.Random;
public class CrystalDiedTower extends Mob {
{
spriteClass = IceStalSprites.class;
spriteClass = FireCrystalSprites.class;
HP = HT = 1;

View File

@ -96,7 +96,6 @@ public class FireMagicDied extends Mob implements Callback {
private int pumpedUp = 0;
private int healInc = 1;
@Override
public int damageRoll() {
@ -110,11 +109,6 @@ public class FireMagicDied extends Mob implements Callback {
}
}
// @Override
// public boolean isInvulnerable(Class effect) {
// return phase == 3 && effect != FireMagicDied.KingDamager.class;
// }
@Override
public int attackSkill( Char target ) {
int attack = 10;
@ -325,12 +319,7 @@ public class FireMagicDied extends Mob implements Callback {
@Override
public boolean act() {
//热修复处理
if (Dungeon.hero.buff(LockedFloor.class) != null){
die(true);
}
int healInc = 1;
if (phase == 1 && HP <= 350) {
//actScanning();
if (Dungeon.level.water[pos] && HP < HT) {

View File

@ -16,6 +16,15 @@ public class LanFire extends NPC {
properties.add(Property.IMMOVABLE);
}
public static boolean seenBefore = false;
@Override
public void damage( int dmg, Object src ) {
}
@Override
public int defenseSkill( Char enemy ) {
return INFINITE_EVASION;
}
@Override
public boolean interact(Char c) {
return false;

View File

@ -399,7 +399,7 @@ public class Generator {
WashCrime.class
};
WEP_T5.probs = new float[]{ 6, 5, 5, 4, 4, 4,2 };
WEP_T5.probs = new float[]{ 6, 5, 5, 4, 4, 4,3 };
WEP_T6.classes = new Class<?>[]{
IceFishSword.class,

View File

@ -0,0 +1,83 @@
package com.shatteredpixel.shatteredpixeldungeon.sprites;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.PylonCS;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.BlastParticle;
import com.watabou.noosa.TextureFilm;
import com.watabou.noosa.audio.Sample;
public class FireCrystalSprites extends MobSprite {
private Animation activeIdle;
public FireCrystalSprites() {
super();
perspectiveRaise = 5/16f; //1 pixel less
renderShadow = false;
texture( Assets.Sprites.FREA );
TextureFilm frames = new TextureFilm( texture, 16, 16 );
idle = new Animation( 1, false );
idle.frames( frames, 0 );
activeIdle = new Animation( 1, false );
activeIdle.frames( frames, 1 );
run = idle.clone();
attack = idle.clone();
die = new Animation( 1, false );
die.frames( frames, 2 );
play( idle );
}
@Override
public void link(Char ch) {
super.link(ch);
if (ch instanceof PylonCS && ch.alignment == Char.Alignment.ENEMY){
activate();
}
renderShadow = false;
}
@Override
public void place(int cell) {
if (parent != null) parent.bringToFront(this);
super.place(cell);
}
public void activate(){
idle = activeIdle.clone();
idle();
}
@Override
public void play(Animation anim) {
if (anim == die){
turnTo(ch.pos, ch.pos+1); //always face right to merge with custom tiles
emitter().burst(BlastParticle.FACTORY, 20);
Sample.INSTANCE.play(Assets.Sounds.BLAST);
}
super.play(anim);
}
@Override
public void onComplete(Animation anim) {
if (anim == attack){
flash();
}
super.onComplete(anim);
}
@Override
public int blood() {
return 0xFFFFFF88;
}
}