update beta21-p2.8
|
@ -34,7 +34,6 @@ 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.google.firebase.crashlytics.FirebaseCrashlytics;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.SPDSettings;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.services.news.News;
|
||||
|
@ -89,11 +88,11 @@ public class AndroidGame extends AndroidApplication {
|
|||
//UCEHandler.Builder builder = new UCEHandler.Builder(this);
|
||||
//builder.build();
|
||||
|
||||
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
|
||||
|
||||
FirebaseCrashlytics.getInstance().setUserId(SPDSettings.customSeed());
|
||||
|
||||
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
|
||||
// mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
|
||||
//
|
||||
// FirebaseCrashlytics.getInstance().setUserId(SPDSettings.customSeed());
|
||||
//
|
||||
// FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
|
||||
|
||||
} else {
|
||||
instance = this;
|
||||
|
|
|
@ -17,7 +17,7 @@ allprojects {
|
|||
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
|
||||
|
||||
appVersionCode =700720
|
||||
appVersionName = '0.6.0.0-Beta21-p1.3'
|
||||
appVersionName = '0.6.0.0-Beta21-p2.8'
|
||||
|
||||
appJavaCompatibility = JavaVersion.VERSION_1_8
|
||||
|
||||
|
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.9 KiB |
|
@ -1853,8 +1853,8 @@ items.weapon.melee.roundshield.stats_desc=这件武器能格挡0~%d点伤害。
|
|||
items.weapon.melee.roundshield.desc=这个大盾可以有效格挡攻击,在危机时刻也可以作为不错的武器使用。
|
||||
|
||||
items.weapon.melee.sai.name=吸血鬼刀
|
||||
items.weapon.melee.sai.stats_desc=这是一套非常快的武器,且能在攻击过程中得到一定的治疗值。不幸的是,这个武器的精准十分的差。
|
||||
items.weapon.melee.sai.desc=泛红的身躯表示着他并不是平凡之辈能使用的武器,在快速斩击方面十分出色,在精准方面略微逊色。
|
||||
items.weapon.melee.sai.stats_desc=这是一套非常快的武器,且能在攻击过程中得到一定的治疗值,甚至能超过英雄本身的血量。不幸的是,这个武器的精准十分的差。
|
||||
items.weapon.melee.sai.desc=泛红的剑身表示着它并不是普通人能使用的武器,这件武器在快速斩击方面十分出色,在精准方面略微逊色。
|
||||
|
||||
items.weapon.melee.scimitar.name=弯刀
|
||||
items.weapon.melee.scimitar.stats_desc=这是一把比较快的武器。
|
||||
|
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 941 B After Width: | Height: | Size: 2.5 KiB |
|
@ -120,6 +120,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.IceFishSword;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.LockSword;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RedBloodMoon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sai;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.SkyShield;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WarHammer;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WornShortsword;
|
||||
|
@ -182,6 +183,7 @@ public enum HeroClass {
|
|||
// Buff.affect(hero, ChampionHero.Giant.class, ChampionHero.DURATION);
|
||||
// Buff.affect(hero, ChampionHero.Growing.class, ChampionHero.DURATION);
|
||||
new Gauntlet().quantity(1).identify().collect();
|
||||
new Sai().quantity(1).identify().collect();
|
||||
new GoldIron().quantity(1).identify().collect();
|
||||
new ScrollOfIdentify().quantity(45).identify().collect();
|
||||
new ScrollOfTransmutation().quantity(45).identify().collect();
|
||||
|
|
|
@ -123,12 +123,12 @@ public class ScrollOfFlameCursed extends Scroll {
|
|||
|
||||
@Override
|
||||
public boolean isIdentified() {
|
||||
return isKnown();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int value() {
|
||||
return isKnown() ? 40 * quantity : super.value();
|
||||
}
|
||||
// @Override
|
||||
// public int value() {
|
||||
// return isKnown() ? 40 * quantity : super.value();
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ public class Gauntlet extends MeleeWeapon {
|
|||
switch (Random.Int(2)) {
|
||||
case 0:
|
||||
default:
|
||||
return max(buffedLvl());
|
||||
return super.proc(attacker, defender, damage);
|
||||
case 1:
|
||||
Buff.affect(defender, Burning.class).reignite(defender);
|
||||
Buff.affect(attacker, Cripple.class, Degrade.ADURATION);
|
||||
|
|
|
@ -57,14 +57,15 @@ public class Sai extends MeleeWeapon {
|
|||
switch (Random.Int(7)) {
|
||||
case 0:case 1:case 2:case 3:case 4:
|
||||
default:
|
||||
return Random.NormalIntRange( 5, 12 );
|
||||
return super.proc(attacker, defender, damage);
|
||||
case 5:case 6:case 7:
|
||||
//角色最大血量*0.01+武器等级*0.5+0.8
|
||||
//角色最大血量*0.1+武器等级*0.5+1.5
|
||||
//50x0.1+7x0.5+1=10+3.5+1=15
|
||||
if(hero.HP >= hero.HT){
|
||||
GLog.p("血量已满!无法回血");
|
||||
} else {
|
||||
R = (int) (hero.HT * 0.01 + (buffedLvl() * 0.5) + 0.8);
|
||||
hero.HP += (int) hero.HT * 0.01 + (buffedLvl()) + 0.8;
|
||||
R = (int) (hero.HT * 0.1 + (buffedLvl() * 0.5) + 1.5);
|
||||
hero.HP += hero.HT * 0.1 + (buffedLvl()) + 1.5;
|
||||
hero.sprite.showStatus(CharSprite.POSITIVE, ("+" + R + "HP"));
|
||||
GLog.p("迅猛一击,回血成功!");
|
||||
}
|
||||
|
@ -76,7 +77,7 @@ public class Sai extends MeleeWeapon {
|
|||
@Override
|
||||
public int max(int lvl) {
|
||||
return Math.round(2.5f*(tier+1)) + //10 base, down from 20
|
||||
lvl*Math.round(0.5f*(tier+1)); //+2 per level, down from +4
|
||||
lvl*Math.round(1.5f*(tier+1)); //+2 per level, down from +4
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -277,11 +277,11 @@ public class ShopBossLevel extends Level {
|
|||
}
|
||||
|
||||
public String tilesTex() {
|
||||
return Assets.Environment.TILES_COLD;
|
||||
return Assets.Environment.TILES_DIED;
|
||||
}
|
||||
|
||||
public String waterTex() {
|
||||
return Assets.Environment.WATER_COLD;
|
||||
return Assets.Environment.WATER_CAVES;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -170,7 +170,7 @@ public class InterlevelScene extends PixelScene {
|
|||
break;
|
||||
}
|
||||
if (loadingDepth == 1) loadingAsset = Assets.Interfaces.LOADING_COLD;
|
||||
else if (loadingDepth <= 5) loadingAsset = Assets.Interfaces.LOADING_COLD;
|
||||
else if (loadingDepth <= 5) loadingAsset = Assets.Interfaces.LOADING_SEWERS;
|
||||
else if (loadingDepth <= 10) loadingAsset = Assets.Interfaces.LOADING_PRISON;
|
||||
else if (loadingDepth <= 15) loadingAsset = Assets.Interfaces.LOADING_COLD;
|
||||
else if (loadingDepth <= 20) loadingAsset = Assets.Interfaces.LOADING_CITY;
|
||||
|
|
|
@ -69,10 +69,6 @@ public class QuickSlotButton extends Button {
|
|||
reset();
|
||||
}
|
||||
|
||||
public void slotMargins( int left, int top, int right, int bottom){
|
||||
slot.setMargins(left, top, right, bottom);
|
||||
}
|
||||
|
||||
public static void reset() {
|
||||
instance = new QuickSlotButton[Constants.MAX_QUICKSLOTS];
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ import java.util.ArrayList;
|
|||
public class vM0_6_7_X_Changes {
|
||||
|
||||
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
|
||||
add_v0_6_15_Changes(changeInfos);
|
||||
add_v0_6_14_Changes(changeInfos);
|
||||
add_v0_6_13_Changes(changeInfos);
|
||||
add_v0_6_12_Changes(changeInfos);
|
||||
|
@ -50,6 +51,30 @@ public class vM0_6_7_X_Changes {
|
|||
add_v0_6_0_Changes(changeInfos);
|
||||
}
|
||||
|
||||
public static void add_v0_6_15_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||
ChangeInfo changes = new ChangeInfo("v0.6.0.0-Beta21-p2.8", 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.DG24), ("极度秘卷"),
|
||||
("修复了未被鉴定的问题" )));
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.SAI), ("吸血鬼刀"),
|
||||
("调整了吸血鬼刀的成长数值" )));
|
||||
|
||||
changes = new ChangeInfo("改动", false, null);
|
||||
changes.hardlight(Window.CYELLOW);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(Icons.get(Icons.INFO), ("杂项改动"),
|
||||
("1.部分素材和UI进行了调整优化……\n2.删除了用户ID系统")));
|
||||
|
||||
}
|
||||
|
||||
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);
|
||||
|
|
|
@ -61,7 +61,7 @@ public class WndInfoMob extends WndTitledMessage {
|
|||
add( name );
|
||||
|
||||
info =
|
||||
PixelScene.renderTextBlock( Messages.get( WndInfoMob.class,"dsinfo" )+mob.defenseSkill+"|"+Messages.get( WndInfoMob.class,"maxinfo" )+mob.maxLvl+"|"+Messages.get( WndInfoMob.class,"getexp" )+mob.damageRoll(), 5 );
|
||||
PixelScene.renderTextBlock( Messages.get( WndInfoMob.class,"dsinfo" )+mob.defenseSkill+"|"+Messages.get( WndInfoMob.class,"maxinfo" )+mob.maxLvl+"|"+Messages.get( WndInfoMob.class,"getexp" )+mob.damageRoll(), 5 );
|
||||
info.hardlight( 0xffff00);
|
||||
add( info );
|
||||
|
||||
|
|
|
@ -687,7 +687,7 @@ public class WndSettings extends WndTabbed {
|
|||
ColorBlock sep1;
|
||||
CheckBox LockFing;
|
||||
|
||||
RedButton ResetButton;
|
||||
// RedButton ResetButton;
|
||||
|
||||
@Override
|
||||
protected void createChildren() {
|
||||
|
@ -708,15 +708,15 @@ public class WndSettings extends WndTabbed {
|
|||
LockFing.checked(SPDSettings.HelpSettings());
|
||||
add(LockFing);
|
||||
|
||||
ResetButton = new RedButton(Messages.get(this, "reset")) {
|
||||
@Override
|
||||
protected void onClick() {
|
||||
WndStartGame.showKeyInput();
|
||||
}
|
||||
};
|
||||
if(isAndroid()) {
|
||||
add(ResetButton);
|
||||
}
|
||||
// ResetButton = new RedButton(Messages.get(this, "reset")) {
|
||||
// @Override
|
||||
// protected void onClick() {
|
||||
// WndStartGame.showKeyInput();
|
||||
// }
|
||||
// };
|
||||
// if(isAndroid()) {
|
||||
// add(ResetButton);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
|
@ -733,10 +733,10 @@ public class WndSettings extends WndTabbed {
|
|||
|
||||
if (width > 200){
|
||||
LockFing.setRect(0, bottom, width, SLIDER_HEIGHT);
|
||||
ResetButton.setRect(0, LockFing.bottom() + GAP, width, SLIDER_HEIGHT);
|
||||
|
||||
} else {
|
||||
LockFing.setRect(0, bottom + GAP, width, SLIDER_HEIGHT);
|
||||
ResetButton.setRect(0, LockFing.bottom() + GAP, width, SLIDER_HEIGHT);
|
||||
|
||||
}
|
||||
|
||||
height = LockFing.bottom();
|
||||
|
|
|
@ -21,10 +21,7 @@
|
|||
|
||||
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.SPDSettings.KEY_CUSTOM_LING;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.SPDSettings.KEY_CUSTOM_SEED;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.ui.Icons.RENAME_OFF;
|
||||
import static com.watabou.utils.DeviceCompat.isAndroid;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||
|
@ -274,9 +271,10 @@ public class WndStartGame extends Window {
|
|||
InterlevelScene.mode = InterlevelScene.Mode.DESCEND;
|
||||
|
||||
//匹配两个值以及为安卓才显示
|
||||
if(SPDSettings.customSeed().equals(KEY_CUSTOM_LING) && SPDSettings.customSeed().equals(KEY_CUSTOM_SEED) && isAndroid()){
|
||||
WndStartGame.showKeyInput();
|
||||
} else if (SPDSettings.intro()) {
|
||||
// if(SPDSettings.customSeed().equals(KEY_CUSTOM_LING) && SPDSettings.customSeed().equals(KEY_CUSTOM_SEED) && isAndroid()){
|
||||
// WndStartGame.showKeyInput();
|
||||
// } else
|
||||
if (SPDSettings.intro()) {
|
||||
SPDSettings.intro( false );
|
||||
Game.switchScene( IntroScene.class );
|
||||
} else {
|
||||
|
|