update beta21-2.875

This commit is contained in:
LingASDJ 2022-12-04 19:09:46 +08:00
parent 698828c54e
commit 5dbd8f23c9
26 changed files with 322 additions and 284 deletions

View File

@ -632,7 +632,7 @@ actors.mobs.slime_sz.name=史莱姆-圣紫守护者
actors.mobs.slime_sz.desc=史莱姆七大守护者中的_圣紫使者_\n它发出的攻击有几率让入侵者受到_迟缓效果_
actors.mobs.slimeking.name=史莱姆王子
actors.mobs.slimeking.desc=史莱姆王子,圣境密林的守护者,没有人能从它这里活着走过去。\n\n-机制说明:移动极其缓慢但有无限使用的锁链。血量低于一半后立刻呼唤_当前楼层至多3个怪物_前来支援(只可触发一次),并且移速恢复正常但_锁链功能失效_且_自身防御降为0_以及近战有概率造成_双倍伤害_。
actors.mobs.slimeking.desc=史莱姆王子,圣境密林的守护者,没有人能从它这里活着走过去。\n\n-机制说明:移动极其缓慢但有无限使用的锁链。血量低于一半后立刻呼唤_当前楼层至多3个怪物_前来支援(只可触发一次),并且移速恢复正常但_锁链功能失效_且_自身防御降为0_以及近战有概率造成_双倍伤害_。血量低于60后受到敌人的近战攻击将有45%的概率分裂成蚀化史莱姆,但分裂的血量/4。
actors.mobs.slimeking.notice=你将会死在圣境密林!
actors.mobs.slimeking.defeated=不……这不可能……
actors.mobs.slimeking.arise=我的史莱姆守卫们,快点出来支援本王!

View File

@ -66,7 +66,7 @@ items.wands.wandofbluefuck.name=磷焰法杖
items.wands.wandofbluefuck.staff_name=鬼磷之杖
items.wands.wandofbluefuck.desc=这根法杖由欧松木制成,饰以紫色宝石,这使它看起来相当庄严。它的顶端噼啪作响嘶嘶而鸣,渴望着释放其强大的魔法。
items.wands.wandofbluefuck.stats_desc=该法杖在使用时会产生一股强大的磷焰延伸出一个锥形区域。下一次使用它将消耗_%1$d发充能_并造成_%2$d~%3$d点伤害_。法杖消耗的充能数越多其范围与威力就越大或越强。
items.wands.wandofbluefuck.bmage_desc=当_战斗法师_以焰浪法杖近战攻击目标时,能像拥有烈焰附魔一样有概率将其点燃。
items.wands.wandofbluefuck.bmage_desc=当_战斗法师_以鬼磷法杖近战攻击目标时,能像拥有鬼磷附魔一样有概率将其点燃。
items.weapon.enchantments.haloblazing.name=鬼磷%s
items.weapon.enchantments.haloblazing.desc=这个附魔会使磷火从武器中喷薄而出,能够使用点燃敌人并对正在燃烧的敌人造成中毒的额外伤害。
@ -213,11 +213,13 @@ items.wands.wandofscale.name=恐惧暴风法杖
items.wands.wandofscale.staff_name=暴风之杖
items.wands.wandofscale.desc=这根法杖的紫色主干顶端镶嵌着一颗明亮的黑色宝石。
items.wands.wandofscale.stats_desc=这根法杖能射出恐惧声波,附近的敌人都会四处逃窜。\n并且可以产生暴风使周围陷阱全部失效且成为水地面。\n会造成_%1$d~%2$d点伤害_。
items.wands.wandofscale.bmage_desc=当_战斗法师_以暴风之杖近战攻击目标时能概率让目标流血。
items.wands.wandofgodice.name=霜殇法杖
items.wands.wandofgodice.staff_name=冰雪悲歌之杖
items.wands.wandofgodice.desc=这根法杖的蔚蓝色色主干顶端镶嵌着一颗明亮的金色宝石。
items.wands.wandofgodice.stats_desc=这根法杖能射出冰冻冲击波,\n会造成_%1$d~%2$d点伤害_。\n对首领的可以造成双倍伤害\n-翼绫,我很抱歉,我只能这样杀死你吗?
items.wands.wandofgodice.stats_desc=这根法杖能射出冰冻冲击波,\n会造成_%1$d~%2$d点伤害_。\n对首领的可以造成双倍伤害
items.wands.wandofgodice.bmage_desc=当_战斗法师_以冰雪悲歌之杖近战攻击目标时能概率触发幸运附魔。
items.quest.goldbao.name=黄金珍宝
items.quest.goldbao.desc=由钻石宝箱王守护的东西,据说是商人的喜爱产品。\n\n无论怎么样现在珍宝已经在你手中你已经打败了钻石宝箱王。\n提示出价资金可能会和实际资金不同因为商人随时可能变卦。

View File

@ -119,7 +119,7 @@ challenges.champion_enemies_desc=会升级的不止你一个!\n\n・普通敌
的机率拥有特殊的精英属性。\n・精英敌人刷出时会立即醒来。\n・精英敌人免疫腐化效果。\n\n精英敌人有七种\n_烈焰橙色_ 近战伤害 \
+25% 且带有点燃效果,免疫火焰,死亡时引燃周围。\n_索敌紫色_ 近战伤害 +25%,近战范围 +8。\n_敌法绿色_ 受到伤害 -25%,拥有魔法免疫。\n_巨型蓝色_ 受到伤害 -75%,近战范围 +1无法进入门与过道。\n_祝福黄色_ 精准与躲避 +200%。\n_成长红色_ 精准、躲避、攻击伤害与有效生命值 +20%。每过 3 回合会再增长 1%。\n_鬼磷天蓝色_ 近战伤害 +15% 且带有磷火效果,免疫火焰与磷火。
challenges.stronger_bosses=Π梦魇Boss
challenges.stronger_bosses_desc=这项挑战让挑战 Boss 变得更有挑战性了!\n\n_粘咕_生命值 +20%\n_-_ 水中恢复量增长,每回合恢复 3 点生命\n_-_ 爆发攻击蓄力时间由 2 回合缩短至 1 回合\n_天狗_生命 +25%\n_-_ 第一阶段:陷阱更加致命\n_-_ 第二阶段:技能频率更高\n_钻石宝箱王_: 生命+20% \n_-_ 整场战斗出现额外技能\n_DM-300_生命 +60%\n_-_ 能量塔更坚固。\n_-_ 技能频率更高,威力也更强大\n_-_ 超载时移动速度更高\n_-_ 击败时必掉落荆棘斗篷\n_矮人国王:_生命 +50%\n_-_ 整场战斗内召唤的随从都更强大\n_-_ 第一阶段:技能与召唤频率都更高\n_-_ 第二阶段:每轮额外召唤两个随从\n_-_ 第三阶段:生命值 +100%,召唤频率更高\n_Yog-Dzewa:_\n_-_ 同时召唤两个古神之拳!\n_-_ 激光攻击伤害 +60%\n_-_ 召唤更强大的随从
challenges.stronger_bosses_desc=这项挑战让挑战 Boss 变得更有挑战性了!\n\n_粘咕_生命值 +20%\n_-_ 水中恢复量增长,每回合恢复 3 点生命\n_-_ 爆发攻击蓄力时间由 2 回合缩短至 1 回合\n_天狗_生命 +25%\n_-_ 第一阶段:陷阱更加致命\n_-_ 第二阶段:技能频率更高\n_钻石宝箱王_: 生命+20%\n_DM-300_生命 +60%\n_-_ 能量塔更坚固。\n_-_ 技能频率更高,威力也更强大\n_-_ 超载时移动速度更高\n_-_ 击败时必掉落荆棘斗篷\n_矮人国王:_生命 +50%\n_-_ 整场战斗内召唤的随从都更强大\n_-_ 第一阶段:技能与召唤频率都更高\n_-_ 第二阶段:每轮额外召唤两个随从\n_-_ 第三阶段:生命值 +100%,召唤频率更高\n_Yog-Dzewa:_\n_-_ 同时召唤两个古神之拳!\n_-_ 激光攻击伤害 +60%\n_-_ 召唤更强大的随从
actors.char.aquaphobia=你受到了来自水的伤害!
challenges.pro=Δ开发者模式Δ
challenges.pro_desc=供测试和开发使用\n开局_几乎是全物品_同时你将无法通关也无法记录在排行榜上面。

