Update V0.6.3.0-Beta2.0

This commit is contained in:
LingASDJ 2023-06-08 01:53:38 +08:00
parent eff124cb7e
commit 53ef0ade4f
29 changed files with 233 additions and 64 deletions

View File

@ -17,8 +17,8 @@ allprojects {
appName = 'Magic Ling Pixel Dungeon'
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
appVersionCode =900901
appVersionName = '0.6.3.0-Beta1.5'
appVersionCode =900902
appVersionName = '0.6.3.0-Beta2.0'
appJavaCompatibility = JavaVersion.VERSION_11

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -202,7 +202,7 @@ items.weapon.melee.magictorch$magiclight.desc=来自于魔法火把中提供的
items.books.bookslist.hellfirebooks.name=《浊焰事件》
items.books.bookslist.hellfirebooks.desc=燃尽了一切真理在何处显存。300年前的地牢大火事件让如今这个地牢变成了怎样的地狱?\n\n你已经见过我妹妹了吧?冒险者。那么,你为此前来的目的,是准备拯救这一切吗。如果是的话,有一点我不得不承认。大火事件确实由我而起,我辜负了她对我的信任。但其实,我们本来就不是真正意义上存在的。我知道,总会有冒险者来到这里,我在这里留下了这本用我力量做成的书。你还想了解大火的真相。那就勇敢的面对我吧!翻开书页,聚精会神,我会在浊焰地狱等着你!
items.books.bookslist.hellfirebooks.author=--浊焰魔女
items.books.bookslist.hellfirebooks.author=--圣火魔女
items.books.bookslist.hellfirebooks.ac_read=尚未完成
items.weapon.melee.icefishsword.name=尚方宝剑
@ -222,50 +222,52 @@ items.books.bookslist.indexbooks.desc=如果你是第一次游玩魔绫的像素
items.books.bookslist.indexbooks.author=--作者:_JDSA-Ling_
items.books.bookslist.indexbooks.ac_read=打开看看
items.books.bookslist.yellowsunbooks.name=《朝阳教团史-Dr.BloodMoon纪年326年卷二》
items.books.bookslist.yellowsunbooks.desc=此册编撰者以鲜血与性命示忠于原_地表势力_的领头者_朝阳教团_并承诺绝无欺骗 \n\n……但是在300年前的_那件事_发生后_朝阳教团_因管理不利而渐渐衰落从此便销声匿迹了它原有的地位与名誉被_深渊魔都_和_极地圣境_两方势力所分食。\n\n两方的_管理者_携手封印了地牢的最深处的入口并且对她进行了_水晶力量抑制_,于Dr.BloodMoon纪年17年她封印在了金城水晶实验室。\n\n……距封印之日已过去三百余年随着她_力量的增强__水晶_已经开始_极不稳定_……\n\n……Dr.BloodMoon纪年326年四月中旬一名_朝阳教团的残支_要求接见管理者……并且声称朝阳教团可以帮助他们彻底_杀死她_……\n\n_若要记录在书架里面请先鉴定
items.books.bookslist.yellowsunbooks.desc=此册编撰者以鲜血与性命示忠于原_地表势力_的领头者_朝阳教团_并承诺绝无欺骗 \n\n……但是在300年前的_那件事_发生后_朝阳教团_因管理不利而渐渐衰落从此便销声匿迹了它原有的地位与名誉被_深渊魔都_和_极地圣境_两方势力所分食。\n\n两方的_管理者_携手封印了地牢的最深处的入口并且对她进行了_水晶力量抑制_,于Dr.BloodMoon纪年17年她封印在了金城水晶实验室。\n\n……距封印之日已过去三百余年随着她_力量的增强__水晶_已经开始_极不稳定_……\n\n……Dr.BloodMoon纪年326年四月中旬一名_朝阳教团的残支_要求接见管理者……并且声称朝阳教团可以帮助他们彻底_杀死她_……
items.books.bookslist.yellowsunbooks.author=--作者:_Kiley-Alien_
items.books.bookslist.yellowsunbooks.ac_read=阅读书籍
items.books.bookslist.yellowsunbooks.blees=你阅读了书籍,一股力量油然而生!
items.books.bookslist.yellowsunbooks.anmazing=你解读书中的奥秘,你领悟到了敌法的力量!
items.books.bookslist.icecitybooks.name=《寒冰圣域游记》
items.books.bookslist.icecitybooks.desc=这是坐拥于曾经的寒冰地带的一座大型城市,似乎已经驱走了严寒的危机,而我现在就站在这里。\n现在由"冷群"进行着管理。\n\n这里的人们都生活的悠哉游哉似乎工作都是以享受的姿态去迎接的。在冬季的十二月月末下雪的日子居民们还会举办大型的盛典来庆祝。\n\n似乎所有人都忘记了三百年前的那件事了……\n\n_若要记录在书架里面请先鉴定
items.books.bookslist.icecitybooks.desc=这是坐拥于曾经的寒冰地带的一座大型城市,似乎已经驱走了严寒的危机,而我现在就站在这里。\n现在由"一位神秘人"进行着管理。\n\n这里的人们都生活的悠哉游哉似乎工作都是以享受的姿态去迎接的。在冬季的十二月月末下雪的日子居民们还会举办大型的盛典来庆祝。\n\n似乎所有人都忘记了三百年前的那件事了……
items.books.bookslist.icecitybooks.author=--作者:_LunRes_
items.books.bookslist.icecitybooks.ac_read=阅读书籍
items.books.bookslist.icecitybooks.blees=你阅读了书籍,一股力量油然而生!
items.books.bookslist.icecitybooks.anmazing=你解读书中的奥秘,你领悟到了烈焰的力量!
items.books.bookslist.deepbloodbooks.name=《深渊魔都纪事录》
items.books.bookslist.deepbloodbooks.desc=本传仅作参考,可能包含大量个人想法。\n\n……魔都来了一位少女她成功地将魔都再次复兴。……三天后地牢调查团发来一则关于地牢深处强烈魔力流的报告。\n\n地牢第\n魔力强度:DEAD\n采取措施:无\n危险评估:DEADNOBACK\n……以上评估报告仅供参考。\n\n_若要记录在书架里面请先鉴定
items.books.bookslist.deepbloodbooks.author=--作者:_Dr.BloodMoon_
items.books.bookslist.deepbloodbooks.desc=本传仅作参考,可能包含大量个人想法。\n\n……魔都来了一位少女她成功地将魔都再次复兴。……三天后地牢调查团发来一则关于地牢深处强烈魔力流的报告。\n\n地牢第\n魔力强度:DEAD\n采取措施:无\n危险评估:DEADNOBACK\n……以上评估报告仅供参考。
items.books.bookslist.deepbloodbooks.author=--作者:_Dr.血月博士_
items.books.bookslist.deepbloodbooks.ac_read=阅读书籍
items.books.bookslist.deepbloodbooks.blees=你阅读了书籍,一股力量油然而生!
items.books.bookslist.deepbloodbooks.anmazing=你解读书中的奥秘,你领悟到了索敌的力量!
items.books.bookslist.grasskingbooks.name=《绿林圣境守则》
items.books.bookslist.grasskingbooks.desc=1.无论是天灾还是人祸,请不要感到害怕。我们有着足够的实力保护你们。\n\n2.请居民不要靠近_森色之庭_那里是_地表势力_最高层的会议室\n\n……5.请带领刚出生的婴儿到_源色之泉_处进行洗礼以获取魔力。\n\n……7.外来旅者或是移民请自觉忽略一切你所认为的_高傲、自大、冷酷、无情、自私、不平等_在这里发生的一切都是正常的不要试图去做出改变学会融入我们。\n\n8.其他条例请等待_第十三次高层会议_的补充。\n\n_若要记录在书架里面请先鉴定
items.books.bookslist.grasskingbooks.desc=1.无论是天灾还是人祸,请不要感到害怕。我们有着足够的实力保护你们。\n\n2.请居民不要靠近_森色之庭_那里是_地表势力_最高层的会议室\n\n……5.请带领刚出生的婴儿到_源色之泉_处进行洗礼以获取魔力。\n\n……7.外来旅者或是移民请自觉忽略一切你所认为的_高傲、自大、冷酷、无情、自私、不平等_在这里发生的一切都是正常的不要试图去做出改变学会融入我们。\n\n8.其他条例请等待_第十三次高层会议_的补充。
items.books.bookslist.grasskingbooks.author=--作者:_牡丹洛华_
items.books.bookslist.grasskingbooks.ac_read=阅读书籍
items.books.bookslist.grasskingbooks.blees=你阅读了书籍,一股力量油然而生!
items.books.bookslist.grasskingbooks.anmazing=你解读书中的奥秘,你领悟到了无畏的力量!
items.books.bookslist.brokenbooks.name=《奇怪的档案袋》
items.books.bookslist.brokenbooks.desc=上面沾染了水渍与污垢,鲜红的“火灾案”几个大字以及标注着调查人员的表格也似乎是有点褪色了。\n\n幸存者“火焰肆虐过这个地牢吞噬了一切能被吞噬的东西……包括人类。这只有可能是魔法是魔法引起的”\n\n……我们的调查结果表面确实如此焦黑的地板卷轴残页以及熔化的玻璃药瓶基本排除了过失起火的可能。\n\n……α队员搜查到一枚熔融的金属袖章里面似乎残存过火焰魔法。\n\n_若要记录在书架里面请先鉴定
items.books.bookslist.brokenbooks.desc=上面沾染了水渍与污垢,鲜红的“火灾案”几个大字以及标注着调查人员的表格也似乎是有点褪色了。\n\n幸存者“火焰肆虐过这个地牢吞噬了一切能被吞噬的东西……包括人类。这只有可能是魔法是魔法引起的”\n\n……我们的调查结果表面确实如此焦黑的地板卷轴残页以及熔化的玻璃药瓶基本排除了过失起火的可能。\n\n……α队员搜查到一枚熔融的金属袖章里面似乎残存过火焰魔法。
items.books.bookslist.brokenbooks.author=--作者:_不详_
items.books.bookslist.brokenbooks.ac_read=阅读书籍
items.books.bookslist.brokenbooks.blees=你阅读了书籍,一股力量油然而生!
items.books.bookslist.brokenbooks.anmazing=你解读书中的奥秘,你领悟到了英雄的力量!
items.books.bookslist.magicgirlbooks.name=《镶着金边的魔女手记》
items.books.bookslist.magicgirlbooks.desc=(前面的几页似乎是被撕掉了)……这是大火后的第三天,我像往常一样推开了窗户。\n\n瘴气似的魔力涌入房间没办法……我无法对抗它……\n\n在我被这股魔力吞噬殆尽之前在它占据我的身体之前我得准备好一些能与之抗衡的东西……\n\n仇恨密谋计划灾厄正在降临。最后这几个字的笔迹似乎变成了另一个人的\n\n_若要记录在书架里面请先鉴定
items.books.bookslist.magicgirlbooks.desc=(前面的几页似乎是被撕掉了)……这是大火后的第三天,我像往常一样推开了窗户。\n\n瘴气似的魔力涌入房间没办法……我无法对抗它……\n\n在我被这股魔力吞噬殆尽之前在它占据我的身体之前我得准备好一些能与之抗衡的东西……\n\n仇恨密谋计划灾厄正在降临。最后这几个字的笔迹似乎变成了另一个人的
items.books.bookslist.magicgirlbooks.author=--作者:_凛_
items.books.bookslist.magicgirlbooks.ac_read=阅读书籍
items.books.bookslist.magicgirlbooks.blees=你阅读了书籍,一股力量油然而生!
items.books.bookslist.magicgirlbooks.anmazing=你解读书中的奥秘,你领悟到了天佑的力量!
items.books.bookslist.nokingmobbooks.name=《异变调查》
items.books.bookslist.nokingmobbooks.desc=地表最近总是能感到一股力量正在从地下涌动,我奉命前往地下进行调查。\n\n没想到这一次前来我发现了一个一些惊奇的事情。\n\n老鼠能说话新的未知生物更多还有一些高智能怪物。似乎一切就和那场大火毫无关系。\n\n谁在幕后策划着一切异变的真凶究竟是谁\n\n_若要记录在书架里面请先鉴定
items.books.bookslist.nokingmobbooks.desc=地表最近总是能感到一股力量正在从地下涌动,我奉命前往地下进行调查。\n\n没想到这一次前来我发现了一个一些惊奇的事情。\n\n老鼠能说话新的未知生物更多还有一些高智能怪物。似乎一切就和那场大火毫无关系。\n\n谁在幕后策划着一切异变的真凶究竟是谁\n\n我将继续调查,直到找到答案。
items.books.bookslist.nokingmobbooks.author=--作者:_Demain-Pixel_
items.books.bookslist.nokingmobbooks.ac_read=阅读书籍
items.books.bookslist.nokingmobbooks.blees=你阅读了书籍,一股力量油然而生!
@ -284,6 +286,9 @@ items.books.playbookslist.deyizibooks.name=《我们是柏林联合》
items.books.playbookslist.deyizibooks.desc=:在山的那边,海的那边,有一座小球场。\n球场里有一群纯粹到不敢相信的踢球的人他们就是柏林联合即使我们刚刚进去甲级联赛但是我们有一往无前的气势。\n旅行者愿柏林联合的钢铁意志保佑你。
items.books.playbookslist.deyizibooks.author=--作者:_Pedro_
items.mainbooks.mustread=书本的厚重感让你不敢轻易翻开,但若是不翻开,你将无法获得它的力量。
items.mainbooks.readed=你已经阅读过这本书了。所以你不再需要再看这本书的内容了。
items.mainbooks.no=就当你准备阅读的时候,一道力量让你无法翻阅书籍,看来有人希望你将书籍带出地牢,而不是阅读完它们。
#MLPD
items.scrolls.exotic.scrollofroseshiled.null=玫瑰秘卷

View File

@ -262,6 +262,21 @@ badges$badge.high_score_4.desc=在结束游戏时达到 _SSS级_ 评价。
badges$badge.high_score_5.title=炉火纯青
badges$badge.high_score_5.desc=在结束游戏时达到 _SSS+级_ 评价。
badges$badge.read_book_one.title=书籍寻觅者
badges$badge.read_book_one.desc=一局累计阅读一本书籍。
badges$badge.read_book_two.title=书籍爱好者
badges$badge.read_book_two.desc=一局累计阅读三本不同的书籍。
badges$badge.read_book_three.title=书籍收藏家
badges$badge.read_book_three.desc=一局累计阅读五本不同的书籍。
badges$badge.read_book_four.title=书籍博学家
badges$badge.read_book_four.desc=一局累计阅读七本不同的书籍。
challenges.no_food=缩餐节食
challenges.no_food_desc=食物本就稀缺,但你还需要注意节食!\n\n・使用各类食物与丰饶之角的饱腹效果为原本的三分之一。\n・其他恢复饥饿的机制不受影响。
challenges.no_armor=独挡一面

View File

@ -533,4 +533,6 @@ ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x72=-V0.6.3-Beta1\n1.修复一些小
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x73=-V0.6.3-Beta1.5\n1.修复时光沙漏在雪凛峡谷的一些问题\n2.修复梦魇领袖的魔化藤为法伤的问题,并延长母体酸蚀释放间隔\n3.修复一些小型错误
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x74=-V0.6.3-Beta2.0\n1.修复BossRush的一些问题\n2.改善部分代码
//ui.changelist.mlpd.vm0_5_x_changes.xxx//

View File

@ -70,6 +70,7 @@ windows.wndkingshop.king=商人领主
windows.wndkingshop.select=干得漂亮你已经让莲娜对你刮目相看。作为报答_全场500金币售价_!(如果没有物品请点击刷新或随处走走)
windows.wndkingshop.sellmod=出售
windows.wndkingshop.reloadshop=刷新
windows.wndkingshop.x_gold=你没有足够的金币刷新商品列表!
windows.wndkingshop.goback=回家
windows.wndkingshop.back=一路顺风,伙计!

View File

@ -87,6 +87,8 @@ public class Badges {
HALOFIRE_DIED ( 23 ),
READ_BOOK_ONE ( 24 ),
//silver
NO_MONSTERS_SLAIN ( 32 ),
GRIM_WEAPON ( 33 ),
@ -118,6 +120,8 @@ public class Badges {
HIGH_SCORE_2 ( 55 ),
READ_BOOK_TWO ( 56 ),
//gold
PIRANHAS ( 64 ),
//these names are a bit outdated, but it doesn't really matter.
@ -158,6 +162,8 @@ public class Badges {
BOSS_SLAIN_3_ALL_SUBCLASSES ( 80, true ),
GAMES_PLAYED_2 ( 81, true ),
READ_BOOK_THREE ( 87 ),
//platinum
HAPPY_END ( 96 ),
ALL_ITEMS_IDENTIFIED ( 97, true ),
@ -174,6 +180,8 @@ public class Badges {
HIGH_SCORE_4 ( 104 ),
READ_BOOK_FOUR ( 105 ),
//diamond
GAMES_PLAYED_4 ( 112, true ),
CHAMPION_2X ( 113 ),
@ -424,6 +432,29 @@ public class Badges {
displayBadge( badge );
}
public static void valiReadBooks() {
Badge badge = null;
if (!local.contains( Badge.READ_BOOK_ONE ) && Statistics.readBooks >= 1) {
badge = Badge.READ_BOOK_ONE;
local.add( badge );
}
if (!local.contains( Badge.READ_BOOK_TWO ) && Statistics.readBooks >= 3) {
badge = Badge.READ_BOOK_TWO;
local.add( badge );
}
if (!local.contains( Badge.READ_BOOK_THREE ) && Statistics.readBooks >= 5) {
badge = Badge.READ_BOOK_THREE;
local.add( badge );
}
if (!local.contains( Badge.READ_BOOK_FOUR ) && Statistics.readBooks >= 7) {
badge = Badge.READ_BOOK_FOUR;
local.add( badge );
}
displayBadge( badge );
}
public static void nyzvalidateGoldCollected() {
Badge badge = null;
@ -996,6 +1027,10 @@ public class Badges {
validateAMZ();
}
public static void BOSSTHREE() {
displayBadge( Badge.BOSS_SLAIN_3 );
}
public static void CLEARWATER() {
displayBadge( Badge.CLEAR_WATER );
}
@ -1146,6 +1181,7 @@ public class Badges {
{Badge.CHAMPION_1X, Badge.CHAMPION_2X, Badge.CHAMPION_3X,Badge.CHAMPION_4X,Badge.CHAMPION_5X},
{Badge.GHOSTDAGE,Badge.DAGETO},
{Badge.HIGH_SCORE_1, Badge.HIGH_SCORE_2, Badge.HIGH_SCORE_3, Badge.HIGH_SCORE_4, Badge.HIGH_SCORE_5},
{Badge.READ_BOOK_ONE, Badge.READ_BOOK_TWO, Badge.READ_BOOK_THREE, Badge.READ_BOOK_FOUR},
};
private static final Badge[][] metaBadgeReplacements = new Badge[][]{

View File

@ -28,6 +28,8 @@ public class Statistics {
//统计分数
public static int progressScore;
public static int readBooks;
public static int treasureScore;
public static SparseArray<Boolean> floorsExplored = new SparseArray<>();
public static int exploreScore;
@ -120,7 +122,7 @@ public class Statistics {
boss_enhance = 0;
ChaicBlood = 0;
readBooks = 0;
HealingIsDied = 0;
goldCollected = 0;
@ -261,6 +263,8 @@ public class Statistics {
private static final String HEALDIED = "HealingisDied";
private static final String READBOOKS = "readbooks";
public static void storeInBundle( Bundle bundle ) {
@ -274,6 +278,9 @@ public class Statistics {
}
}
bundle.put( HEALDIED, HealingIsDied);
bundle.put( READBOOKS, readBooks);
bundle.put( EXPL_SCORE, exploreScore );
bundle.put( BOSS_SCORES, bossScores );
bundle.put( TOT_BOSS, totalBossScore );
@ -349,6 +356,8 @@ public class Statistics {
HealingIsDied = bundle.getInt( HEALDIED );
readBooks = bundle.getInt( READBOOKS );
//分数
progressScore = bundle.getInt( PROG_SCORE );
heldItemValue = bundle.getInt( ITEM_VAL );

View File

@ -59,6 +59,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.EtherealChains;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TalismanOfForesight;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.WraithAmulet;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.BookBag;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.HerbBag;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.KingBag;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch;
@ -132,11 +133,15 @@ public enum HeroClass {
}
public void initHero( Hero hero ) {
//new WraithAmulet().quantity(1).identify().collect();
if (Dungeon.isChallenged(Challenges.RLPT)) {
new Ankh().quantity(1).identify().collect();
}
if(!Badges.isUnlocked(Badges.Badge.BOSS_SLAIN_3) && Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) ){
Badges.BOSSTHREE();
}
if (Dungeon.isChallenged(Challenges.AQUAPHOBIA)) {
new WaterSoul().quantity(4).identify().collect();
}
@ -163,6 +168,8 @@ public enum HeroClass {
new MysteryMeat().quantity(100).identify().collect();
new TimekeepersHourglass().quantity(1).identify().collect();
new Amulet().quantity(1).identify().collect();
Buff.affect(hero, ChampionHero.AntiMagic.class, 50000f);
new WraithAmulet().quantity(1).identify().collect();
new BloodthirstyThorn().quantity(1).identify().collect();
@ -232,6 +239,7 @@ public enum HeroClass {
i = new Food();
new HerbBag().quantity(1).identify().collect();
new BookBag().quantity(1).identify().collect();
new PotionOfHealing().quantity(3).identify().collect();
new ScrollOfUpgrade().quantity(1).identify().collect();

View File

@ -68,12 +68,12 @@ public class Nyz extends NTNPC {
sprite.turnTo( pos, Dungeon.hero.pos );
spend( TICK );
shop6 = new YellowSunBooks();
shop5 = new BrokenBooks();
shop4 = new IceCityBooks();
shop3 = new NoKingMobBooks();
shop2 = new DeepBloodBooks();
shop1 = new MagicGirlBooks();
shop6 = (Books) new YellowSunBooks().quantity(2);
shop5 = (Books) new BrokenBooks().quantity(2);
shop4 = (Books) new IceCityBooks().quantity(2);
shop3 = (Books) new NoKingMobBooks().quantity(2);
shop2 = (Books) new DeepBloodBooks().quantity(2);
shop1 = (Books) new MagicGirlBooks().quantity(2);
bomb1 = (Bomb) new Flashbang().quantity(1);
bomb2 = (Bomb) new Noisemaker().quantity(1);
bomb3 = (Bomb) new RegrowthBomb().quantity(1);

View File

@ -7,11 +7,11 @@ public class MainBooks extends Item {
@Override
public String info() {
return desc()+"\n\n"+author;
return author;
}
@Override
public int value() {
return 20 * quantity;
}
public String author = Messages.get(this, "author");
public String author = Messages.get(MainBooks.class, "mustread");
}

View File

@ -1,15 +1,23 @@
package com.shatteredpixel.shatteredpixeldungeon.items.bags;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.books.Books;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import java.util.ArrayList;
public class BookBag extends Bag {
{
image = ItemSpriteSheet.BOOKBAG;
}
@Override
public ArrayList<String> actions(Hero hero) {
return new ArrayList<>(); //yup, no dropping this one
}
@Override
public boolean canHold( Item item ) {
if (item instanceof Books){
@ -20,12 +28,12 @@ public class BookBag extends Bag {
}
public int capacity(){
return 30;
return 10;
}
@Override
public int value() {
return 90;
return 30;
}
}

View File

@ -1,26 +1,42 @@
package com.shatteredpixel.shatteredpixeldungeon.items.books;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.items.MainBooks;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBook;
import com.watabou.noosa.particles.Emitter;
import com.watabou.utils.Bundle;
import java.util.ArrayList;
public class Books extends MainBooks {
//每本书的计数只能计算一次避免玩家重复阅读同一本书刷成就
public boolean readOnly = false;
{
defaultAction = Read;
stackable = true;
}
@Override
public boolean isUpgradable() {
return false;
}
public String author = Messages.get(this, "author");
public Integer age;
@Override
public boolean isIdentified() {
return true;
}
public String desc = Messages.get(this, "desc");
public Integer icon = null;
private static final String Read = "Read";
@ -40,14 +56,37 @@ public class Books extends MainBooks {
if (hero.HP > 0) {
actions.add(Read);
}
actions.remove(AC_DROP);
actions.remove(AC_THROW);
return actions;
}
@Override
public void execute(final Hero hero, String action ) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
if(!readOnly){
Statistics.readBooks++;
Badges.valiReadBooks();
GameScene.show(new WndBook(this));
readOnly = true;
} else {
GLog.w(Messages.get(MainBooks.class, "readed"));
}
} else {
GLog.w( Messages.get(MainBooks.class, "no") );
}
}
public void restoreFromBundle(Bundle bundle) {
super.restoreFromBundle(bundle);
this.readOnly = bundle.getBoolean("readOnly");
}
public void storeInBundle(Bundle bundle) {
super.storeInBundle(bundle);
bundle.put("readOnly", this.readOnly);
}
}

View File

@ -22,7 +22,7 @@ public class BrokenBooks extends Books {
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
Sample.INSTANCE.play( Assets.Sounds.READ );
switch (Random.Int(5)){
case 0: case 1: case 2:

View File

@ -23,7 +23,7 @@ public class DeepBloodBooks extends Books {
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
Sample.INSTANCE.play( Assets.Sounds.READ );
switch (Random.Int(5)){
case 0: case 1: case 2:

View File

@ -18,7 +18,7 @@ public class DimandBook extends Books {
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
Sample.INSTANCE.play( Assets.Sounds.READ );
detach( hero.belongings.backpack );
GLog.n("你已接受来自未知敌人的挑战……,祝你好运!");

View File

@ -19,10 +19,15 @@ public class GrassKingBooks extends Books {
unique= true;
}
@Override
public int value() {
return quantity * 8;
}
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
Sample.INSTANCE.play( Assets.Sounds.READ );
switch (Random.Int(5)){
case 0: case 1: case 2:

View File

@ -23,7 +23,7 @@ public class IceCityBooks extends Books {
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
Sample.INSTANCE.play( Assets.Sounds.READ );
switch (Random.Int(5)){
case 0: case 1: case 2:

View File

@ -22,7 +22,7 @@ public class MagicGirlBooks extends Books {
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
Sample.INSTANCE.play( Assets.Sounds.READ );
switch (Random.Int(5)){
case 0: case 1: case 2:

View File

@ -22,7 +22,8 @@ public class NoKingMobBooks extends Books {
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
Sample.INSTANCE.play( Assets.Sounds.READ );
switch (Random.Int(5)){
case 0: case 1: case 2:

View File

@ -4,16 +4,29 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AnkhInvulnerability;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.items.books.Books;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
public class TestBooks extends Books {
import java.util.ArrayList;
public class TestBooks extends Item {
private static final String Read = "Read";
{
image = ItemSpriteSheet.BLACKBOOK;
unique= true;
defaultAction = Read;
}
@Override
public ArrayList<String> actions(Hero hero ) {
ArrayList<String> actions = super.actions(hero);
if (hero.HP > 0) {
actions.add(Read);
}
return actions;
}
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);

View File

@ -22,7 +22,7 @@ public class YellowSunBooks extends Books {
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if (action.equals( Read ) && quantity>1) {
Sample.INSTANCE.play( Assets.Sounds.READ );
switch (Random.Int(5)){
case 0: case 1: case 2:

View File

@ -229,7 +229,7 @@ public class ForestBossLevel extends Level {
drop( new CrystalKey(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) ? 2 : 5 ), WIDTH*7+29 );
Heap droppedA = Dungeon.level.drop( Generator.randomUsingDefaults( Generator.Category.STONE),
Heap droppedA = Dungeon.level.drop( Generator.randomUsingDefaults( Generator.Category.ARMOR),
WIDTH*7+28 );
droppedA.type = Heap.Type.CRYSTAL_CHEST;
droppedA.sprite.view( droppedA );

View File

@ -24,6 +24,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.bags.PotionBandolier;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.ScrollHolder;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Bomb;
import com.shatteredpixel.shatteredpixeldungeon.items.books.bookslist.GrassKingBooks;
import com.shatteredpixel.shatteredpixeldungeon.items.books.bookslist.YellowSunBooks;
import com.shatteredpixel.shatteredpixeldungeon.items.food.Food;
import com.shatteredpixel.shatteredpixeldungeon.items.food.MeatPie;
@ -161,6 +162,7 @@ public class NxhyShopRoom extends SpecialRoom {
case 3:
case 4:
itemsToSpawn2.add(new YellowSunBooks());
itemsToSpawn2.add(new GrassKingBooks());
break;
case 5:
itemsToSpawn2.add(new MeatPie());

View File

@ -14,7 +14,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.MerchantsBeacon;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.LeatherArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.BookBag;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Bomb;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Firebomb;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Flashbang;
@ -22,6 +21,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.bombs.FrostBomb;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.HolyBomb;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Noisemaker;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.RegrowthBomb;
import com.shatteredpixel.shatteredpixeldungeon.items.books.bookslist.GrassKingBooks;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutation;
@ -130,12 +130,12 @@ public class NyzBombAndBooksRoom extends SpecialRoom {
itemsToSpawn2.add (new Firebomb().quantity(1));
itemsToSpawn2.add (new FrostBomb().quantity(1));
itemsToSpawn2.add(new MerchantsBeacon());
//itemsToSpawn2.add(ChooseBag(Dungeon.hero.belongings));
itemsToSpawn2.add(new GrassKingBooks().quantity(2));
itemsToSpawn2.add(new PotionOfHealing());
itemsToSpawn2.add(new ScrollOfTransmutation());
//itemsToSpawn2.add(new DriedRose());
itemsToSpawn2.add(new ScrollOfMagicMapping());
itemsToSpawn2.add(new BookBag());
//itemsToSpawn2.add(new BookBag());
int Int = Random.Int(4);
if (Int == 0) {
itemsToSpawn2.add(new Bomb());
@ -160,12 +160,9 @@ public class NyzBombAndBooksRoom extends SpecialRoom {
rare.cursed = false;
rare.cursedKnown = true;
itemsToSpawn2.add(rare);
if (itemsToSpawn2.size() <= 63) {
Random.shuffle(itemsToSpawn2);
return itemsToSpawn2;
}
throw new RuntimeException("Shop attempted to carry more than 63 items!");
}
}

View File

@ -52,6 +52,7 @@ import java.util.ArrayList;
public class vM0_6_7_X_Changes {
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
add_v0_6_45_Changes(changeInfos);
add_v0_6_44_Changes(changeInfos);
add_v0_6_43_Changes(changeInfos);
add_v0_6_42_Changes(changeInfos);
@ -99,12 +100,41 @@ public class vM0_6_7_X_Changes {
add_v0_6_0_Changes(changeInfos);
}
public static void add_v0_6_44_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("金榜题名,高考加油", true, null);
public static void add_v0_6_45_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta2.0", 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.CRYSTAL_CHEST), ("克里弗斯之果-二选一改进"),
("对二选一问题进行了一些更多的改进,在新存档生效。")));
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.NOKING), ("书籍系统2.0"),
("书籍系统全面升级,欢迎使用全新书籍系统。我们还追加了一些徽章方便各位探索。")));
changes = new ChangeInfo("改动", false, null);
changes.hardlight(Window.CYELLOW);
changeInfos.add(changes);
changes = new ChangeInfo("v0.6.3.0-Beta1.5", true, "");
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.BOOKBAG), ("牛皮书袋"),
("现在牛皮书袋奈亚子不再出售,而是英雄初始就能绑定获得。")));
changes.addButton(new ChangeButton(new NyzSprites(), ("奈亚子"),
("奈亚子商店全新升级书籍现在捆绑销售且最低可能为100金币。")));
changes.addButton(new ChangeButton(new ShopkKingSprite(), ("商人领主"),
("商人领主商店全新升级刷新现在需要150金币。")));
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_06X74")));
}
public static void add_v0_6_44_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta1.5", true, "");
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);

View File

@ -1,6 +1,5 @@
package com.shatteredpixel.shatteredpixeldungeon.windows;
import com.shatteredpixel.shatteredpixeldungeon.SPDSettings;
import com.shatteredpixel.shatteredpixeldungeon.items.books.Books;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
@ -15,7 +14,6 @@ public class WndBook extends Window {
private static final float GAP = 2;
private static final int WIDTH_MIN = 120;
private static final int WIDTH_MAX = 220;
public WndBook(final Books book ) {
@ -30,18 +28,13 @@ public class WndBook extends Window {
int width = WIDTH_MIN;
RenderedTextBlock info = PixelScene.renderTextBlock(
Messages.get(this, "written_by", book.author) +"\n"+
Messages.get(this, "age", book.age) +"\n\n"+
book.desc, 6 );
Messages.get(book, "author")+"\n\n"+book.desc, 6 );
info.maxWidth(width);
info.hardlight(0xfffffff);
//info box can go out of the screen on landscape, so widen it
while (SPDSettings.landscape()
&& info.height() > 100
&& width < WIDTH_MAX){
width += 20;
info.maxWidth(width);
}
IconTitle titlebar = new IconTitle( book );
titlebar.setRect( 0, 0, width, 0 );

View File

@ -175,8 +175,13 @@ public class WndKingShop extends Window {
Game.runOnRenderThread(new Callback() {
@Override
public void call() {
if(Dungeon.gold >=150) {
hide();
Buff.prolong(hero, ReloadShopTwo.class, 1f);
Dungeon.gold -= 150;
} else {
GLog.n(Messages.get(WndKingShop.class,"x_gold"));
}
}
});
}

View File

@ -188,7 +188,7 @@ public class WndNyzShop extends Window {
}
}
} else if(Dungeon.gold >= 720) {
Dungeon.gold-=720*Random.Int(2)+hero.lvl/5+10;
Dungeon.gold-=720*Random.Int(2)+hero.lvl/5+100;
WndNyzShop.this.selectReward( item );
if (RandomBuff.level-- >= 0) {
}