Skip to content

Commit a1fbd8a

Browse files
Handle gracefully few more mod errors
1 parent 339aaba commit a1fbd8a

File tree

9 files changed

+192
-7
lines changed

9 files changed

+192
-7
lines changed

RemixedDungeon/src/main/assets/scripts/items/test/TestItem.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,13 +229,13 @@ return itemLib.init{
229229

230230
activate = function(self, item, hero)
231231

232-
local Buff = RPD.affectBuff(hero,"TestBuff", 10)
232+
local Buff = RPD.affectBuff(hero,"NotImplementedTestBuff", 10)
233233
Buff:level(3)
234234
Buff:setSource(item)
235235
end,
236236

237237
deactivate = function(self, item, hero)
238-
RPD.removeBuff(hero,"TestBuff")
238+
RPD.removeBuff(hero,"NotImplementedTestBuff")
239239
end,
240240

241241
act = function(self,item)

RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/buffs/BuffFactory.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.nyrds.pixeldungeon.items.guts.HeartOfDarkness;
66
import com.nyrds.util.ModError;
77
import com.nyrds.util.ModdingMode;
8+
import com.nyrds.util.Util;
89
import com.watabou.pixeldungeon.actors.buffs.Amok;
910
import com.watabou.pixeldungeon.actors.buffs.Awareness;
1011
import com.watabou.pixeldungeon.actors.buffs.Barkskin;
@@ -17,6 +18,7 @@
1718
import com.watabou.pixeldungeon.actors.buffs.Charm;
1819
import com.watabou.pixeldungeon.actors.buffs.Combo;
1920
import com.watabou.pixeldungeon.actors.buffs.Cripple;
21+
import com.watabou.pixeldungeon.actors.buffs.DummyBuff;
2022
import com.watabou.pixeldungeon.actors.buffs.Frost;
2123
import com.watabou.pixeldungeon.actors.buffs.Fury;
2224
import com.watabou.pixeldungeon.actors.buffs.Hunger;
@@ -210,6 +212,11 @@ public static Buff getBuffByName(String name) {
210212
return buffClass.newInstance();
211213
}
212214

215+
if (!Util.isDebug()) {
216+
return DummyBuff.instance;
217+
}
218+
219+
213220
throw new ModError(name, new Exception("Unknown Buff:"+name));
214221
}
215222
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.watabou.pixeldungeon.actors.buffs;
2+
3+
public class DummyBuff extends Buff {
4+
public static DummyBuff instance = new DummyBuff();
5+
}

RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/buffs/FlavourBuff.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11

22
package com.watabou.pixeldungeon.actors.buffs;
33

4+
import com.nyrds.util.Util;
45
import com.watabou.pixeldungeon.utils.Utils;
56

67
//Special kind of buff, that doesn't perform any kind actions
@@ -9,7 +10,10 @@ public class FlavourBuff extends Buff {
910
@Override
1011
public String desc() {
1112
String ret = super.desc();
12-
ret += Utils.format("\ncooldown %.2f", cooldown());
13+
float cooldown = cooldown();
14+
if (cooldown <= Util.BIG_FLOAT / 2) {
15+
ret += Utils.format("\ncooldown %.2f", cooldown());
16+
}
1317
return ret;
1418
}
1519
@Override

RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/Item.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -828,4 +828,7 @@ public void removeItem() {
828828
}
829829
Actor.remove(this);
830830
}
831+
832+
@LuaInterface
833+
public void setChargeKnown(boolean chargeKnown) {} //RA compatibility
831834
}

RemixedDungeon/src/main/java/com/watabou/pixeldungeon/sprites/DummySprite.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11

22
package com.watabou.pixeldungeon.sprites;
33

4+
import static com.watabou.pixeldungeon.sprites.ModernHeroSpriteDef.HERO_MODERN_SPRITES_DESC_HERO_JSON;
5+
46
import com.watabou.gltextures.TextureCache;
57
import com.watabou.noosa.Animation;
68
import com.watabou.noosa.Group;
79
import com.watabou.noosa.TextureFilm;
10+
import com.watabou.pixeldungeon.actors.hero.Hero;
11+
12+
import org.jetbrains.annotations.NotNull;
813