View File

@ -1,155 +1,73 @@
badges.endorsed=Badge endorsed: %s
badges.new=Badge unlocked: %s
badges$badge.monsters_slain_1.title=Novice Monster Hunter
badges$badge.monsters_slain_1.desc=Defeat 10 enemies in one game
badges$badge.monsters_slain_2.title=Adept Monster Hunter
badges$badge.monsters_slain_2.desc=Defeat 50 enemies in one game
badges$badge.monsters_slain_3.title=Expert Monster Hunter
badges$badge.monsters_slain_3.desc=Defeat 100 enemies in one game
badges$badge.monsters_slain_4.title=Master Monster Hunter
badges$badge.monsters_slain_4.desc=Defeat 200 enemies in one game
badges$badge.monsters_slain_5.title=Grandmaster Monster Hunter
badges$badge.monsters_slain_5.desc=Defeat 300 enemies in one game
badges$badge.gold_collected_1.title=Novice Treasure Hunter
badges$badge.gold_collected_1.desc=Collect 250 gold in one game
badges$badge.gold_collected_2.title=Adept Treasure Hunter
badges$badge.gold_collected_2.desc=Collect 1000 gold in one game
badges$badge.gold_collected_3.title=Expert Treasure Hunter
badges$badge.gold_collected_3.desc=Collect 2500 gold in one game
badges$badge.gold_collected_4.title=Master Treasure Hunter
badges$badge.gold_collected_4.desc=Collect 5000 gold in one game
badges$badge.gold_collected_5.title=Grandmaster Treasure Hunter
badges$badge.gold_collected_5.desc=Collect 10,000 gold in one game
badges$badge.level_reached_1.title=Novice Adventurer
badges$badge.level_reached_1.desc=Reach level 6
badges$badge.level_reached_2.title=Adept Adventurer
badges$badge.level_reached_2.desc=Reach level 12
badges$badge.level_reached_3.title=Expert Adventurer
badges$badge.level_reached_3.desc=Reach level 18
badges$badge.level_reached_4.title=Master Adventurer
badges$badge.level_reached_4.desc=Reach level 24
badges$badge.level_reached_5.title=Grandmaster Adventurer
badges$badge.level_reached_5.desc=Reach level 30
badges$badge.all_weapons_identified.title=Weapon Researcher
badges$badge.all_weapons_identified.desc=Identify all weapons in your journal
badges$badge.all_armor_identified.title=Armor Researcher
badges$badge.all_armor_identified.desc=Identify all armors in your journal
badges$badge.all_wands_identified.title=Wand Researcher
badges$badge.all_wands_identified.desc=Identify all wands in your journal
badges$badge.all_rings_identified.title=Ring Researcher
badges$badge.all_rings_identified.desc=Identify all rings in your journal
badges$badge.all_artifacts_identified.title=Artifact Researcher
badges$badge.all_artifacts_identified.desc=Identify all artifacts in your journal
badges$badge.all_potions_identified.title=Potion Researcher
badges$badge.all_potions_identified.desc=Identify all potions in your journal
badges$badge.all_scrolls_identified.title=Scroll Researcher
badges$badge.all_scrolls_identified.desc=Identify all scrolls in your journal
badges$badge.all_items_identified.title=Master Researcher
badges$badge.all_items_identified.desc=Identify all items in your journal
badges$badge.all_bags_bought.title=Pack Mule
badges$badge.all_bags_bought.desc=Fully expand your inventory
badges$badge.death_from_fire.title=Burned
badges$badge.death_from_fire.desc=Die from fire
badges$badge.death_from_poison.title=Poisoned
badges$badge.death_from_poison.desc=Die from poison
badges$badge.death_from_gas.title=Suffocated
badges$badge.death_from_gas.desc=Die from toxic gas
badges$badge.death_from_hunger.title=Starved
badges$badge.death_from_hunger.desc=Die from hunger
badges$badge.death_from_glyph.title=Deferred Death
badges$badge.death_from_glyph.desc=Die from deferred damage
badges$badge.death_from_falling.title=Pancaked
badges$badge.death_from_falling.desc=Die from falling down
badges$badge.yasd.title=Yet Another Sad Death
badges$badge.yasd.desc=Die to fire, poison, toxic gas, hunger, deferred damage, and falling
badges$badge.boss_slain_1.title=Slime janitor
badges$badge.boss_slain_1.desc=Defeat the boss at the end of the sewers
badges$badge.boss_slain_2.title=Prison Warden
badges$badge.boss_slain_2.desc=Defeat the boss at the end of the prison
badges$badge.boss_slain_3.title=Metal Scrapper
badges$badge.boss_slain_3.desc=Defeat the boss at the end of the caves
badges$badge.boss_slain_4.title=King Conqueror
badges$badge.boss_slain_4.desc=Defeat the boss at the end of the city
badges$badge.boss_slain_1_all_classes.title=Jack of Many Trades
badges$badge.boss_slain_1_all_classes.desc=Defeat the first boss with the Warrior, Mage, Rogue & Huntress
badges$badge.boss_slain_3_all_subclasses.title=Jack of All Trades
badges$badge.boss_slain_3_all_subclasses.desc=Defeat the third boss with the Gladiator, Berserker, Warlock, Battlemage, Freerunner, Assassin, Sniper & Warden
badges$badge.strength_attained_1.title=Novice Bodybuilder
badges$badge.strength_attained_1.desc=Reach 12 points of strength
badges$badge.strength_attained_2.title=Adept Bodybuilder
badges$badge.strength_attained_2.desc=Reach 14 points of strength
badges$badge.strength_attained_3.title=Expert Bodybuilder
badges$badge.strength_attained_3.desc=Reach 16 points of strength
badges$badge.strength_attained_4.title=Master Bodybuilder
badges$badge.strength_attained_4.desc=Reach 18 points of strength
badges$badge.strength_attained_5.title=Grandmaster Bodybuilder
badges$badge.strength_attained_5.desc=Reach 20 points of strength
badges$badge.food_eaten_1.title=Novice Gourmet
badges$badge.food_eaten_1.desc=Eat food 10 times in one game
badges$badge.food_eaten_2.title=Adept Gourmet
badges$badge.food_eaten_2.desc=Eat food 20 times in one game
badges$badge.food_eaten_3.title=Expert Gourmet
badges$badge.food_eaten_3.desc=Eat food 30 times in one game
badges$badge.food_eaten_4.title=Master Gourmet
badges$badge.food_eaten_4.desc=Eat food 40 times in one game
badges$badge.food_eaten_5.title=Grandmaster Gourmet
badges$badge.food_eaten_5.desc=Eat food 50 times in one game
badges$badge.item_level_1.title=Novice Enchanter
badges$badge.item_level_1.desc=Acquire an item of level 3 or higher
badges$badge.item_level_2.title=Adept Enchanter
badges$badge.item_level_2.desc=Acquire an item of level 6 or higher
badges$badge.item_level_3.title=Expert Enchanter
badges$badge.item_level_3.desc=Acquire an item of level 9 or higher
badges$badge.item_level_4.title=Master Enchanter
badges$badge.item_level_4.desc=Acquire an item of level 12 or higher
badges$badge.item_level_5.title=Grandmaster Enchanter
badges$badge.item_level_5.desc=Acquire an item of level 15 or higher
badges$badge.victory.title=Victory!
badges$badge.victory.desc=Obtain the Amulet of Yendor
badges$badge.victory_all_classes.title=Master of Many Trades
badges$badge.victory_all_classes.desc=Obtain the Amulet of Yendor with the Warrior, Mage, Rogue & Huntress
badges$badge.mastery_combo.title=Gladiator's Fury
badges$badge.mastery_combo.desc=Reach a 10-hit combo
badges$badge.items_crafted_1.title=Novice Alchemist
badges$badge.items_crafted_1.desc=Craft 5 items via alchemy in one game
badges$badge.items_crafted_2.title=Adept Alchemist
badges$badge.items_crafted_2.desc=Craft 10 items via alchemy in one game
badges$badge.items_crafted_3.title=Expert Alchemist
badges$badge.items_crafted_3.desc=Craft 15 items via alchemy in one game
badges$badge.items_crafted_4.title=Master Alchemist
badges$badge.items_crafted_4.desc=Craft 20 items via alchemy in one game
badges$badge.items_crafted_5.title=Grandmaster Alchemist
badges$badge.items_crafted_5.desc=Craft 25 items via alchemy in one game
badges$badge.no_monsters_slain.title=Pacifist
badges$badge.no_monsters_slain.desc=Complete a Floor without defeating any enemies
badges$badge.grim_weapon.title=Grim Reaper
badges$badge.grim_weapon.desc=Defeat an enemy with a Grim weapon
badges$badge.piranhas.title=Unconventional Angler
badges$badge.piranhas.desc=Kill 6 piranhas in one game
badges$badge.games_played_1.title=Novice Dungeoneer
badges$badge.games_played_1.desc=Play 10 games or win 1 game
badges$badge.games_played_2.title=Adept Dungeoneer
badges$badge.games_played_2.desc=Play 50 games or win 5 games
badges$badge.games_played_3.title=Expert Dungeoneer
badges$badge.games_played_3.desc=Play 100 games or win 10 games
badges$badge.games_played_4.title=Master Dungeoneer
badges$badge.games_played_4.desc=Play 250 games or win 25 games
badges$badge.games_played_5.title=Grandmaster Dungeoneer
badges$badge.games_played_5.desc=Play 1000 games or win 100 games
badges$badge.happy_end.title=Happy Ending
badges$badge.happy_end.desc=Take the Amulet of Yendor to the surface
badges$badge.champion_1.title=Bronze Champion
badges$badge.champion_1.desc=Beat the game with 1 or more challenges enabled
badges$badge.champion_2.title=Silver Champion
badges$badge.champion_2.desc=Beat the game with 3 or more challenges enabled
badges$badge.champion_3.title=Golden Champion
badges$badge.champion_3.desc=Beat the game with 6 or more challenges enabled
badges$badge.unlock_mage.title=Mage Unlocked!
badges$badge.unlock_mage.desc=Unlock the Mage by using a scroll of upgrade
badges$badge.unlock_rogue.title=Rogue Unlocked!
badges$badge.unlock_rogue.desc=Unlock the Rogue by performing 10 surprise attacks in one game
badges$badge.unlock_huntress.title=Huntress Unlocked!
badges$badge.unlock_huntress.desc=Unlock the Huntress by attacking 10 enemies with thrown weapons in one game
badges.new_super=New super badge: %s
badges.new=New badge: %s
badges$badge.monsters_slain_1=10 enemies slain
badges$badge.monsters_slain_2=50 enemies slain
badges$badge.monsters_slain_3=150 enemies slain
badges$badge.monsters_slain_4=250 enemies slain
badges$badge.gold_collected_1=100 gold collected
badges$badge.gold_collected_2=500 gold collected
badges$badge.gold_collected_3=2500 gold collected
badges$badge.gold_collected_4=7500 gold collected
badges$badge.level_reached_1=Level 6 reached
badges$badge.level_reached_2=Level 12 reached
badges$badge.level_reached_3=Level 18 reached
badges$badge.level_reached_4=Level 24 reached
badges$badge.all_weapons_identified=All weapons identified
badges$badge.all_armor_identified=All armor identified
badges$badge.all_wands_identified=All wands identified
badges$badge.all_rings_identified=All rings identified
badges$badge.all_artifacts_identified=All artifacts identified
badges$badge.all_potions_identified=All potions identified
badges$badge.all_scrolls_identified=All scrolls identified
badges$badge.all_items_identified=All items identified
badges$badge.all_bags_bought=All bags bought
badges$badge.death_from_fire=Death from fire
badges$badge.death_from_poison=Death from poison
badges$badge.death_from_gas=Death from toxic gas
badges$badge.death_from_hunger=Death from hunger
badges$badge.death_from_glyph=Death from deferred damage
badges$badge.death_from_falling=Death from falling down
badges$badge.yasd=Death from fire, poison, toxic gas, hunger, glyph, and falling
badges$badge.boss_slain_1=1st boss slain
badges$badge.boss_slain_2=2nd boss slain
badges$badge.boss_slain_3=3rd boss slain
badges$badge.boss_slain_4=4th boss slain
badges$badge.boss_slain_1_all_classes=1st boss slain by Warrior, Mage, Rogue & Huntress
badges$badge.boss_slain_3_all_subclasses=3rd boss slain by Gladiator, Berserker, Warlock, Battlemage, Freerunner, Assassin, Sniper & Warden
badges$badge.strength_attained_1=13 points of Strength attained
badges$badge.strength_attained_2=15 points of Strength attained
badges$badge.strength_attained_3=17 points of Strength attained
badges$badge.strength_attained_4=19 points of Strength attained
badges$badge.food_eaten_1=10 pieces of food eaten
badges$badge.food_eaten_2=20 pieces of food eaten
badges$badge.food_eaten_3=30 pieces of food eaten
badges$badge.food_eaten_4=40 pieces of food eaten
badges$badge.item_level_1=Item of level 3 acquired
badges$badge.item_level_2=Item of level 6 acquired
badges$badge.item_level_3=Item of level 9 acquired
badges$badge.item_level_4=Item of level 12 acquired
badges$badge.victory=Amulet of Yendor obtained
badges$badge.victory_all_classes=Amulet of Yendor obtained by Warrior, Mage, Rogue & Huntress
badges$badge.mastery_combo=10-hit combo
badges$badge.potions_cooked_1=3 potions cooked
badges$badge.potions_cooked_2=6 potions cooked
badges$badge.potions_cooked_3=9 potions cooked
badges$badge.potions_cooked_4=12 potions cooked
badges$badge.no_monsters_slain=Level completed without killing any monsters
badges$badge.grim_weapon=Monster killed by a Grim weapon
badges$badge.piranhas=6 piranhas killed
badges$badge.games_played_1=10 games played
badges$badge.games_played_2=50 games played
badges$badge.games_played_3=250 games played
badges$badge.games_played_4=1000 games played
badges$badge.happy_end=Happy end
badges$badge.champion_1=Won with a Challenge
badges$badge.champion_2=Won with 3 Challenges
badges$badge.champion_3=Won with 6 Challenges
badges$badge.unlock_mage=Unlocked the Mage
badges$badge.unlock_rogue=Unlocked the Rogue
badges$badge.unlock_huntress=Unlocked the Huntress
challenges.no_food=On diet
challenges.no_food_desc=Food's already scarce, but you have to watch your portions as well!\n\n- Food and the horn of plenty are one third as effective at satisfying hunger\n- Other sources of satiety are unaffected
@ -164,19 +82,46 @@ challenges.swarm_intelligence_desc=Watch out, the dungeon monsters are getting s
challenges.darkness=Into darkness
challenges.darkness_desc=It is a dungeon after all!\n\n- Regular visible distance dramatically reduced\n- A torch appears on each floor\n- Light buff lasts for less time
challenges.no_scrolls=Forbidden runes
challenges.no_scrolls_desc=A certain rune is harder to find. Unfortunately, it's always the most useful one.\n\n- Half of the dungeon's upgrade scrolls are removed
challenges.champion_enemies=Hostile champions
challenges.champion_enemies_desc=You're not the only one who can level up!\n\n- Regular enemies have a 1/8 chance to spawn with a special champion buff.\n- Champions wake up if they spawn asleep\n- The hero knows when a champion spawns\n- Champions are immune to corruption\n\nThere are six types of champion enemy:\n_Blazing (orange):_ +25% melee damage, ignites on hit, immune to fire, spreads flames on death\n_Projecting (purple):_ +25% melee damage, can attack anything they see\n_Antimagic (green):_ -25% damage taken, immune to magical effects\n_Giant (blue):_ -75% damage taken, +1 melee range, cannot move into tunnels\n_Blessed (yellow):_ +200% accuracy, +200% evasion\n_Growing (red):_ +20% accuracy, evasion, damage, and effective HP. Increases by 1% every 3 turns.
challenges.stronger_bosses=Badder bosses
challenges.stronger_bosses_desc=Bosses are much tougher with this challenge!\n\n_Goo:_ +20% health\n_-_ Healing in water ramps up, to 3/turn\n_-_ Pumps up in 1 turn instead of 2\n_Tengu:_ +25% health\n_-_ Phase 1: traps are much deadlier\n_-_ Phase 2: abilities are more frequent\n_DM-300:_ +33% health\n_-_ Pylons are tougher and 3 activate\n_-_ Abilities are more powerful and frequent\n_-_ DM-300 is faster when supercharged\n_-_ Exposed wires are twice as common\n_Dwarf King:_ +50% health\n_-_ Minions are stronger in all phases\n_-_ Phase 1: faster abilities and summons\n_-_ Phase 2: 2 more minions per round\n_-_ Phase 3: 2x health, faster summons\n_Yog-Dzewa:_\n_-_ Two fists are summoned at a time!\n_-_ +60% laser damage\n_-_ Stronger minions
challenges.no_scrolls_desc=A certain rune is harder to find. Unfortunately, it's always the most useful one.\n\n- Half of the dungeon's upgrades scrolls are removed
challenges.champion_enemies=_Hostile champions_
challenges.champion_enemies_desc=You're not the only one who can level up!\n\n- Regular enemies have a 1/8 chance to spawn with a special champion buff.\n- Champions wake up if they spawn asleep\n- The hero knows when a champion spawns\n- Champions are immune to corruption\n\nThere are seven types of champion enemy:\n_Blazing (orange):_ +25% melee damage, ignites on hit, immune to fire, spreads flames on death\n_Projecting (purple):_ +25% melee damage, can attack anything they see\n_Antimagic (green):_ -25% damage taken, immune to magical effects\n_Giant (blue):_ -75% damage taken, +1 melee range, cannot move into tunnels\n_Blessed (yellow):_ +200% accuracy, +200% evasion\n_Growing (red):_ +20% accuracy, evasion, damage, and effective HP. Increases by 1% every 3 turns.\n_Ghost Ling (Sky Blue): _ Melee damage +65% with Phosphorus Fire effect, immune to fire and Phosphorus Fire, ignites the surrounding area upon death.
rankings$record.something=Killed by Something
challenges.light&black =_Light & Shadow_
challenges.light&black_desc=\n_ Stepping into the dungeon again and again will only make yourself more eroded by vicious magic. _This time, you don't know when you will come to this dungeon again, but the evil and eerie atmosphere blows your face. A mysterious man has given you a lantern. You don't know when you'll be engulfed by the magic here. \n\nOpen this challenge, you will get a special Sanity Buff at the beginning, and a new item _Lantern_ will be added. The spiritual power of the lantern needs to be obtained by the player defeating the enemy. \n\n_Only in the light can you live. Otherwise, you will be devoured by darkness, lose your mind a little bit, and become a monster. _\n\nOnce your sanity is too low, special monsters and debuffs will appear. Sanity of 0 will immediately die and become a monster. If there is a cross, it will be resurrected and restore 100 sanity, but all your last things will be on the monster whose sanity became 0 last time. \n\n_It is an echo of your past life. Defeat it, take back its power, and make yourself whole again. _\n\n_Completing the Light and Shadow Challenge will add a mysterious character to level 0...and unlock new items and weapons!_\n\nOpening this challenge will give you 240 Sanity at the start, under _without light_ and _Melee combat of some monsters_ will reduce your Sanity. See the table below for details:\n\n- Brown Rat: 20% chance (-1 Sanity/round)\n- Black Wraith: 10% chance (-3 Sanity/round)\n- Torch Hunter: 40% Chance (-1 Sanity/per turn)\n- Dwarf Warlock: 15% chance (-5 Sanity/per turn)\n- Ice Rat: 25% chance (-2 Sanity/per turn)\n-DM200:10 % chance (-7 sanity/per turn)\n-dwarven monk: 30% chance (-3 sanity/per turn)\n\n_environmental sanity deduction_:\n-without light buff\n :\n\n_Sanity recovery strategy_:\n-_1_: When there is light, use: [(+1 Sanity + Floor Depth/10)/each turn] (Example: When there is no light on the 20th floor, 1 +20/10=3 (+3 wisdom/round)\n-_2_. Merchants sell potions of faith, drink it to add 40 rounds of sanity\n-_3_. Defeating the enemy can get the enemy's soul, and if the soul reaches a certain amount, you can make a lantern Can light up the road again. Soul can also slowly restore sanity. (50 soul = 1 sanity recovery)
badges$badge.kill_red=Defeat the RedNer
badges$badge.kill_rotheart=Eradicate Rotberry Heart
badges$badge.kill_coldele=Cold of the New Fire Elemental
badges$badge.get_sc=Purge the Root of Wrath\nGive the dust to the old sticksmith
badges$badge.godd_make=The old man and the sea\nComplete all the tasks of the old stickmaker in total
badges$badge.death_good=Death Good - Exhausted Free Resurrects in Fragmentation
badges$badge.halofire_died=Died in Phosphorus Fire
badges$badge.champion_4=Open 9 challenges to clear\n\nYour prestige is very noble!
badges$badge.champion_5=All challenges? !\n\nCan you save her?
badges$badge.rlpt=_Rand Broken Conqueror_\n\nStart the challenge and defeat the Yog God
badges$badge.sbdjs=Storm Rain\n\nYou passed it successfully to leave, but you don't know, the storm is coming outside\n\nThe crystal heart is still shining in your hand, maybe, this is not over yet !
badges$badge.kill_mg=Defeat the Ice Witch
badges$badge.kill_slmking=Kill prince slime
badges$badge.big_x=Giant's Death\n\nThe Mutant Behemoth is on! You have overcome many difficulties! ! !
badges$badge.kill_dm720= Kill DM720
dlc.bossrush=Boss Rush
dlc.bossrush_desc=The bosses who have been defeated by you many times are familiar with the hero's skills and have mastered certain countermeasures. They are entrenched in dungeons, waiting for their revenge. \nYou don't know what kind of crisis will be dealt with this time. \nBut you feel that this adventure is definitely different from other times. \nThe Fragmentation and Reduction Diet will not be able to be generated and used when this challenge is opened.
challenges.aquaphobia=_Sludge water_
challenges.aquaphobia_desc=The water has been polluted by the city above__, now you are _blinded_ and _crippled_ when you touch it. \nAt the same time, you can start to get _10 quicklime ideal reagents_! _
actors.char.aquaphobia=You are hurt by water!
challenges.pro=_Developer mode_
challenges.pro_desc=Annotated version? \nStarting with _almost all items_! At the same time, you will not be able to pass the level!
challenges.traditional = Vanilla Mode - T1
challenges.hard = Valhalla Mode - T2
challenges.warning = Danger Mode - T3
challenges.test = Debug - Mod
challenges.custom = Custom - Mod
challenges.dhxd =_Candle Fire Road_
challenges.dhxd_desc= Lights guide the way forward. Lanterns lead the way. Lights lead the way! [This is a special mechanism for you must open more than 3 Challenges that than work, but you can also open it directly!]
challenges.rlpt = Fragmented
challenges.rlpt_desc=The magic of the dungeon is eroding this place, and reality is nothing but a nightmare. \n\nAfter defeating the boss on the fifth floor, all floors and monsters will be random! ! ! \n\nSpecial Instructions: The Rogue opening cloak is replaced with 5 invisibility potions. \n\nEnable this challenge, you can get 3 free resurrection chances.
challenges.sbsg = Mutant Behemoth
challenges.sbsg_desc=Humans recall the fear of being dominated by giants\n- All creatures mutate hormones to become larger, but some become smaller due to some other adverse effect. \n- The size of the creature determines their movement speed, defense, evasion and melee damage. \n- Your extreme hunger will also become more deadly.
challenges.stronger_bosses=Badder bosses
challenges.stronger_bosses_desc=Bosses are much tougher with this challenge!\n\n_Goo:_ +20% health\n_-_ Healing in water ramps up, to 3/turn\n_-_ Pumps up in 1 turn instead of 2\n_Tengu:_ +25% health\n_-_ Phase 1: traps are much deadlier\n_-_ Phase 2: abilities are more frequent\n_DM-300:_ +33% health\n_-_ Pylons are tougher and 3 activate\n_-_ Abilities are more powerful and frequent\n_-_ DM-300 is faster when supercharged\n_-_ Exposed wires are twice as common\n_Dwarf King:_ +50% health\n_-_ Minions are stronger in all phases\n_-_ Phase 1: faster abilities and summons\n_-_ Phase 2: 2 more minions per round\n_-_ Phase 3: 2x health, faster summons\n_Yog-Dzewa:_\n_-_ Two fists are summoned at a time!\n_-_ +60% laser damage\n_-_ Stronger minions
dlc.back_go=Back Go
dlc.back_go_desc=A reverse adventure, can you get out of here? The 5 fixed bosses appear on the final floor.
challenges.exsg = Potion Illness
challenges.exsg_desc=Potion Illness Rules?\n-PotionOfStrength Strength:-1\n-PotionOfMindVision NoEye:5 Round\n-Stealth potion roars immediately after drinking\n-Bleed for 6 rounds immediately after drinking the experience medicine\n-After drinking the super fast potion, you will be cripple for 8 rounds immediately\n==========================\nGet 8 rounds of extreme speed immediately after eating small rations\n Upgrade immediately after eating stew \n Get an arcane shield after eating frozen raw meat\n Get 8 rounds of extreme speed and+1 strength immediately after eating whole meat pancake \n Don't know why, most good potions are poisonous! \n Some potions are completely in DeBuff, but the food will be very useful!

