Skip to content

Commit

Permalink
v2.62.0 - 릴리즈 참고
Browse files Browse the repository at this point in the history
  • Loading branch information
Hoto-Mocha committed Jun 21, 2023
1 parent 4b5385b commit 0b45d5b
Show file tree
Hide file tree
Showing 17 changed files with 541 additions and 61 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ allprojects {
ext {
appName = 'ARranged Pixel Dungeon'
appPackageName = 'com.arrangedpixel.arrangedpixeldungeon'
appVersionCode = 731
appVersionName = '2.1.2_based_2.61.0'
appVersionCode = 732
appVersionName = '2.1.2_based_2.62.0'

appJavaCompatibility = JavaVersion.VERSION_1_8

Expand Down
Binary file modified core/src/main/assets/interfaces/icons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 21 additions & 1 deletion core/src/main/assets/messages/misc/misc.properties
Original file line number Diff line number Diff line change
Expand Up @@ -220,4 +220,24 @@ challenges.durability_desc=High-performance equipment is no longer necessarily g
rankings$record.something=Killed by Something
rankings$record.won=Obtained the Amulet of Yendor
rankings$record.ascended=Ascended with the Amulet!
rankings$record.ascended=Ascended with the Amulet!
seedfinder.cursed=cursed
seedfinder.scrolls=scroll
seedfinder.potions=potion
seedfinder.equipment=equipment
seedfinder.rings=ring
seedfinder.artifacts=artifact
seedfinder.wands=wand
seedfinder.for_sales=store
seedfinder.others=misc
seedfinder.sad_ghost_reward=_Sad Ghost's Quest Reward_
seedfinder.wandmaker_need=_Item what Old Wandmaker requires_
seedfinder.wandmaker_reward=_Old Wandmaker's Quest Reward_
seedfinder.imp_reward=_Ambitious Imp's Quest Reward_
seedfinder.seed=The seed
seedfinder.items='s items
seedfinder.floor=Floor
seedfinder.corpsedust=corpse dust
seedfinder.embers=elemental embers
seedfinder.rotberry=seed of rotberry
20 changes: 20 additions & 0 deletions core/src/main/assets/messages/misc/misc_ko.properties
Original file line number Diff line number Diff line change
Expand Up @@ -221,3 +221,23 @@ challenges.durability_desc=높은 성능의 장비들이 꼭 좋은 것만은
rankings$record.something=어쨌든 무언가에 의해 사망
rankings$record.won=옌더의 부적 획득
rankings$record.ascended=부적을 가지고 역행 성공!

seedfinder.cursed=저주받은
seedfinder.scrolls=주문서
seedfinder.potions=물약
seedfinder.equipment=장비
seedfinder.rings=반지
seedfinder.artifacts=유물
seedfinder.wands=마법 막대
seedfinder.for_sales=상점
seedfinder.others=그 외
seedfinder.sad_ghost_reward=_슬픈 유령 퀘스트 보상_
seedfinder.wandmaker_need=_지팡이 깎는 노인의 요구 아이템_
seedfinder.wandmaker_reward=_지팡이 깎는 노인 퀘스트 보상_
seedfinder.imp_reward=_야심만만한 임프 퀘스트 보상_
seedfinder.seed=시드
seedfinder.items=의 아이템들
seedfinder.floor=층
seedfinder.corpsedust=시체 먼지
seedfinder.embers=정령의 잉걸불
seedfinder.rotberry=썩은열매의 씨앗
11 changes: 10 additions & 1 deletion core/src/main/assets/messages/scenes/scenes.properties
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@ scenes.titlescene.changes=Changes
scenes.titlescene.update=Update
scenes.titlescene.install=Install
scenes.titlescene.settings=Settings
scenes.titlescene.seed_find=Find Seed
scenes.titlescene.seed_analysis=Seed Analysis
scenes.titlescene.about=About
scenes.titlescene.support=Support/Feedback
scenes.titlescene$changesbutton.title=An Update is Available!
Expand All @@ -145,4 +147,11 @@ scenes.welcomescene.changelist=Changelist
scenes.welcomescene.save_warning=Shattered Pixel Dungeon was interrupted while trying to save your game data recently. Shattered has built-in protections against this, so your game data should be fine.\n\nThis usually happens when your device suddenly loses power, or if it terminates Shattered without letting it close properly. Battery saver features can often cause this on mobile devices. Restarting your device may also help if you are seeing this error frequently.
scenes.welcomescene.controller_title=Controller Input
scenes.welcomescene.controller_body=Playing on a controller? Use the right stick to control an on-screen cursor.\n\nPress RT/R2 or the right stick to select with the cursor.
scenes.welcomescene.controller_okay=Okay
scenes.welcomescene.controller_okay=Okay

scenes.seedfindscene.title=Finding Seed
scenes.seedfindscene.body=Enter the name of items you want divided by new lines(Enter).
scenes.seedfindscene.initial_value=31floor end\n
scenes.seedfindscene.find=Find

scenes.seedanalysisscene.title=The same seed and game version always generate the same dungeon! _Enter a seed to analyze_.
9 changes: 9 additions & 0 deletions core/src/main/assets/messages/scenes/scenes_ko.properties
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ scenes.titlescene.changes=변경
scenes.titlescene.update=업데이트
scenes.titlescene.install=설치
scenes.titlescene.settings=설정
scenes.titlescene.seed_find=시드 탐색
scenes.titlescene.seed_analysis=시드 분석
scenes.titlescene.about=소개
scenes.titlescene.support=지원/피드백
scenes.titlescene$changesbutton.title=업데이트가 있습니다!
Expand All @@ -142,3 +144,10 @@ scenes.welcomescene.save_warning=최근에 게임 데이터를 저장하는 동
scenes.welcomescene.controller_title=컨트롤러 입력
scenes.welcomescene.controller_body=컨트롤러로 플레이하나요? 오른쪽 스틱을 이용해 스크린 커서를 조작하세요.\n\nRT/R2 혹은 오른쪽 스틱을 눌러 커서로 선택하세요.
scenes.welcomescene.controller_okay=좋습니다.

scenes.seedfindscene.title=시드 찾기
scenes.seedfindscene.body=원하는 아이템들을 줄바꿈(Enter)으로 구분지어 입력해주세요.
scenes.seedfindscene.initial_value=31층까지 탐색\n
scenes.seedfindscene.find=찾기

scenes.seedanalysisscene.title=동일한 게임 버전의 동일한 시드는 언제나 같은 던전을 생성합니다! _분석할 시드를 입력해주세요_.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.utils.DungeonSeed;
import com.watabou.utils.Random;

Expand Down Expand Up @@ -76,7 +77,7 @@ private void addTextItems(String caption, ArrayList<HeapItem> items, StringBuild
if (((i instanceof Armor && ((Armor) i).hasGoodGlyph()) ||
(i instanceof Weapon && ((Weapon) i).hasGoodEnchant()) ||
(i instanceof Ring) || (i instanceof Wand)) && i.cursed)
builder.append("- 저주받은 ").append(i.title().toLowerCase());
builder.append("- " + Messages.get(this, "cursed")).append(i.title().toLowerCase());

else
builder.append("- ").append(i.title().toLowerCase());
Expand All @@ -97,7 +98,7 @@ private void addTextQuest(String caption, ArrayList<Item> items, StringBuilder b

for (Item i : items) {
if (i.cursed)
builder.append("- 저주받은 ").append(i.title().toLowerCase()).append("\n");
builder.append("- " + Messages.get(this, "cursed")).append(i.title().toLowerCase()).append("\n");

else
builder.append("- ").append(i.title().toLowerCase()).append("\n");
Expand Down Expand Up @@ -202,17 +203,17 @@ private boolean testSeed(String seed, int floors) {
break;
}
}
if(Wandmaker.Quest.type == 1 && "시체먼지".contains(itemList.get(j).replaceAll(" ",""))){
if(Wandmaker.Quest.type == 1 && Messages.get(this, "corpsedust").contains(itemList.get(j).replaceAll(" ",""))){
if (itemsFound[j] == false) {
itemsFound[j] = true;
break;
}
}else if(Wandmaker.Quest.type == 2 && "정령의잉걸불".contains(itemList.get(j).replaceAll(" ",""))){
}else if(Wandmaker.Quest.type == 2 && Messages.get(this, "embers").contains(itemList.get(j).replaceAll(" ",""))){
if (itemsFound[j] == false) {
itemsFound[j] = true;
break;
}
}else if(Wandmaker.Quest.type == 3 && "썩은열매의씨앗".contains(itemList.get(j).replaceAll(" ",""))){
}else if(Wandmaker.Quest.type == 3 && Messages.get(this, "rotberry").contains(itemList.get(j).replaceAll(" ",""))){
if (itemsFound[j] == false) {
itemsFound[j] = true;
break;
Expand Down Expand Up @@ -324,17 +325,17 @@ private boolean testSeedALL(String seed, int floors) {
}
}
}
if(Wandmaker.Quest.type == 1 && "시체먼지".contains(wantingItem.replaceAll(" ",""))){
if(Wandmaker.Quest.type == 1 && Messages.get(this, "corpsedust").contains(wantingItem.replaceAll(" ",""))){
if (itemsFound[j] == false) {
itemsFound[j] = true;
break;
}
}else if(Wandmaker.Quest.type == 2 && "정령의잉걸불".contains(wantingItem.replaceAll(" ",""))){
}else if(Wandmaker.Quest.type == 2 && Messages.get(this, "embers").contains(wantingItem.replaceAll(" ",""))){
if (itemsFound[j] == false) {
itemsFound[j] = true;
break;
}
}else if(Wandmaker.Quest.type == 3 && "썩은열매의씨앗".contains(wantingItem.replaceAll(" ",""))){
}else if(Wandmaker.Quest.type == 3 && Messages.get(this, "rotberry").contains(wantingItem.replaceAll(" ",""))){
if (itemsFound[j] == false) {
itemsFound[j] = true;
break;
Expand Down Expand Up @@ -395,14 +396,14 @@ public String logSeedItems(String seed, int floors) {
SPDSettings.customSeed(seed);
GamesInProgress.selectedClass = HeroClass.WARRIOR;
Dungeon.init();
StringBuilder result = new StringBuilder("시드 " + DungeonSeed.convertToCode(Dungeon.seed) + " (" + Dungeon.seed + ") 의 아이템들:\n\n");
StringBuilder result = new StringBuilder(Messages.get(this, "seed") + DungeonSeed.convertToCode(Dungeon.seed) + " (" + Dungeon.seed + ") " + Messages.get(this, "items") + ":\n\n");

blacklist = Arrays.asList(Gold.class, Dewdrop.class, IronKey.class, GoldenKey.class, CrystalKey.class, EnergyCrystal.class,
CorpseDust.class, Embers.class, CeremonialCandle.class, Pickaxe.class);


for (int i = 0; i < floors; i++) {
result.append("\n_----- ").append(Long.toString(Dungeon.depth)).append(" -----_\n\n");
result.append("\n_----- ").append(Long.toString(Dungeon.depth)).append(" ").append(Messages.get(this, "floor") + " -----_\n\n");

Level l = Dungeon.newLevel();
ArrayList<Heap> heaps = new ArrayList<>(l.heaps.valueList());
Expand All @@ -423,7 +424,7 @@ public String logSeedItems(String seed, int floors) {
rewards.add(Ghost.Quest.weapon.identify());
Ghost.Quest.complete();

addTextQuest("[ 슬픈 유령 퀘스트 보상 ]", rewards, builder);
addTextQuest("[ " + Messages.get(this, "sad_ghost_reward") + " ]", rewards, builder);
}

if (Wandmaker.Quest.wand1 != null) {
Expand All @@ -432,29 +433,29 @@ public String logSeedItems(String seed, int floors) {
rewards.add(Wandmaker.Quest.wand2.identify());
Wandmaker.Quest.complete();

builder.append("[ 지팡이 깎는 노인의 요구 아이템 ]:\n ");
builder.append("[ " + Messages.get(this, "wandmaker_need") +" ]:\n ");


switch (Wandmaker.Quest.type) {
case 1: default:
builder.append("시체 먼지\n\n");
builder.append(Messages.get(this, "corpsedust") + "\n\n");
break;
case 2:
builder.append("정령의 잉걸불\n\n");
builder.append(Messages.get(this, "embers") + "\n\n");
break;
case 3:
builder.append("썩은열매의 씨앗\n\n");
builder.append(Messages.get(this, "rotberry") + "\n\n");
}

addTextQuest("[ 지팡이 깎는 노인의 퀘스트 보상 ]", rewards, builder);
addTextQuest("[ "+ Messages.get(this, "wandmaker_reward") +" ]", rewards, builder);
}

if (Imp.Quest.reward != null) {
ArrayList<Item> rewards = new ArrayList<>();
rewards.add(Imp.Quest.reward.identify());
Imp.Quest.complete();

addTextQuest("[ 임프 퀘스트 보상 ]", rewards, builder);
addTextQuest("[ "+ Messages.get(this, "imp_reward") +" ]", rewards, builder);
}

heaps.addAll(getMobDrops(l));
Expand All @@ -476,14 +477,14 @@ public String logSeedItems(String seed, int floors) {
}
}

addTextItems("[ 주문서 ]", scrolls, builder);
addTextItems("[ 물약 ]", potions, builder);
addTextItems("[ 장비 ]", equipment, builder);
addTextItems("[ 반지 ]", rings, builder);
addTextItems("[ 유물 ]", artifacts, builder);
addTextItems("[ 마법 막대 ]", wands, builder);
addTextItems("[ 상점 ]", forSales, builder);
addTextItems("[ 그 외 ]", others, builder);
addTextItems("[ "+ Messages.get(this, "scrolls") +" ]", scrolls, builder);
addTextItems("[ "+ Messages.get(this, "potions") +" ]", potions, builder);
addTextItems("[ "+ Messages.get(this, "equipment") +" ]", equipment, builder);
addTextItems("[ "+ Messages.get(this, "rings") +" ]", rings, builder);
addTextItems("[ "+ Messages.get(this, "artifacts") +" ]", artifacts, builder);
addTextItems("[ "+ Messages.get(this, "wands") +" ]", wands, builder);
addTextItems("[ "+ Messages.get(this, "for_sales") +" ]", forSales, builder);
addTextItems("[ "+ Messages.get(this, "others") +" ]", others, builder);

result.append("\n").append(builder);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,12 @@
import com.shatteredpixel.shatteredpixeldungeon.items.HandMirror;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.KnightsShield;
import com.shatteredpixel.shatteredpixeldungeon.items.Teleporter;
import com.shatteredpixel.shatteredpixeldungeon.items.TengusMask;
import com.shatteredpixel.shatteredpixeldungeon.items.Waterskin;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.PlateArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CloakOfShadows;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.SandalsOfNature;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch;
import com.shatteredpixel.shatteredpixeldungeon.items.food.Food;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfExperience;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHaste;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfInvisibility;
Expand All @@ -83,8 +79,6 @@
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfParalyticGas;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfPurity;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfDivineInspiration;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfMight;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfVorpal;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfWealth;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfIdentify;
Expand All @@ -96,7 +90,6 @@
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRetribution;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
import com.shatteredpixel.shatteredpixeldungeon.items.spells.ScrollOfExtract;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfMagicMissile;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.CrudePistol;
Expand All @@ -107,9 +100,6 @@
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Rapier;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Saber;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Shovel;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.SpellBook_Corruption;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.SpellBook_Corruption_Sword;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.TestWeapon;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WornKatana;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WornShortsword;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingKnife;
Expand Down Expand Up @@ -165,25 +155,35 @@ public void initHero( Hero hero ) {
.upgrade()
.collect();
*/
new TengusMask().identify().collect();
new PotionOfExperience().identify().quantity(29).collect();
new Teleporter().identify().collect();
new PlateArmor().identify().upgrade(100).collect();
new TestWeapon().identify().collect();
new PotionOfDivineInspiration().identify().quantity(4).collect();
new PotionOfHealing().identify().quantity(100).collect();
new RingOfMight().identify().upgrade(20).collect();

//new TengusMask().identify().collect();
//new PotionOfExperience().identify().quantity(29).collect();
//new Teleporter().identify().collect();
//new PlateArmor().identify().upgrade(100).collect();
//new TestWeapon().identify().collect();
//new PotionOfDivineInspiration().identify().quantity(4).collect();
//new PotionOfHealing().identify().quantity(100).collect();
//new RingOfMight().identify().upgrade(20).collect();
//new KingsCrown().collect();

//new ThrowingKnife().collect();
//new FishingSpear().collect();
//new ThrowingSpear().collect();
//new Javelin().collect();
//new Trident().quantity(100).collect();
//new Bolas().collect();
//new StoneOfAugmentation().quantity(100).collect();
//new AlchemistsToolkit().identify().upgrade(10).collect();
//new FishingSpear().upgrade(1).quantity(200).collect();
//new ScrollOfEnchantment().identify().quantity(200).collect();
//new RingOfArcana().identify().upgrade(5).collect();
//new PotionOfMindVision().identify().quantity(200).collect();
//new ScrollOfMagicMapping().identify().quantity(200).collect();
new ScrollOfExtract().quantity(20).collect();
new ScrollOfUpgrade().identify().quantity(1000).collect();
new ScrollOfIdentify().identify().quantity(1000).collect();
new SpellBook_Corruption().identify().collect();
new SpellBook_Corruption_Sword().identify().collect();
//new ScrollOfExtract().quantity(20).collect();
//new ScrollOfUpgrade().identify().quantity(1000).collect();
//new ScrollOfMetamorphosis().identify().quantity(1000).collect();
//new ScrollOfIdentify().identify().quantity(1000).collect();
//new SpellBook_Corruption().identify().collect();
//new SpellBook_Corruption_Sword().identify().collect();

//new PotionOfStrength().identify().quantity(1000).collect();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1605,6 +1605,9 @@ public boolean act() {
Buff.affect(target, ParryTracker.class);
detach();
}
if (!hero.hasTalent(Talent.PARRY)) {
detach();
}
spend(Actor.TICK);
return true;
}
Expand All @@ -1624,6 +1627,9 @@ public int icon() {

@Override
public boolean act() {
if (!hero.hasTalent(Talent.PARRY)) {
detach();
}
spend(Actor.TICK);
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,7 @@ public final Item sampleOutput(ArrayList<Item> ingredients){
new Rapier_Energy.Recipe(),
new WornKatana_Energy.Recipe(),
new CrudePistol_Energy.Recipe()
//new MissileWeapon.Duplicate()
};

public static ArrayList<Recipe> findRecipes(ArrayList<Item> ingredients){
Expand Down
Loading

0 comments on commit 0b45d5b

Please sign in to comment.