9-
public class DummySprite extends MobSprite {
14+
public class DummySprite extends HeroSpriteDef {
1015

1116
public static final DummySprite instance = new DummySprite();
1217
public static final Group dummyGroup = new Group();
1318

1419
public DummySprite() {
15-
super();
20+
super(HERO_MODERN_SPRITES_DESC_HERO_JSON,0);
1621

1722
texture("hero/empty.png");
1823

@@ -67,4 +72,19 @@ public boolean isVisible() {
6772
public Group getParent() {
6873
return dummyGroup;
6974
}
75+
76+
@Override
77+
public String[] getLayersDesc() {
78+
return new String[0];
79+
}
80+
81+
@Override
82+
public @NotNull String getDeathEffect() {
83+
return "";
84+
}
85+
86+
@Override
87+
public void heroUpdated(Hero hero) {
88+
89+
}
7090
}

RemixedDungeon/src/main/java/com/watabou/pixeldungeon/sprites/ModernHeroSpriteDef.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public class ModernHeroSpriteDef extends HeroSpriteDef {
5353
private static final String LAYER_LEFT_ITEM_BACK = "left_back_item";
5454
private static final String LAYER_RIGHT_ITEM_BACK = "right_back_item";
5555

56-
private static final String HERO_MODERN_SPRITES_DESC_HERO_JSON = "hero_modern/spritesDesc/Hero.json";
56+
static final String HERO_MODERN_SPRITES_DESC_HERO_JSON = "hero_modern/spritesDesc/Hero.json";
5757
private static final String HERO_MODERN_SPRITES_DESC_STATUE_JSON = "hero_modern/spritesDesc/Statue.json";
5858

5959
private static final String BODY_TYPE = "bodyType";

RemixedDungeon/src/main/res/values-ru/strings_all.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1861,7 +1861,7 @@
18611861
<string name="RatKing_Desc">Эта крыса слегка крупнее обычной. На её голове виднеется малюсенькая корона.</string>
18621862
<string name="RatKing_Info1">Я не сплю!</string>
18631863
<string name="RatKing_Info2">Это ещё что? У меня нет времени на всякую ерунду. Королевство само собой править не будет!</string>
1864-
<string name="RatKing_Info3">Как ты смеешь, тщедушное существо, мешать Нашему Крысиныму Величеству?!</string>
1864+
<string name="RatKing_Info3">Как ты смеешь, тщедушное существо, мешать Нашему Крысиному Величеству?!</string>
18651865
<string name="RatKing_Died">Король умер! Да здравствует Король!</string>
18661866
<string name="Shopkeeper_Name">торговец</string>
18671867
<string name="Shopkeeper_Desc">Этот тучный индивидуум больше подходит для торговли в городском квартале, нежели в подземелье. Хотя, судя по ценам, здесь ему тоже неплохо.</string>

tools/mods/mods2.json

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
{
2+
"known_mods": {
3+
"common": [
4+
{
5+
"name": "HiFi DLC",
6+
"url": "http://nyrds.net/rpd/mods/HiFiDLC.rpd",
7+
"version": 2,
8+
"rpdVersion": 964
9+
},
10+
{
11+
"name": "Remixed RPG",
12+
"url": "http://nyrds.net/rpd/mods/Remixed_RPG_v27.zip",
13+
"version": 27,
14+
"rpdVersion": 1155
15+
},
16+
{
17+
"name": "Faith",
18+
"url": "http://nyrds.net/rpd/mods/Faith_v5.zip",
19+
"version": 6,
20+
"rpdVersion": 610
21+
},
22+
{
23+
"name": "Remixed Additions",
24+
"url": "http://nyrds.net/rpd/mods/Remixed_Additions_v18.zip",
25+
"version": 18,
26+
"rpdVersion": 1006
27+
},
28+
{
29+
"name": "The epic dungeon",
30+
"url": "http://nyrds.net/rpd/mods/The_epic_dungeon_v43_1.zip",
31+
"version": 43,
32+
"rpdVersion": 1111
33+
},
34+
{
35+
"name": "Maze",
36+
"url": "http://nyrds.net/rpd/mods/Maze.zip",
37+
"version": 24,
38+
"rpdVersion": 599
39+
}
40+
],
41+
"ru": [
42+
{
43+
"name": "D.U.N.G.E.O.N",
44+
"url": "http://nyrds.net/rpd/mods/D.U.N.G.E.O.N_v9.zip",
45+
"version": 9,
46+
"rpdVersion": 929
47+
},
48+
{
49+
"name": "Conundrum",
50+
"url": "http://nyrds.net/rpd/mods/Conundrum.zip",
51+
"version": 24,
52+
"rpdVersion": 568
53+
}
54+
]
55+
},
56+
"info": {
57+
"The epic dungeon": {
58+
"en": {
59+
"Mod_Name": "The epic dungeon",
60+
"Mod_Description": "This mod adds around 8 extra hours of gameplay. Over 160 new mobs, 70 new items, 20 (perhaps more) new locations & stages and more!",
61+
"Mod_Author": "Bogdan Ivanov (creator); Insaf Nazipov & Sergey Retunov (game designers); Danil Yegitsky (Russian grammar & ortography revision); Stanislav Lushin (musician); Yaroslav Tomilov, Timofei Chernenko, Sergey Kiselev & Danil Yegitsky (retired integrants); Krakozyabra; Ømicrónrg9 (translation)",
62+
"Mod_Link": "https://m.vk.com/topic-84207769_32141866?offset=last#last"
63+
},
64+
"ru": {
65+
"Mod_Name": "The epic dungeon",
66+
"Mod_Description": "Мод добавит в игру дополнительные 8 часов игры. (Более 160 новых мобов, более 70 новых предметов, 20 (а может и больше) новых локаций)",
67+
"Mod_Author": "Богдан Иванов (создатель), Инсаф Назипов (художник-геймдизайнер), Ярослав Томилов (художник, выбыл), Тимофей Черненко (гемдизайнер, выбыл),Сергей Киселёв (владелец сервера),Сергей Ретунов (геймдизайнер), Данил Ежитский (орфография), Станислав Лушин (музыкант), Неизвестный Krakozyabra",
68+
"Mod_Link": "https://m.vk.com/topic-84207769_32141866?offset=last#last"
69+
}
70+
},
71+
"Remixed RPG": {
72+
"en": {
73+
"Mod_Name": "Remixed RPG",
74+
"Mod_Description": "This mod adds RPG mechanics to the game. Mainly a skill system, stats managment & makeshift equipment! GitHub: https://github.com/MiniMongol/RemixedRPG",
75+
"Mod_Author": "Nazipov Insaf(Mongol)",
76+
"Mod_Email": "[email protected]",
77+
"Mod_Link": "https://vk.com/remixed_rpg"
78+
},
79+
"ru": {
80+
"Mod_Name": "Remixed RPG",
81+
"Mod_Description": "Этот мод добавляет механики RPG в игру. GitHub: https://github.com/MiniMongol/RemixedRPG",
82+
"Mod_Author": "Назипов Инсаф(Mongol)",
83+
"Mod_Email": "[email protected]",
84+
"Mod_Link": "https://vk.com/remixed_rpg"
85+
}
86+
},
87+
"Faith": {
88+
"en": {
89+
"Mod_Name": "Faith",
90+
"Mod_Description": "Trying to create something...",
91+
"Mod_Author": "Pavel Provotorov&Neyromantik"
92+
},
93+
"ru": {
94+
"Mod_Name": "Faith",
95+
"Mod_Description": "Попытка создать нечто...",
96+
"Mod_Author": "Pavel Provotorov&Neyromantik"
97+
}
98+
},
99+
"Remixed Additions": {
100+
"en": {
101+
"Mod_Name": "Remixed Additions",
102+
"Mod_Description": "Trying to add more content to the game.",
103+
"Mod_Author": "Monika"
104+
},
105+
"fr": {
106+
"Mod_Name": "Remixed Additions",
107+
"Mod_Description": "Essaye d'ajouter plus de contenu au jeu.",
108+
"Mod_Author": "Monika, trad fr par Machiavel Dhy'v"
109+
}
110+
},
111+
"HiFi DLC": {
112+
"en": {
113+
"Mod_Name": "HiFi DLC",
114+
"Mod_Description": "This mod contains a set of tracks created by Shinori's Team specially for Remixed Dungeon as well as a high bit rate variant of built-in Remixed Dungeon tracks.",
115+
"Mod_Author": "Shinori's Team & NYRDS"
116+
},
117+
"ru": {
118+
"Mod_Name": "HiFi DLC",
119+
"Mod_Description": "Этот мод содержит набор треков, созданных командой Shinori's Team специально для Remixed Dungeon, а также варианты оригинальных треков Remixed Dungeon с повышенным битрейтом.",
120+
"Mod_Author": "Shinori's Team & NYRDS"
121+
}
122+
},
123+
"Conundrum": {
124+
"ru": {
125+
"Mod_Name": "Conundrum",
126+
"Mod_Description": "История одного короля.",
127+
"Mod_Author": "Пьер Шрёдингер",
128+
"Mod_Link": "https://vk.com/conundrum_rpd"
129+
}
130+
},
131+
"Maze": {
132+
"en": {
133+
"Mod_Name": "Maze",
134+
"Mod_Description": "Modification for RPD, full of mysteries, mazes, puzzles & Predesigned-levels. Even the authors question the reality of the passage without saving.",
135+
"Mod_Author": "Nice(no) ogres, timelords, demonic eyes, eagles, skeleton welders, crawfish in glasses, cyclops, wolves and other very eccentric persons",
136+
"Mod_Link": "https://vk.com/rpdmodmaze ; https://www.reddit.com/user/Eccentric_eye ; [email protected]"
137+
},
138+
"ru": {
139+
"Mod_Name": "Maze",
140+
"Mod_Description": "Модификация RPD, полная загадок, лабиринтов, головоломок и Predesigned-этажей. Даже создатели сомневаются в реальности прохождения без сохранений.",
141+
"Mod_Author": "Добрые(нет) огры, таймлорды, глаза, орлы, скелеты-сварщики, раки в очках, циклопы, волки и прочие весьма эксцентричные личности",
142+
"Mod_Link": "https://vk.com/rpdmodmaze ; [email protected]"
143+
}
144+
}
145+
}
146+
}

0 commit comments

Comments
 (0)