View File

@ -1,5 +1,12 @@
#scenes.aboutscene.=
windows.wndsettings$extendtab.splash_screen=Splash Scenes
windows.wndsettings$extendtab.disable=Disable
windows.wndsettings$extendtab.full=Open
windows.wndsettings$helptab.title=Help Setting
windows.wndsettings$helptab.helpsettings=Enable Item Generation Querier
scenes.alchemyscene.title=Alchemy
scenes.alchemyscene.text=Combine ingredients to create something new!
scenes.alchemyscene.select=Select an item
@ -63,7 +70,7 @@ scenes.introscene.text=Many heroes have ventured into the dungeon before you fro
scenes.newsscene.title=Game News
scenes.newsscene.read_more=Read More
scenes.newsscene$newsinfo.english_warn=News posts are written by the developer and are only available in English.
scenes.newsscene$newsinfo.english_warn=News posts are written by the developer and are only available in Chinese.
scenes.newsscene$newsinfo.metered_network=Couldn't check for news posts, as you're connected to a metered network, such as mobile data.
scenes.newsscene$newsinfo.enable_data=Check on Mobile Data
scenes.newsscene$newsinfo.no_internet=Couldn't check for news posts, make sure you're connected to the internet.
@ -96,7 +103,7 @@ scenes.titlescene.update=Update
scenes.titlescene.install=Install
scenes.titlescene.settings=Settings
scenes.titlescene.about=About
scenes.titlescene.support=Support the Game
scenes.titlescene.support=Thanks
scenes.titlescene$changesbutton.title=An Update is Available!
scenes.titlescene$changesbutton.versioned_title=Update Available: %s
scenes.titlescene$changesbutton.desc=Shattered Pixel Dungeon is regularly updated with overhauls to existing game content, or entirely new content!\n\nGame balance is also frequently improved in game updates, so that specific items/heroes/enemies aren't too strong or too weak.\n\nUpdates also include fixes for bugs and other various stability improvements.

View File

@ -476,4 +476,6 @@ ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x33=-P2.6\n1.修复了感知符石鉴
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x34=-P2.7\n1.修复了火焰特效遗留问题\n2.修复了炖肉不回复饱食度的问题\n3.修复部分逻辑错误
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x35=-P2.875\n1.修复了回溯之书的快捷使用错误\n2.修复了自定义名称的缓存问题\n3.删除不必要的赘余代码\n4.元素风暴现在可以工作但特效有一些Bug,因此视觉效果不会出现\n5.删除WIP的东西\n6.英雄选择界面优化
//ui.changelist.mlpd.vm0_5_x_changes.xxx//

View File

@ -49,7 +49,7 @@ windows.wndstartgame.hard=难度选择
windows.wndstartgame.news=章节选择
windows.wndstartgame.seedtitle=命名终端
windows.wndstartgame.custom_name=自定义名字
windows.wndstartgame.custom_name_desc=输入你需要的自定义名字,最多可以输入20字符\n\n自定义名字规则激活后图标会显示为卷轴标志,此时进入游戏后方可生效。\n\n自定义名字将完全独立\n\n[温馨提示:预览仅显示最后一次自定义名字]\n\n自定义名称预览_
windows.wndstartgame.custom_name_desc=输入你需要的自定义名字,最多可以输入20字符\n\n自定义名字规则激活后图标会显示为卷轴标志,此时进入游戏后方可生效。\n\n自定义名字将完全独立\n\n[温馨提示:预览仅显示最后一次自定义名字]\n\n最后一次编辑的自定义名称预览_
windows.wndstartgame.custom_name_set=接受
windows.wndstartgame.custom_name_clear=清空

View File

@ -1,4 +1,39 @@
#MLPD
windows.wndsettings$extendtab.quickslots=Quickslots Setting
windows.wndsettings$extendtab.wxts=Tips: Adjust the shortcut bar after entering the game
windows.wndsettings$extendtab.title=Extend Setting
windows.wndsettings$extendtab.dark_ui=Classic Interface
windows.wndsettings$extendtab.pc_ui=Experimental Function (Application PC interface)
windows.pagewindows$pagewindowstab.title=Left Quickslot Setting
windows.pagewindows$pagewindowstab.page_ui=Display Quickslot
windows.bosssettingwindows.title = Extends Boss
windows.bosssettingwindows.boss_1 = Kill Slime King
windows.bosssettingwindows.boss_2 = Kill Dimand Mimic King
windows.bosssettingwindows.boss_3 = Kill IceSnow MagicGirl
windows.bosssettingwindows.boss_4 = Kill Dwarf Master
windows.bosssettingwindows.boss_5 = Kill Yog-Zot
windows.bosssettingwindows.dm300=DM-300
windows.bosssettingwindows.ice=IceGirl
windows.textchallenges.seed_custom_title = Seed
windows.textchallenges.hint = No Input is Random seed
windows.textchallenges.delete_seed_input = Clear
windows.wndstartgame.title=Choose Your Hero
windows.wndstartgame.start=Start Game
windows.wndinfomob.dsinfo = dodge:
windows.wndinfomob.maxinfo = lootcelimit:
windows.wndinfomob.getexp = lastdmg:
windows.wndinfomob.getspeed = speed:
windows.wndinfomob.itm = lootce:
windows.wndinfomob.shield= drRoll:
windows.wndreddragon.gnollshied_title=Defeat the Elder Gnoll Refining Medicine
windows.wndreddragon.skullgnoll_title=Defeat the Elder Jackal

Binary file not shown.

Before

Width:  |  Height:  |  Size: 508 KiB

View File

@ -301,7 +301,6 @@ public class Assets {
public static final String HUNTRESS = "sprites/huntress.png";
public static final String COMINGSOON = "sprites/slimekingch.png";
public static final String AVATARS = "sprites/avatars.png";
public static final String PET = "sprites/pet.png";
public static final String AMULET = "sprites/amulet.png";
public static final String JAMULET = "sprites/jamulet.png";
public static final String COLDRAT = "sprites/coldrat.png";

View File

@ -57,9 +57,9 @@ public class Challenges {
public static final int PRO = 16384;
public static final int BUG = 32768;
// public static final int BUG = 32768;
public static final int MAX_VALUE = 65536;
public static final int MAX_VALUE = 32768;
public static final String[] NAME_IDS = {
"no_food",
@ -77,12 +77,11 @@ public class Challenges {
"stronger_bosses",
"dhxd",
"pro",
"bug",
};
public static final int[] MASKS = {
NO_FOOD, NO_ARMOR, NO_HEALING, NO_HERBALISM, SWARM_INTELLIGENCE, DARKNESS, NO_SCROLLS
, AQUAPHOBIA, CHAMPION_ENEMIES,RLPT,SBSG,EXSG,STRONGER_BOSSES,DHXD,PRO,BUG,
, AQUAPHOBIA, CHAMPION_ENEMIES,RLPT,SBSG,EXSG,STRONGER_BOSSES,DHXD,PRO,
};
public String name;

View File

@ -22,12 +22,10 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.hero;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.AQUAPHOBIA;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.BUG;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.DHXD;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.PRO;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import static com.shatteredpixel.shatteredpixeldungeon.SPDSettings.HelpSettings;
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.bugsyncfixed;
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.lanterfireactive;
import static com.shatteredpixel.shatteredpixeldungeon.levels.Level.set;
@ -137,7 +135,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.lightblack.OilLantern;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfExperience;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLightningShiledX;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfMight;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfDivineInspiration;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy;
@ -930,11 +927,11 @@ public class Hero extends Char {
//TODO 获取三个挑战的枚举后则超过或等于3挑战以激活挑战在英雄移动的时候
//
//todo 移动时修复了BUG
if(Dungeon.isChallenged(BUG) && !bugsyncfixed){
new PotionOfLightningShiledX().quantity(3).identify().collect();
bugsyncfixed = true;
}
// //todo 移动时修复了BUG
// if(Dungeon.isChallenged(BUG) && !bugsyncfixed){
// new PotionOfLightningShiledX().quantity(3).identify().collect();
// bugsyncfixed = true;
// }
if(chCount >= 3 && !lanterfireactive && !Dungeon.isChallenged(PRO) || Dungeon.isChallenged(DHXD) && !lanterfireactive){
//TODO 灯火前行

View File

@ -21,8 +21,6 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.hero;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.BUG;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
@ -50,12 +48,13 @@ import com.shatteredpixel.shatteredpixeldungeon.custom.testmode.MobPlacer;
import com.shatteredpixel.shatteredpixeldungeon.items.Ankh;
import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.KingsCrown;
import com.shatteredpixel.shatteredpixeldungeon.items.TengusMask;
import com.shatteredpixel.shatteredpixeldungeon.items.Waterskin;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.ChaliceOfBlood;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CloakOfShadows;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.GoldIron;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.MasterThievesArmband;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TalismanOfForesight;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.BookBag;
@ -120,7 +119,6 @@ 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;
@ -138,9 +136,9 @@ public enum HeroClass {
WARRIOR( HeroSubClass.BERSERKER, HeroSubClass.GLADIATOR ),
MAGE( HeroSubClass.BATTLEMAGE, HeroSubClass.WARLOCK ),
ROGUE( HeroSubClass.ASSASSIN, HeroSubClass.FREERUNNER ),
HUNTRESS( HeroSubClass.SNIPER, HeroSubClass.WARDEN ),
HUNTRESS( HeroSubClass.SNIPER, HeroSubClass.WARDEN );
COMINGSOON( HeroSubClass.SNIPER, HeroSubClass.WARDEN );
// COMINGSOON( HeroSubClass.SNIPER, HeroSubClass.WARDEN );
private HeroSubClass[] subClasses;
@ -183,8 +181,8 @@ 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 TengusMask().quantity(1).identify().collect();
new KingsCrown().quantity(1).identify().collect();
new ScrollOfIdentify().quantity(45).identify().collect();
new ScrollOfTransmutation().quantity(45).identify().collect();
new BeaconOfReturning().quantity(11).identify().collect();
@ -265,9 +263,9 @@ public enum HeroClass {
i = new Food();
//todo 不存在BUG挑战才给予
if(!Dungeon.isChallenged(BUG)) {
new PotionOfLightningShiledX().quantity(3).identify().collect();
}
// if(!Dungeon.isChallenged(BUG)) {
// new PotionOfLightningShiledX().quantity(3).identify().collect();
// }
new HerbBag().quantity(1).identify().collect();
new PotionOfHealing().quantity(3).identify().collect();
@ -433,8 +431,8 @@ public enum HeroClass {
return Assets.Sprites.ROGUE;
case HUNTRESS:
return Assets.Sprites.HUNTRESS;
case COMINGSOON:
return Assets.Sprites.COMINGSOON;
// case COMINGSOON:
// return Assets.Sprites.COMINGSOON;
}
}
@ -449,8 +447,8 @@ public enum HeroClass {
return Assets.Sprites.ROGUE;
case HUNTRESS:
return Assets.Sprites.HUNTRESS;
case COMINGSOON:
return Assets.Sprites.COMINGSOON;
// case COMINGSOON:
// return Assets.Sprites.COMINGSOON;
}
}
@ -514,8 +512,8 @@ public enum HeroClass {
return true;
case HUNTRESS:
return true;
case COMINGSOON:
return false;
// case COMINGSOON:
// return false;
//敬请期待
}
}
@ -530,8 +528,8 @@ public enum HeroClass {
return Messages.get(HeroClass.class, "rogue_unlock");
case HUNTRESS:
return Messages.get(HeroClass.class, "huntress_unlock");
case COMINGSOON:
return Messages.get(HeroClass.class, "slime_unlock");
// case COMINGSOON:
// return Messages.get(HeroClass.class, "slime_unlock");
}
}

View File

@ -128,9 +128,9 @@ public class ElementalBlast extends ArmorAbility {
damageFactors.put(WandOfRegrowth.class, 0f);
//TODO FIXED 将要修复的
damageFactors.put(WandOfScale.class, 0f);
damageFactors.put(WandOfGodIce.class, 0f);
damageFactors.put(WandOfBlueFuck.class, 0f);
damageFactors.put(WandOfScale.class, 1f);
damageFactors.put(WandOfGodIce.class, 1f);
damageFactors.put(WandOfBlueFuck.class, 1f);
}
{
@ -167,7 +167,7 @@ public class ElementalBlast extends ArmorAbility {
projectileProps = Ballistica.STOP_TARGET;
//*** Wand of Fireblast ***
} else if (wandCls == WandOfFireblast.class){
} else if (wandCls == WandOfFireblast.class||wandCls == WandOfGodIce.class||wandCls == WandOfScale.class||wandCls == WandOfBlueFuck.class){
projectileProps = projectileProps | Ballistica.IGNORE_SOFT_SOLID;
//*** Wand of Warding ***

View File

@ -53,6 +53,8 @@ import com.watabou.utils.Callback;
import com.watabou.utils.PathFinder;
import com.watabou.utils.Random;
import java.util.ArrayList;
public class SlimeKing extends Boss {
private final String[] attackCurse = {"雕虫小技", "班门弄斧",
@ -65,6 +67,36 @@ public class SlimeKing extends Boss {
private static final String partcold = "partcold";
private static final String chainsused = "chainsused";
@Override
public int defenseProc( Char enemy, int damage ) {
if (HP >= damage + 2) {
ArrayList<Integer> candidates = new ArrayList<>();
int[] neighbours = {pos + 1, pos - 1, pos + Dungeon.level.width(), pos - Dungeon.level.width()};
for (int n : neighbours) {
if (!Dungeon.level.solid[n] && Actor.findChar( n ) == null
&& (!properties().contains(Property.LARGE) || Dungeon.level.openSpace[n])) {
candidates.add( n );
}
}
if (candidates.size() > 0 && HP < 60 && Random.Float() < 0.45f) {
CausticSlime mini = new CausticSlime();
mini.pos = this.pos;
mini.state = mini.HUNTING;
mini.HP /= 4;
mini.maxLvl = -5;
Dungeon.level.occupyCell(mini);
GameScene.add( mini , 0f );
Actor.addDelayed( new Pushing( mini, pos, mini.pos ), -1 );
}
}
return super.defenseProc(enemy, damage);
}
@Override
public void storeInBundle(Bundle bundle) {
super.storeInBundle(bundle);
@ -270,6 +302,7 @@ public class SlimeKing extends Boss {
// BossHealthBar.assignBoss(this);
Music.INSTANCE.play(Assets.BGM_BOSSA, true);
yell( Messages.get(this, "notice") );
chainsUsed = false;
//summon();
}

View File

@ -45,7 +45,7 @@ import java.util.ArrayList;
public class BackGoKey extends TestItem {
{
image = ItemSpriteSheet.DG20;
defaultAction = AC_INTER_TP;
// defaultAction = Dungeon.hero.buff(ShopLimitLock.class) != null? AC_INTER_TP : null ;
changeDefAct = true;
}

View File

@ -29,13 +29,13 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.HalomethaneFire;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.HalomethaneBurning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
import com.shatteredpixel.shatteredpixeldungeon.items.Stylus;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlameX;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfFlameCursed;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Blazing;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.HaloBlazing;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
@ -131,7 +131,7 @@ public class WandOfBlueFuck extends DamageWand {
processSoulMark(ch, chargesPerCast());
ch.damage(damageRoll(), this);
if (ch.isAlive()) {
Buff.affect(ch, Burning.class).reignite(ch);
Buff.affect(ch, HalomethaneBurning.class).reignite(ch);
switch (chargesPerCast()) {
case 1:
break; //no effects
@ -149,7 +149,7 @@ public class WandOfBlueFuck extends DamageWand {
@Override
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
//acts like blazing enchantment
new Blazing().proc( staff, attacker, defender, damage);
new HaloBlazing().proc( staff, attacker, defender, damage);
}
@Override

View File

@ -5,7 +5,6 @@ import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Chill;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
@ -14,6 +13,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.RainbowParticle;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Lucky;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
@ -128,8 +128,7 @@ public class WandOfGodIce extends DamageWand {
@Override
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
//cripples enemy
Buff.affect(defender, Bleeding.class).set( 4+staff.buffedLvl());
new Lucky().proc( staff, attacker, defender, damage);
}
@Override

View File

@ -6,6 +6,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.StormCloud;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
@ -14,7 +15,6 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfMysticalEnergy;
import com.shatteredpixel.shatteredpixeldungeon.items.spells.AquaBlast;
import com.shatteredpixel.shatteredpixeldungeon.items.spells.MagicalInfusion;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Lucky;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.ConeAOE;
@ -90,7 +90,8 @@ public class WandOfScale extends DamageWand {
@Override
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
//acts like blazing enchantment
new Lucky().proc( staff, attacker, defender, damage);
Buff.affect(defender, Bleeding.class).set( 4+staff.buffedLvl());
}
@Override

View File

@ -85,7 +85,7 @@ public class NewsScene extends PixelScene {
float top = 18;
displayingNoArticles = !News.articlesAvailable();
if (displayingNoArticles || Messages.lang() != Languages.ENGLISH) {
if (displayingNoArticles || Messages.lang() != Languages.CHINESE) {
Component newsInfo = new NewsInfo();
newsInfo.setRect(left, 20, fullWidth, 0);
@ -186,7 +186,7 @@ public class NewsScene extends PixelScene {
String message = "";
if (Messages.lang() != Languages.ENGLISH){
if (Messages.lang() != Languages.CHINESE){
message += Messages.get(this, "english_warn");
}
@ -270,7 +270,7 @@ public class NewsScene extends PixelScene {
icon(News.parseArticleIcon(article));
long lastRead = SPDSettings.newsLastRead();
if (lastRead > 0 && article.date.getTime() > lastRead) {
textColor(Window.SHPX_COLOR);
textColor(Window.TITLE_COLOR);
}
Calendar cal = Calendar.getInstance();

View File

@ -155,8 +155,8 @@ public class ThanksScene extends PixelScene {
"Tianscar",
new TianscarSprite(),
"Main Dev:Carbonized Pixel Dungeon",
"加入碳化总群",
"https://jq.qq.com/?_wv=1027&k=6jAlnlNL");
"",
"");
if (landscape()){
evan.setRect((Camera.main.width - colWidth)/2f-10, reddragon.bottom() + 8, colWidth+20, 0);
} else {

View File

@ -363,8 +363,8 @@ public enum Icons {
return get( ROGUE );
case HUNTRESS:
return get( HUNTRESS );
case COMINGSOON:
return get( HUNTRESS );
// case COMINGSOON:
// return get( HUNTRESS );
default:
return null;
}

View File

@ -35,6 +35,7 @@ import java.util.ArrayList;
public class vM0_6_7_X_Changes {
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
add_v0_6_17_Changes(changeInfos);
add_v0_6_16_Changes(changeInfos);
add_v0_6_15_Changes(changeInfos);
add_v0_6_14_Changes(changeInfos);
@ -54,6 +55,30 @@ public class vM0_6_7_X_Changes {
add_v0_6_0_Changes(changeInfos);
}
public static void add_v0_6_17_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.0.0-Beta21-p2.875", 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 SlimeKingSprite(), ("史莱姆王"),
("追加三阶段,在近战攻击情况下生成蚀化史莱姆,但生成的蚀化史莱姆血量将/4" )));
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_06X35")));
changes.addButton(new ChangeButton(Icons.get(Icons.NEWS), ("小道消息"),
("OM9已经在Discord宣传此版本但英文翻译目前没有因此国际化需要招人。当然我们会在P3正式开始英化工作")));
}
public static void add_v0_6_16_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.0.0-Beta21-p2.85", true, "");
changes.hardlight(Window.TITLE_COLOR);

View File

@ -95,7 +95,7 @@ public class WndChallenges extends Window {
final int warning_mode =9;
final int custom_mode = 13;
final int Test_Debug = 14;
final int fixed_mode = 15;
boolean isCustom = false;
float pos = 0;
@ -103,7 +103,7 @@ public class WndChallenges extends Window {
final String challenge = Challenges.NAME_IDS[i];
if(i==normal_mode || i==hard_mode || i==warning_mode|| i==custom_mode || i==fixed_mode || i==Test_Debug){
if(i==normal_mode || i==hard_mode || i==warning_mode|| i==custom_mode || i==Test_Debug){
RenderedTextBlock block = PixelScene.renderTextBlock(10);
switch (i){
case normal_mode:
@ -126,10 +126,6 @@ public class WndChallenges extends Window {
block.text(Messages.get(Challenges.class, "test"));
block.hardlight(0xFFFF00);
break;
case fixed_mode:
block.text(Messages.get(Challenges.class, "fixed"));
block.hardlight(Window.CBLACK);
break;
}
block.setPos((WIDTH - block.width()) / 2,
pos + GAP *4);

View File

@ -38,8 +38,6 @@ public class WndInfoMob extends WndTitledMessage {
}
private static class MobTitle extends Component {
private static final int GAP = 2;

View File

@ -37,7 +37,6 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.InterlevelScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.IntroScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.TitleScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.ActionIndicator;
@ -47,7 +46,6 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextBlock;
import com.shatteredpixel.shatteredpixeldungeon.ui.StyledButton;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.utils.DungeonSeed;
import com.watabou.noosa.ColorBlock;
import com.watabou.noosa.Game;
import com.watabou.noosa.Image;
@ -59,22 +57,6 @@ import java.util.ArrayList;
public class WndStartGame extends Window {
public static void showKeyInput(){
Game.runOnRenderThread(() -> ShatteredPixelDungeon.scene().add(new WndTextInput(Messages.get(WndTextInput.class,"enter_key"), Messages.get(WndGame.class,
"dialog_user"), SPDSettings.customSeed(), 10, false, Messages.get(WndTextInput.class,"yes"),
Messages.get(WndTextInput.class,"no")){
@Override
public void onSelect(boolean positive, String text) {
text = DungeonSeed.formatText(text);
if(positive) {
SPDSettings.customSeed(text);
ShatteredPixelDungeon.switchScene(TitleScene.class);
}
}
}));
}
private static final int WIDTH = 120;
private static final int HEIGHT = 160;
@ -95,26 +77,45 @@ public class WndStartGame extends Window {
spacers = new ArrayList<>();
if (DeviceCompat.isDebug() || Badges.isUnlocked(Badges.Badge.VICTORY)){
StyledButton chkSaver = new StyledButton(Chrome.Type.RED_BUTTON, Messages.get(WndStartGame.class,
"mode"), 5){
// StyledButton chkSaver = new StyledButton(Chrome.Type.RED_BUTTON, Messages.get(WndStartGame.class,
// "mode"), 5){
// @Override
// protected void onClick() {
// super.onClick();
// ShatteredPixelDungeon.scene().addToFront(new WndDLC(SPDSettings.dlc(), true) {
// public void onBackPressed() {
// super.onBackPressed();
// icon(new ItemSprite(SPDSettings.dlc() > 0 ? ItemSpriteSheet.DG26 :
// ItemSpriteSheet.DG24));
// }
// } );
// }
//
// };
// chkSaver.active = false;
// chkSaver.alpha(0.5f);
// chkSaver.icon(new ItemSprite(ItemSpriteSheet.DG26, null));
// add( chkSaver );
// buttons.add(chkSaver);
StyledButton hardButton = new StyledButton(Chrome.Type.RED_BUTTON, Messages.get(WndStartGame.class,
"hard"), 5){
@Override
protected void onClick() {
super.onClick();
ShatteredPixelDungeon.scene().addToFront(new WndDLC(SPDSettings.dlc(), true) {
ShatteredPixelDungeon.scene().addToFront(new WndChallenges(SPDSettings.challenges(), true) {
public void onBackPressed() {
super.onBackPressed();
icon(new ItemSprite(SPDSettings.dlc() > 0 ? ItemSpriteSheet.DG26 :
ItemSpriteSheet.DG24));
icon(Icons.get(SPDSettings.challenges() > 0 ? Icons.CHALLENGE_ON : Icons.CHALLENGE_OFF));
}
} );
}
};
chkSaver.active = false;
chkSaver.alpha(0.5f);
chkSaver.icon(new ItemSprite(ItemSpriteSheet.DG26, null));
add( chkSaver );
buttons.add(chkSaver);
hardButton.leftJustify = true;
hardButton.active = false;
hardButton.icon(new ItemSprite(ItemSpriteSheet.ARTIFACT_HOURGLASS, null));
hardButton.alpha(0f);
add(hardButton);
buttons.add(hardButton);
StyledButton nameButton = new StyledButton(Chrome.Type.RED_BUTTON, Messages.get(WndStartGame.class,
"seedtitle"), 5){
@ -122,7 +123,8 @@ public class WndStartGame extends Window {
public void onClick() {
if(Badges.isUnlocked(Badges.Badge.BOSS_SLAIN_1)){
Game.runOnRenderThread(() -> ShatteredPixelDungeon.scene().add(new WndTextInput(Messages.get(WndStartGame.class,"custom_name"),
Messages.get(WndStartGame.class, "custom_name_desc")+SPDSettings.heroName(),null, 20,
Messages.get(WndStartGame.class, "custom_name_desc")+SPDSettings.heroName(),
SPDSettings.heroName(), 20,
false, Messages.get(WndStartGame.class,"custom_name_set"),
Messages.get(WndStartGame.class,"custom_name_clear")){
@Override
@ -152,25 +154,6 @@ public class WndStartGame extends Window {
buttons.add(nameButton);
add(nameButton);
StyledButton hardButton = new StyledButton(Chrome.Type.RED_BUTTON, Messages.get(WndStartGame.class,
"hard"), 5){
@Override
protected void onClick() {
ShatteredPixelDungeon.scene().addToFront(new WndChallenges(SPDSettings.challenges(), true) {
public void onBackPressed() {
super.onBackPressed();
icon(Icons.get(SPDSettings.challenges() > 0 ? Icons.CHALLENGE_ON : Icons.CHALLENGE_OFF));
}
} );
}
};
hardButton.leftJustify = true;
hardButton.active = false;
hardButton.icon(new ItemSprite(ItemSpriteSheet.ARTIFACT_HOURGLASS, null));
hardButton.alpha(0.5f);
add(hardButton);
buttons.add(hardButton);
StyledButton csbutton = new StyledButton(Chrome.Type.RED_BUTTON, Messages.get(WndStartGame.class,
"news"), 5){
@Override
@ -186,7 +169,7 @@ public class WndStartGame extends Window {
csbutton.leftJustify = true;
csbutton.active = false;
csbutton.icon(new ItemSprite(ItemSpriteSheet.ARTIFACT_SPELLBOOK, null));
csbutton.alpha(0.5f);
csbutton.alpha(0f);
add(csbutton);
buttons.add(csbutton);
}
@ -222,6 +205,7 @@ public class WndStartGame extends Window {
this.width = width;
this.height = top+bg.marginBottom()-y-1;
// this.height = top+bg.marginBottom()-y-1;
bg.size(this.width, this.height);
}
@ -413,7 +397,7 @@ public class WndStartGame extends Window {
private IconButton heroMisc;
private IconButton heroSubclass;
private IconButton Telnetsc;
private IconButton infoButton;
private RenderedTextBlock name;
private static final int BTN_SIZE = 20;
@ -501,6 +485,21 @@ public class WndStartGame extends Window {
name = PixelScene.renderTextBlock(12);
add(name);
infoButton = new IconButton(Icons.get(Icons.INFO)){
@Override
protected void onClick() {
super.onClick();
ShatteredPixelDungeon.scene().addToFront(new WndHeroInfo(GamesInProgress.selectedClass));
}
@Override
protected String hoverText() {
return Messages.titleCase(Messages.get(WndKeyBindings.class, "hero_info"));
}
};
infoButton.setSize(21, 21);
add(infoButton);
visible = false;
}
@ -508,16 +507,19 @@ public class WndStartGame extends Window {
protected void layout() {
super.layout();
avatar.x = x-10;
avatar.x = x-12;
avatar.y = y + (height - avatar.height() - name.height() - 4)/2f;
PixelScene.align(avatar);
name.setPos(
x-10 + (avatar.width() - name.width())/2f,
x-2 + (avatar.width() - name.width())/2f,
avatar.y + avatar.height() + 3
);
PixelScene.align(name);
infoButton.setPos(-4,
name.y-15 + name.height());
heroItem.setPos(0 + (name.width()/60f),
name.y + name.height() + 3);