Update V0.6.3.0-Beta4-5
This commit is contained in:
parent
54369bc416
commit
1ae8e8ff16
|
@ -31,8 +31,6 @@ import android.widget.TextView;
|
|||
|
||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeType;
|
||||
import com.badlogic.gdx.utils.GdxNativesLoader;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.services.analytics.Analytics;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.services.analytics.AnalyticsImpl;
|
||||
|
||||
public class AndroidLauncher extends Activity {
|
||||
|
||||
|
@ -44,7 +42,6 @@ public class AndroidLauncher extends Activity {
|
|||
try {
|
||||
GdxNativesLoader.load();
|
||||
FreeType.initFreeType();
|
||||
Analytics.service = AnalyticsImpl.getAnalyticsService();
|
||||
Intent intent = new Intent(this, AndroidGame.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
|
|
|
@ -18,8 +18,8 @@ allprojects {
|
|||
appName = 'Magic Ling Pixel Dungeon'
|
||||
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
|
||||
|
||||
appVersionCode =900922
|
||||
appVersionName = '0.6.3.0-Beta4.7'
|
||||
appVersionCode =900925
|
||||
appVersionName = '0.6.3.0-Beta5.0'
|
||||
|
||||
appJavaCompatibility = JavaVersion.VERSION_11
|
||||
|
||||
|
|
Binary file not shown.
|
@ -82,7 +82,7 @@ items.lightblack.oillantern.lanterneedsxs=你的油瓶还未加入提灯中,
|
|||
items.lightblack.oillantern.lanterdied=你的提灯忽隐忽现地熄灭了!
|
||||
items.lightblack.oillantern.lanteroff=你吹灭了提灯。
|
||||
items.lightblack.oillantern.lanteron=你点亮了提灯。
|
||||
items.lightblack.oillantern.lanterreload=你把提灯的灯油再次加满了。
|
||||
items.lightblack.oillantern.lanterreload=你将提灯的灯油加了一部分,提灯看起来更明亮了。
|
||||
items.lightblack.oillantern.lanterneed=你没多的油瓶给提灯加油了。
|
||||
items.lightblack.oillantern.lanterneeds=你需要一个备用的油瓶给提灯加油。
|
||||
items.lightblack.oillantern.black=你的提灯已经完全熄灭,必须需要新的火种才能重新点燃……
|
||||
|
@ -1986,6 +1986,7 @@ items.weapon.melee.magesstaff.preserved=你保留了之前灌注的法杖!
|
|||
items.weapon.melee.magesstaff.preserved_resin=之前的法杖失去魔力,还原为了奥术聚酯。
|
||||
items.weapon.melee.magesstaff.conflict=相互冲突的魔法抹去了你魔杖上的附魔。
|
||||
items.weapon.melee.magesstaff.id_first=你需要先鉴定这根法杖。
|
||||
items.weapon.melee.magesstaff.no_wands=禁止灌注此
|
||||
items.weapon.melee.magesstaff.cursed=你不能注入一根受诅咒的法杖。
|
||||
items.weapon.melee.magesstaff.imbue_desc=你确定要将这根法杖注入老魔杖?\n\n如果被吸收法杖的等级大于等于老魔杖的等级,老魔杖会在继承这根法杖的等级后再加上自身的一级。\n\n在这次灌注后,老魔杖会变为_ %d _级。
|
||||
items.weapon.melee.magesstaff.imbue_lost=魔杖之前吸收的魔力都会消散。
|
||||
|
|
|
@ -282,7 +282,7 @@ badges$badge.read_book_four.desc=一局累计阅读七本不同的书籍。
|
|||
|
||||
challenges.no_food=缩餐节食
|
||||
challenges.no_food_desc=食物本就稀缺,但你还需要注意节食!\n\n・使用各类食物与丰饶之角的饱腹效果为原本的三分之一。\n・其他恢复饥饿的机制不受影响。
|
||||
challenges.no_armor=独挡一面
|
||||
challenges.no_armor=无甲之身
|
||||
challenges.no_armor_desc=要相信自己,因为不能相信护甲了!\n\n・布甲之外所有护甲被禁止生成。\n・布甲被升级时增长的防御力大幅降低。\n・灵壤守护者的防御力大幅降低。\n\n_地牢环境已发生改变,请小心应对。(种子物品有生成变动)_
|
||||
challenges.no_healing=恐药异症
|
||||
challenges.no_healing_desc=治疗药水真是种好东西,可惜你对它过敏!\n\n・治疗药水以及使用治疗药水炼制的道具将无法治愈英雄,反而会使英雄中毒。\n・炼金催化剂不会随机到治愈英雄或使英雄中毒的效果。\n・这些道具对其他角色依然发挥正常效果。
|
||||
|
@ -298,6 +298,7 @@ rankings$record.something=在黑暗中被击杀
|
|||
|
||||
challenges.aquaphobia=污泥浊水
|
||||
challenges.aquaphobia_desc=地牢的水也被污染了\n\n(圣境层到矮人层踩水将会获得DeBuff,玩家在开局获得4瓶水灵药水,饮用可获得100回合的踩水不获得Debuff时间并获得祝福。)\n注意:矮人层饮用漂浮药剂或者水灵药剂都会获得极速Buff,且每大层会额外产生食人鱼房间。
|
||||
|
||||
challenges.champion_enemies=精英战场
|
||||
challenges.champion_enemies_desc=会升级的不止你一个!\n\n・普通敌人刷出时有 1/8 \
|
||||
的机率拥有特殊的精英属性。\n・精英敌人刷出时会立即醒来。\n・精英敌人免疫腐化效果。\n\n精英敌人有九种:\n_烈焰(橙色):_ 近战伤害 \
|
||||
|
@ -326,11 +327,13 @@ challenges.icedied = 雪虐风饕(未完成)
|
|||
challenges.icedied_desc=很显然,地牢的雪越下越大了,在这严寒里面,生存的法则将进一步让我们活得更久。\n篝火房间一旦被激活不再无限,变成40回合的寒冷抑制,商人会贩卖更多特殊物品。
|
||||
|
||||
challenges.dhxd =灯火前路
|
||||
challenges.dhxd_desc= 灯火指引着前进的道路,提灯引路,灯火前行![此为三挑以上的特殊机制,但你也可以直接开启它!]
|
||||
challenges.dhxd_desc= 灯火指引着前进的道路,提灯引路,灯火前行! \n\n此为三挑以上的特殊机制,但你也可以直接开启它!\n\n1.追加灯火祝福和魔女诅咒机制,灯火会随着深入楼层进行降低\n2.在较低的灯火下死亡会精神崩溃,诞生自己的暗影。\n3.追加提灯和灯油,合理使用这些道具,让自己能在灯火祝福中活下去!如果不幸遭到魔女的诅咒,也不会让你陷入绝境。\n\n灯火不灭,希望仍在,提灯引路,灯火前行!
|
||||
|
||||
challenges.cs=挑战(占位符)
|
||||
challenges.cs_desc=这并不是挑战,请忽略不计。
|
||||
|
||||
challenges.no_armorx = 这片大地吃布甲之外的护甲从不挑食,侦查到作弊行为,已移除。
|
||||
|
||||
|
||||
|
||||
kill=\n_冰雪魔女:_\n_-_生命+25%\n_-_ 水中召唤的仆从更多\n-击败时必定掉落紫金宝石护符\n_矮人大师:_\n_-_ 致命技能更加频繁\n_-_ 生命值+50%\n-击败时必定掉落自然神圣护符\n_史莱姆王:_\n_-_ 生命值+100%\n_-_ 伤害更高,速度更快\n_-_ 在开局额外召唤豺狼诡术师,巨钳螃蟹,腐臭老鼠,蚀化史莱姆\n_-_ 击败时必定掉落凝胶手套\n_DM720:_\n_-_ 获得全新技能\n_-_ 击败时必定掉落DM150控制终端[尚未完成]
|
||||
|
|
|
@ -543,4 +543,9 @@ ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x77=-V0.6.3-Beta4.0\n1.修复上个
|
|||
|
||||
|
||||
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x78=-V0.6.3-Beta4.5\n1.修复护身符的错误\n2.修复一些严重错误\n3.修复粽子无法生成的问题,且活动时间补偿到7月12号。\n4.修复部分Boss可以被腐化的问题
|
||||
|
||||
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x79=-V0.6.3-Beta4.8\n1.修复一些小错误\n2.调整一些文案
|
||||
|
||||
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x80=1.修复灯火值不扣减的错误\n2.其他小错误修复
|
||||
|
||||
//ui.changelist.mlpd.vm0_5_x_changes.xxx//
|
Binary file not shown.
BIN
core/src/main/assets/sprites/boss/fireDragon.png
Normal file
BIN
core/src/main/assets/sprites/boss/fireDragon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
|
@ -307,6 +307,7 @@ public class Assets {
|
|||
public static final String KEEPERKINGBOT = "sprites/npc/autoshop.png";
|
||||
|
||||
//BOSS
|
||||
public static final String FRDG = "sprites/boss/fireDragon.png";
|
||||
|
||||
public static final String VSGR = "sprites/boss/SeaVastGirl.png";
|
||||
|
||||
|
|
|
@ -117,12 +117,9 @@ public class BGMPlayer {
|
|||
|
||||
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
|
||||
switch (depth){
|
||||
case 2:
|
||||
case 2: case 4:case 5:
|
||||
playBGM(Assets.BGM_BOSSA, true);
|
||||
break;
|
||||
case 4:case 5:
|
||||
playBGM(Assets.BGM_BOSSB, true);
|
||||
break;
|
||||
case 8: case 10:
|
||||
playBGM(Assets.BGM_BOSSC, true);
|
||||
break;
|
||||
|
|
|
@ -29,6 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HornOfPlenty;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.food.SmallRation;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.InterlevelScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
|
||||
|
@ -97,8 +98,8 @@ public class Challenges {
|
|||
|
||||
if (Dungeon.isChallenged(NO_ARMOR)) {
|
||||
if (item instanceof Armor && !(item instanceof ClothArmor || item instanceof ClassArmor)) {
|
||||
GLog.n("这片大地吃布甲之外的护甲从不挑食,侦查到作弊行为,已移除"+item);
|
||||
return true;
|
||||
//GLog.n("这片大地吃布甲之外的护甲从不挑食,侦查到作弊行为,已移除"+item);
|
||||
GLog.n(Messages.get(Challenges.class, "no_armorx"), item);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
package com.shatteredpixel.shatteredpixeldungeon;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.PRO;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass.ROGUE;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
|
@ -1045,7 +1046,10 @@ public class Dungeon {
|
|||
public static void fail( Class cause ) {
|
||||
if (WndResurrect.instance == null) {
|
||||
updateLevelExplored();
|
||||
Rankings.INSTANCE.submit( false, cause );
|
||||
if(!Dungeon.isChallenged(PRO)){
|
||||
Rankings.INSTANCE.submit( false, cause );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1053,7 +1057,9 @@ public class Dungeon {
|
|||
Statistics.gameWon = true;
|
||||
hero.belongings.identify();
|
||||
updateLevelExplored();
|
||||
Rankings.INSTANCE.submit( true, cause );
|
||||
if(!Dungeon.isChallenged(PRO)) {
|
||||
Rankings.INSTANCE.submit(true, cause);
|
||||
}
|
||||
}
|
||||
|
||||
//default to recomputing based on max hero vision, in case vision just shrank/grew
|
||||
|
|
|
@ -1052,9 +1052,12 @@ public abstract class Char extends Actor {
|
|||
new HashSet<Class>( Arrays.asList(Ooze.class))),
|
||||
ELECTRIC ( new HashSet<Class>( Arrays.asList(WandOfLightning.class, Shocking.class, Potential.class, Electricity.class, ShockingDart.class, Elemental.ShockElemental.class )),
|
||||
new HashSet<Class>()),
|
||||
ABYSS( new HashSet<Class>( Arrays.asList(Grim.class, GrimTrap.class, ScrollOfRetribution.class,
|
||||
ScrollOfPsionicBlast.class)),new HashSet<Class>()),
|
||||
LARGE,
|
||||
IMMOVABLE,
|
||||
NPC;
|
||||
|
||||
|
||||
private HashSet<Class> resistances;
|
||||
private HashSet<Class> immunities;
|
||||
|
|
|
@ -40,7 +40,9 @@ public class BlessAnmy extends Buff {
|
|||
target.remove( this );
|
||||
|
||||
WandOfAnmy wandOfAnmy = Dungeon.hero.belongings.getItem(WandOfAnmy.class);
|
||||
wandOfAnmy.detachAll( hero.belongings.backpack );
|
||||
if(wandOfAnmy != null){
|
||||
wandOfAnmy.detachAll( hero.belongings.backpack );
|
||||
}
|
||||
}
|
||||
|
||||
public int level() {
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||
|
||||
public class HealingXP extends Healing{
|
||||
|
||||
@Override
|
||||
public int icon() {
|
||||
return BuffIndicator.HEALING;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero.badLanterFire;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero.goodLanterFire;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene.cure;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
|
@ -30,30 +32,18 @@ public class Nyctophobia extends Buff implements Hero.Doom {
|
|||
@Override
|
||||
public boolean act() {
|
||||
|
||||
if(hero.lanterfire == 90){
|
||||
cure( Dungeon.hero );
|
||||
goodLanterFire();
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (hero.lanterfire < 51 && hero.lanterfire>31) {
|
||||
cure( Dungeon.hero );
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayTimeLast.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
badLanterFire();
|
||||
spend(100f);
|
||||
} else if (hero.lanterfire < 31) {
|
||||
} else if (hero.lanterfire < 31 && hero.lanterfire > 0) {
|
||||
cure( Dungeon.hero );
|
||||
switch (Random.Int(5)){
|
||||
case 0: case 1:
|
||||
|
@ -70,6 +60,10 @@ public class Nyctophobia extends Buff implements Hero.Doom {
|
|||
break;
|
||||
}
|
||||
spend(50f);
|
||||
} else if(hero.lanterfire < 0){
|
||||
hero.damage( (Dungeon.depth/5)*(Math.abs(hero.lanterfire)/2)+10, this );
|
||||
spend(24f);
|
||||
GLog.w( Messages.get(this, "desc6") );
|
||||
}
|
||||
|
||||
|
||||
|
@ -86,8 +80,8 @@ public class Nyctophobia extends Buff implements Hero.Doom {
|
|||
return true;
|
||||
}
|
||||
if (hero.lanterfire >= 0 ) {
|
||||
hero.damageLantern(1);
|
||||
spend(17f-(float) Dungeon.depth/5);
|
||||
hero.damageLantern(1+Dungeon.depth/5);
|
||||
spend(10f+(float) Dungeon.depth/5);
|
||||
} else {
|
||||
spend(STEP);
|
||||
}
|
||||
|
|
|
@ -66,6 +66,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ClearBleesdGoodBuff
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Combo;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.DeadSoul;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Dread;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Drowsy;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Foresight;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FrostImbueEX;
|
||||
|
@ -1955,18 +1956,26 @@ public class Hero extends Char {
|
|||
ankh = i;
|
||||
}
|
||||
}
|
||||
//灯火值低于30死亡生成自己的邪恶面,并清空金币,将金币保存到json文件。(灵感:空洞骑士)
|
||||
if(lanterfireactive && hero.lanterfire <= 30) {
|
||||
BlackSoul s = new BlackSoul();
|
||||
s.pos = Dungeon.hero.pos;
|
||||
s.gold = Dungeon.gold;
|
||||
Dungeon.gold = 0;
|
||||
s.state = s.SLEEPING;
|
||||
GameScene.add(s);
|
||||
Buff.affect(s, ChampionEnemy.DeadSoulSX.class);
|
||||
Buff.affect(s, DeadSoul.class);
|
||||
GameScene.flash(0x80FF0000);
|
||||
|
||||
for (Mob mob : Dungeon.level.mobs.toArray(new Mob[0])){
|
||||
if (mob instanceof BlackSoul) {
|
||||
Buff.affect( mob, Dread.class );
|
||||
Buff.prolong(mob, AnkhInvulnerability.class, 200f);
|
||||
}
|
||||
}
|
||||
|
||||
//灯火值低于35死亡生成自己的邪恶面,并清空金币,将金币保存到json文件。(灵感:空洞骑士)
|
||||
if(lanterfireactive && hero.lanterfire <= 35) {
|
||||
BlackSoul s = new BlackSoul();
|
||||
s.pos = Dungeon.hero.pos;
|
||||
s.gold = Dungeon.gold;
|
||||
Dungeon.gold = 0;
|
||||
s.state = s.SLEEPING;
|
||||
GameScene.add(s);
|
||||
Buff.affect(s, ChampionEnemy.DeadSoulSX.class);
|
||||
Buff.affect(s, DeadSoul.class);
|
||||
GameScene.flash(0x80FF0000);
|
||||
}
|
||||
|
||||
if(Statistics.fireGirlnoshopping && Dungeon.depth < 0){
|
||||
reallyDie( cause );
|
||||
|
@ -2442,6 +2451,54 @@ public class Hero extends Char {
|
|||
|
||||
return smthFound;
|
||||
}
|
||||
|
||||
public static void goodLanterFire(){
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
}
|
||||
|
||||
public static void badLanterFire(){
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
}
|
||||
|
||||
public void resurrect() {
|
||||
HP = HT;
|
||||
|
@ -2449,271 +2506,33 @@ public class Hero extends Char {
|
|||
|
||||
if(lanterfireactive){
|
||||
if (hero.lanterfire == 100){
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 99 && hero.lanterfire >= 90) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 89 && hero.lanterfire >= 80 && Random.Float() <= 0.05f ) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
badLanterFire();
|
||||
} else if (hero.lanterfire <= 89 && hero.lanterfire >= 80 && Random.Float() <= 0.85f ) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 89 && hero.lanterfire >= 80) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else if (hero.lanterfire <= 79 && hero.lanterfire >= 60 && Random.Float() <= 0.25f ) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
badLanterFire();
|
||||
} else if (hero.lanterfire <= 79 && hero.lanterfire >= 60 && Random.Float() <= 0.70f ) {
|
||||
switch (Random.Int(6)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
new WandOfAnmy().quantity(1).identify().collect();
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 79 && hero.lanterfire >= 60) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else if (hero.lanterfire <= 59 && hero.lanterfire >= 35 && Random.Float() <= 0.40f ) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
badLanterFire();
|
||||
} else if (hero.lanterfire <= 59 && hero.lanterfire >= 35 && Random.Float() <= 0.20f ) {
|
||||
switch (Random.Int(4)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 59 && hero.lanterfire >= 35) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else if (hero.lanterfire <= 34 && hero.lanterfire >= 1 && Random.Float() <= 0.40f ) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
} else if (hero.lanterfire <= 34 && hero.lanterfire >= 1 && Random.Float() <= 0.35f ) {
|
||||
switch (Random.Int(4)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
badLanterFire();
|
||||
} else if (hero.lanterfire <= 34 && hero.lanterfire >= 1) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else if (hero.lanterfire <= 0 && Random.Float() <= 0.48f ) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
} else if (hero.lanterfire <= 0 && Random.Float() <= 0.10f ) {
|
||||
switch (Random.Int(4)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
} else if (hero.lanterfire <= 0 ) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else {
|
||||
badLanterFire();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -49,6 +49,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Amulet;
|
|||
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.armor.LeatherArmor;
|
||||
|
@ -88,7 +89,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfMys
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.spells.AquaBlast;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.spells.MagicalInfusion;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorruption;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFireblast;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFrost;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfMagicMissile;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
||||
|
@ -112,7 +112,6 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.plants.AikeLaier;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.Firebloom;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.SkyBlueFireBloom;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
public enum HeroClass {
|
||||
|
||||
|
@ -158,7 +157,7 @@ public enum HeroClass {
|
|||
new LockSword().quantity(1).identify().collect();
|
||||
new PotionOfInvisibility().quantity(45).identify().collect();
|
||||
new SandalsOfNature().quantity(1).identify().collect();
|
||||
|
||||
new TengusMask().quantity(1).identify().collect();
|
||||
new TimekeepersHourglass().quantity(1).identify().collect();
|
||||
|
||||
Buff.affect(hero, ChampionHero.AntiMagic.class, 50000f);
|
||||
|
@ -300,20 +299,10 @@ public enum HeroClass {
|
|||
MagesStaff staff;
|
||||
|
||||
staff = new MagesStaff(new WandOfMagicMissile());
|
||||
//new MIME.GOLD_FIVE().quantity(1).identify().collect();
|
||||
(hero.belongings.weapon = staff).identify();
|
||||
(hero.belongings.weapon = staff).identify().level(1);
|
||||
hero.belongings.weapon.activate(hero);
|
||||
|
||||
WandOfFireblast woc = new WandOfFireblast();
|
||||
woc.identify().quantity(1).collect();
|
||||
|
||||
WandOfFrost wox = new WandOfFrost();
|
||||
wox.level(Random.NormalIntRange(1,3));
|
||||
wox.identify().quantity(1).collect();
|
||||
|
||||
Dungeon.quickslot.setSlot(0, staff);
|
||||
Dungeon.quickslot.setSlot(1, wox);
|
||||
Dungeon.quickslot.setSlot(2, woc);
|
||||
|
||||
new ScrollOfUpgrade().identify();
|
||||
new PotionOfLiquidFlame().identify();
|
||||
|
|
|
@ -72,7 +72,7 @@ public class BloodBat extends Mob implements Callback {
|
|||
Sample.INSTANCE.play( Assets.Sounds.DEBUFF );
|
||||
}
|
||||
|
||||
int dmg = Random.NormalIntRange( (2+level)*Dungeon.depth/5, (2+level)*Dungeon.depth/5 );
|
||||
int dmg = Random.NormalIntRange( (2*Dungeon.depth/5), 4*Dungeon.depth/5 );
|
||||
enemy.damage( dmg, new BloodBat.DarkBolt() );
|
||||
|
||||
if (enemy == Dungeon.hero && !enemy.isAlive()) {
|
||||
|
@ -150,7 +150,10 @@ public class BloodBat extends Mob implements Callback {
|
|||
@Override
|
||||
public void damage(int dmg, Object src) {
|
||||
super.damage(dmg, src);
|
||||
Buff.affect(Dungeon.hero, ArtifactRecharge.class).prolong(dmg*2);
|
||||
if(Random.Int(10)==5 && hero.lvl>=10){
|
||||
Buff.affect(Dungeon.hero, ArtifactRecharge.class).prolong(dmg/2f*2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -254,7 +254,7 @@ public class DiamondKnight extends Boss {
|
|||
}
|
||||
|
||||
}
|
||||
// 当boos血量低于360时,加载第二场景
|
||||
//当boos血量低于360时,加载第二场景
|
||||
|
||||
@Override
|
||||
public void die( Object cause ) {
|
||||
|
|
|
@ -27,6 +27,8 @@ public class BlackSoul extends Mob {
|
|||
HP = HT = (20 + 5*(hero.lvl-1) + hero.HTBoost)/2;
|
||||
|
||||
immunities.add(AllyBuff.class);
|
||||
|
||||
properties.add(Property.ABYSS);
|
||||
}
|
||||
@Override
|
||||
protected boolean act() {
|
||||
|
@ -41,29 +43,23 @@ public class BlackSoul extends Mob {
|
|||
|
||||
@Override
|
||||
public int attackSkill(Char target) {
|
||||
return defenseSkill+5; //equal to base hero attack skill
|
||||
return hero.defenseSkill(target)+5; //equal to base hero attack skill
|
||||
}
|
||||
|
||||
@Override
|
||||
public void die( Object cause ) {
|
||||
|
||||
super.die( cause );
|
||||
if (gold > 0) {
|
||||
Dungeon.level.drop( new Gold(gold), pos ).sprite.drop();
|
||||
}
|
||||
Dungeon.level.drop( new LostBackpack(), pos).sprite.drop( pos );
|
||||
if (gold > 0) {
|
||||
Dungeon.level.drop( new Gold(gold), pos ).sprite.drop();
|
||||
}
|
||||
Dungeon.level.drop( new LostBackpack(), pos).sprite.drop( pos );
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int damageRoll() {
|
||||
int damage = Random.NormalIntRange(1, 5);
|
||||
int heroDamage = hero.damageRoll();
|
||||
heroDamage /= hero.attackDelay(); //normalize hero damage based on atk speed
|
||||
heroDamage = Math.round(0.075f * hero.pointsInTalent(Talent.SHADOW_BLADE) * heroDamage);
|
||||
if (heroDamage > 0){
|
||||
damage += heroDamage;
|
||||
}
|
||||
return damage;
|
||||
return hero.damageRoll()/2;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -79,35 +75,19 @@ public class BlackSoul extends Mob {
|
|||
|
||||
@Override
|
||||
public int drRoll() {
|
||||
int dr = super.drRoll();
|
||||
int heroRoll = hero.drRoll();
|
||||
heroRoll = Math.round(0.15f * hero.pointsInTalent(Talent.CLONED_ARMOR) * heroRoll);
|
||||
if (heroRoll > 0){
|
||||
dr += heroRoll;
|
||||
}
|
||||
return dr;
|
||||
return hero.drRoll()/2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int defenseProc(Char enemy, int damage) {
|
||||
damage = super.defenseProc(enemy, damage);
|
||||
if (Random.Int(4) < hero.pointsInTalent(Talent.CLONED_ARMOR)
|
||||
&& hero.belongings.armor() != null){
|
||||
return hero.belongings.armor().proc( enemy, this, damage );
|
||||
} else {
|
||||
return damage;
|
||||
}
|
||||
return hero.defenseProc( enemy, damage );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteract(Char c) {
|
||||
if (super.canInteract(c)){
|
||||
return true;
|
||||
} else if (Dungeon.level.distance(pos, c.pos) <= hero.pointsInTalent(Talent.PERFECT_COPY)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else return Dungeon.level.distance(pos, c.pos) <= hero.pointsInTalent(Talent.PERFECT_COPY);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -32,12 +32,12 @@ public class OilLantern extends Item {
|
|||
private static final String CHARGE = "charge";
|
||||
private static final String FLASKS = "flasks";
|
||||
|
||||
private static final int MAX_CHARGE = 100;
|
||||
private static final int MAX_CHARGE = 30;
|
||||
private static final float TIME_TO_USE = 2.0f;
|
||||
|
||||
private static final String TXT_STATUS = "%d%%";
|
||||
private boolean active = false;
|
||||
private int charge = MAX_CHARGE;
|
||||
private int charge = 100;
|
||||
public int flasks = 0;
|
||||
|
||||
public OilLantern() {
|
||||
|
@ -122,7 +122,7 @@ public class OilLantern extends Item {
|
|||
|
||||
public void refill(Hero hero) {
|
||||
this.flasks--;
|
||||
this.charge = MAX_CHARGE;
|
||||
this.charge += Math.min(MAX_CHARGE,charge);
|
||||
hero.spend(TIME_TO_USE);
|
||||
hero.busy();
|
||||
Sample.INSTANCE.play(Assets.Sounds.DRINK, TIME_TO_USE, TIME_TO_USE, 1.2f);
|
||||
|
|
|
@ -29,14 +29,15 @@ import java.util.ArrayList;
|
|||
|
||||
public class WandOfAnmy extends DamageWand {
|
||||
|
||||
{
|
||||
defaultAction = AC_ZAP;
|
||||
usesTargeting = true;
|
||||
bones = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<String> actions(Hero hero ) {
|
||||
ArrayList<String> actions = super.actions( hero );
|
||||
actions.remove(AC_DROP);
|
||||
actions.remove(AC_THROW);
|
||||
actions.add(AC_ZAP);
|
||||
return actions;
|
||||
public ArrayList<String> actions(Hero hero) {
|
||||
return new ArrayList<>(); //yup, no dropping this one
|
||||
}
|
||||
|
||||
public static class AllyToRestart extends AllyBuff {
|
||||
|
|
|
@ -184,7 +184,7 @@ public class SpiritBow extends Weapon {
|
|||
|
||||
@Override
|
||||
public int min(int lvl) {
|
||||
int dmg = 4 + Dungeon.hero.lvl/5
|
||||
int dmg = 2 + Dungeon.hero.lvl/5
|
||||
+ RingOfSharpshooting.levelDamageBonus(Dungeon.hero)
|
||||
+ (curseInfusionBonus ? 1 + Dungeon.hero.lvl/30 : 0);
|
||||
return Math.max(0, dmg);
|
||||
|
@ -192,7 +192,7 @@ public class SpiritBow extends Weapon {
|
|||
|
||||
@Override
|
||||
public int max(int lvl) {
|
||||
int dmg = 9 + (int)(Dungeon.hero.lvl/2.5f)
|
||||
int dmg = 6 + (int)(Dungeon.hero.lvl/2.5f)
|
||||
+ 2*RingOfSharpshooting.levelDamageBonus(Dungeon.hero)
|
||||
+ (curseInfusionBonus ? 2 + Dungeon.hero.lvl/15 : 0);
|
||||
return Math.max(0, dmg);
|
||||
|
|
|
@ -38,6 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.bags.MagicalHolster;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfAnmy;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorrosion;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorruption;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfDisintegration;
|
||||
|
@ -410,7 +411,9 @@ public class MagesStaff extends MeleeWeapon {
|
|||
|
||||
@Override
|
||||
public void onSelect( final Item item ) {
|
||||
if (item != null) {
|
||||
if(item instanceof WandOfAnmy){
|
||||
GLog.n(Messages.get(MagesStaff.class,"no_wands")+item.trueName()+"!");
|
||||
} else if (item != null) {
|
||||
|
||||
if (!item.isIdentified()) {
|
||||
GLog.w(Messages.get(MagesStaff.class, "id_first"));
|
||||
|
|
|
@ -34,7 +34,7 @@ public class WornShortsword extends MeleeWeapon {
|
|||
image = ItemSpriteSheet.WORN_SHORTSWORD;
|
||||
hitSound = Assets.Sounds.HIT_SLASH;
|
||||
hitSoundPitch = 1.1f;
|
||||
RCH = 3; //lots of extra reach
|
||||
RCH = 2; //lots of extra reach
|
||||
tier = 1;
|
||||
|
||||
bones = false;
|
||||
|
|
|
@ -190,6 +190,7 @@ public class ForestBossLevel extends Level {
|
|||
boss.state = boss.WANDERING;
|
||||
boss.pos = WIDTH*19+16;
|
||||
GameScene.add( boss );
|
||||
|
||||
set( getBossDoor, Terrain.WALL );
|
||||
GameScene.updateMap( getBossDoor );
|
||||
set( HOME, Terrain.EMPTY );
|
||||
|
|
|
@ -266,7 +266,7 @@ public abstract class Level implements Bundlable {
|
|||
|
||||
Random.pushGenerator( Dungeon.seedCurDepth() );
|
||||
|
||||
if (!(Dungeon.bossLevel()) || Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
|
||||
if (!(Dungeon.bossLevel()) || !(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH))) {
|
||||
|
||||
addItemToSpawn(Generator.random(Generator.Category.FOOD));
|
||||
|
||||
|
|
|
@ -526,7 +526,7 @@ public class InterlevelScene extends PixelScene {
|
|||
Dungeon.hero.resurrect();
|
||||
|
||||
//todo 灯火少于30给予一个食物。
|
||||
if(lanterfireactive && hero.lanterfire <= 30){
|
||||
if(lanterfireactive && hero.lanterfire <= 35){
|
||||
level.drop(new Food(), invPos);
|
||||
} else {
|
||||
level.drop(new LostBackpack(), invPos);
|
||||
|
|
|
@ -797,7 +797,7 @@ public class ItemSpriteSheet {
|
|||
assignItemRect(REDDRAGON, 14, 14);
|
||||
assignItemRect(LANTERNA, 10, 14);
|
||||
assignItemRect(LANTERNB, 10, 14);
|
||||
assignItemRect(SKPOTION, 12, 14);
|
||||
assignItemRect(SKPOTION, 8, 15);
|
||||
assignItemRect(SKNANO, 15, 14);
|
||||
assignItemRect(WATERSOUL, 14, 14);
|
||||
assignItemRect(WRALIPS, 16, 16);
|
||||
|
@ -848,6 +848,8 @@ public class ItemSpriteSheet {
|
|||
|
||||
public static final int CHALLANEESICON_14= CHALLANEESICONINDEX+13;
|
||||
|
||||
public static final int CHALLANEESICON_15= CHALLANEESICONINDEX+14;
|
||||
|
||||
//for smaller 8x8 icons that often accompany an item sprite
|
||||
public static class Icons {
|
||||
|
||||
|
|
|
@ -54,6 +54,9 @@ import java.util.ArrayList;
|
|||
public class vM0_6_7_X_Changes {
|
||||
|
||||
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
|
||||
add_v0_6_53_Changes(changeInfos);
|
||||
add_v0_6_52_Changes(changeInfos);
|
||||
add_v0_6_51_Changes(changeInfos);
|
||||
add_v0_6_50_Changes(changeInfos);
|
||||
add_v0_6_49_Changes(changeInfos);
|
||||
add_v0_6_48_Changes(changeInfos);
|
||||
|
@ -107,6 +110,93 @@ public class vM0_6_7_X_Changes {
|
|||
add_v0_6_0_Changes(changeInfos);
|
||||
}
|
||||
|
||||
public static void add_v0_6_53_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta5.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.CHALLANEESICON_15), ("灯火前行-V3.0-测试版"),
|
||||
("灯火全面升级,追加暗影系统,灯火随着楼层深入更加危险,你能否在祝福或诅咒中活下去?")));
|
||||
|
||||
changes.addButton(new ChangeButton(Icons.get(Icons.AUDIO), ("MLPD-原创音乐-丛林Boss通用曲-丛林尽头"),
|
||||
("感谢Prohonor的制作,实装在丛林Boss区。")));
|
||||
|
||||
changes = new ChangeInfo("改动", false, null);
|
||||
changes.hardlight(Window.CYELLOW);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.SKPOTION), ("油瓶"),
|
||||
("油瓶素材改动,并且现在加灯火一次只有30%。")));
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.CHALLANEESICON_15), ("灯火前行-V3.0-测试版"),
|
||||
("灯火随着楼层深入将更加危险,灯油的充能仅有30%。你能否在祝福或诅咒中活下去?")));
|
||||
|
||||
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_06X80")));
|
||||
|
||||
}
|
||||
|
||||
public static void add_v0_6_52_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta4.9", 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.WORN_SHORTSWORD), ("战士改动"),
|
||||
("战士初始武器攻击距离-1。")));
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.SPIRIT_ARROW), ("女猎改动"),
|
||||
("灵能短弓伤害面板从2-4提升到2-6,成长系数不变。")));
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.WAND_FROST), ("法师改动"),
|
||||
("现在移除初始冰霜法杖&焰浪法杖,但初始老魔杖获得1级。")));
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.ARTIFACT_CLOAK), ("盗贼改动"),
|
||||
("现在血影蝙蝠神器充能概率50%,且需要英雄10级以上。")));
|
||||
|
||||
changes = new ChangeInfo("改动", false, null);
|
||||
changes.hardlight(Window.CYELLOW);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.LANTERNB), ("灯火系统调整"),
|
||||
("在达到90灯火后,立刻进行一次正向Buff的Roll判定。")));
|
||||
|
||||
}
|
||||
|
||||
public static void add_v0_6_51_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta4.8", true, "");
|
||||
changes.hardlight(Window.TITLE_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes = new ChangeInfo("削弱", false, null);
|
||||
changes.hardlight(Window.RED_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.SPIRIT_ARROW), ("女猎改动"),
|
||||
("灵能短弓伤害面板从4-9降低到2-4,成长系数不变")));
|
||||
|
||||
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.WAND_FROST), ("法师改动"),
|
||||
("现在移除初始冰霜法杖,保留0级焰浪法杖")));
|
||||
|
||||
changes = new ChangeInfo("改动", false, null);
|
||||
changes.hardlight(Window.CYELLOW);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), ("BossRush改动"),
|
||||
("BossRush模式应该不会出现裂缝问题")));
|
||||
|
||||
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_06X79")));
|
||||
|
||||
}
|
||||
|
||||
public static void add_v0_6_50_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||
ChangeInfo changes = new ChangeInfo("v0.6.3.0-Beta4.5-7", true, "");
|
||||
changes.hardlight(Window.TITLE_COLOR);
|
||||
|
|
|
@ -329,7 +329,7 @@ public class WndChallenges extends Window {
|
|||
case "icedied":
|
||||
return new ItemSprite(ItemSpriteSheet.CHALLANEESICON_14, new ItemSprite.Glowing(0x009999));
|
||||
case "dhxd":
|
||||
return new ItemSprite(ItemSpriteSheet.LANTERNB, new ItemSprite.Glowing(0x384976));
|
||||
return new ItemSprite(ItemSpriteSheet.CHALLANEESICON_15, new ItemSprite.Glowing(0x384976));
|
||||
case "cs":
|
||||
return Icons.get(Icons.WARNING);
|
||||
default:
|
||||
|
|
|
@ -152,6 +152,8 @@ public class WndInfoMob extends WndTitledMessage {
|
|||
level = "领袖";
|
||||
} else if (mob.properties.contains(Char.Property.MINIBOSS)){
|
||||
level = "精英";
|
||||
} else if (mob.properties.contains(Char.Property.ABYSS)){
|
||||
level = "深渊";
|
||||
} else if (mob.properties.contains(Char.Property.UNDEAD)){
|
||||
level = "亡灵";
|
||||
} else if (mob.properties.contains(Char.Property.DEMONIC)){
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.GamesInProgress;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Ankh;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
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.RedButton;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextBlock;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||
import com.watabou.noosa.Game;
|
||||
|
||||
public class WndResurretDied extends Window {
|
||||
|
||||
private static final int WIDTH = 120;
|
||||
private static final int BTN_HEIGHT = 20;
|
||||
private static final float GAP = 2;
|
||||
|
||||
public static WndResurretDied instance;
|
||||
public static Object causeOfDeath;
|
||||
|
||||
public WndResurretDied(final Ankh ankhs, Object causeOfDeath ) {
|
||||
|
||||
super();
|
||||
|
||||
instance = this;
|
||||
WndResurretDied.causeOfDeath = causeOfDeath;
|
||||
|
||||
IconTitle titlebar = new IconTitle();
|
||||
titlebar.icon( new ItemSprite(ItemSpriteSheet.DG12));
|
||||
titlebar.label( Messages.titleCase(ankhs.name()) );
|
||||
titlebar.setRect( 0, 0, WIDTH, 0 );
|
||||
add( titlebar );
|
||||
|
||||
RenderedTextBlock message = PixelScene.renderTextBlock( Messages.get(this, "message"), 6 );
|
||||
message.maxWidth(WIDTH);
|
||||
message.setPos(0, titlebar.bottom() + GAP);
|
||||
add( message );
|
||||
|
||||
RedButton btnYes = new RedButton( Messages.get(this, "yes") ) {
|
||||
@Override
|
||||
protected void onClick() {
|
||||
hide();
|
||||
Statistics.ankhsUsed++;
|
||||
Dungeon.deleteGame( GamesInProgress.curSlot, true );
|
||||
Game.switchScene( TitleScene.class );
|
||||
}
|
||||
};
|
||||
btnYes.setRect( 0, message.top() + message.height() + GAP, WIDTH, BTN_HEIGHT );
|
||||
add( btnYes );
|
||||
|
||||
resize( WIDTH, (int)btnYes.bottom() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
super.destroy();
|
||||
instance = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
}
|
||||
}
|
||||
|
|
@ -24,6 +24,8 @@ package com.shatteredpixel.shatteredpixeldungeon.windows;
|
|||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.RollLevel;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.lanterfireactive;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero.badLanterFire;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero.goodLanterFire;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Chrome;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
|
@ -34,13 +36,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ClearBleesdGoodBuff
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ClearBleesdGoodBuff.BlessMixShiled;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ClearBleesdGoodBuff.BlessMobDied;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ClearBleesdGoodBuff.BlessNoMoney;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayCursed;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayKill;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayMoneyMore;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayNoSTR;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSaySlowy;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSaySoftDied;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicGirlDebuff.MagicGirlSayTimeLast;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfAnmy;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
|
@ -238,263 +233,34 @@ public class WndStory extends Window {
|
|||
GLog.b(Messages.get(WndStory.class,"start"));
|
||||
}
|
||||
if (RollLevel()) {
|
||||
//TODO 常规刷新
|
||||
if (hero.lanterfire == 100){
|
||||
switch (Random.Int(6)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
new WandOfAnmy().quantity(1).identify().collect();
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 99 && hero.lanterfire >= 90) {
|
||||
switch (Random.Int(6)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
new WandOfAnmy().quantity(1).identify().collect();
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 89 && hero.lanterfire >= 80 && Random.Float() <= 0.05f ) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
badLanterFire();
|
||||
} else if (hero.lanterfire <= 89 && hero.lanterfire >= 80 && Random.Float() <= 0.85f ) {
|
||||
switch (Random.Int(6)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
new WandOfAnmy().quantity(1).identify().collect();
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 89 && hero.lanterfire >= 80) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else if (hero.lanterfire <= 79 && hero.lanterfire >= 60 && Random.Float() <= 0.45f ) {
|
||||
switch (Random.Int(5)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
} else if (hero.lanterfire <= 79 && hero.lanterfire >= 60 && Random.Float() <= 0.50f ) {
|
||||
switch (Random.Int(6)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
new WandOfAnmy().quantity(1).identify().collect();
|
||||
Buff.affect(hero, BlessAnmy.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
} else if (hero.lanterfire <= 79 && hero.lanterfire >= 60 && Random.Float() <= 0.25f ) {
|
||||
badLanterFire();
|
||||
} else if (hero.lanterfire <= 79 && hero.lanterfire >= 60 && Random.Float() <= 0.70f ) {
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 79 && hero.lanterfire >= 60) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else if (hero.lanterfire <= 59 && hero.lanterfire >= 29 && Random.Float() <= 0.20f ) {
|
||||
switch (Random.Int(6)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 6:
|
||||
Buff.affect(hero, MagicGirlSayTimeLast.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
} else if (hero.lanterfire <= 59 && hero.lanterfire >= 35 && Random.Float() <= 0.60f ) {
|
||||
switch (Random.Int(4)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
} else if (hero.lanterfire <= 59 && hero.lanterfire >= 35 && Random.Float() <= 0.40f ) {
|
||||
badLanterFire();
|
||||
} else if (hero.lanterfire <= 59 && hero.lanterfire >= 35 && Random.Float() <= 0.20f ) {
|
||||
goodLanterFire();
|
||||
} else if (hero.lanterfire <= 59 && hero.lanterfire >= 35) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else if (hero.lanterfire <= 30 && hero.lanterfire >= 1 && Random.Float() <= 0.40f ) {
|
||||
switch (Random.Int(6)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set( (100), 1 );
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 6:
|
||||
Buff.affect(hero, MagicGirlSayTimeLast.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class,"bad"));
|
||||
} else if (hero.lanterfire <= 34 && hero.lanterfire >= 1 && Random.Float() <= 0.35f ) {
|
||||
switch (Random.Int(4)){
|
||||
case 0: default:
|
||||
Buff.affect(hero, BlessNoMoney.class).set( (100), 1 );
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, BlessGoodSTR.class).set( (100), 1 );
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, BlessMobDied.class).set( (100), 1 );
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, BlessMixShiled.class).set( (100), 1 );
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, BlessImmune.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.p(Messages.get(WndStory.class,"good"));
|
||||
} else if (hero.lanterfire <= 0 && Random.Float() <= 0.48f ) {
|
||||
switch (Random.Int(6)) {
|
||||
case 0:
|
||||
default:
|
||||
Buff.affect(hero, MagicGirlSayMoneyMore.class).set((100), 1);
|
||||
break;
|
||||
case 1:
|
||||
Buff.affect(hero, MagicGirlSaySoftDied.class).set((100), 1);
|
||||
break;
|
||||
case 2:
|
||||
Buff.affect(hero, MagicGirlSayCursed.class).set((100), 1);
|
||||
break;
|
||||
case 3:
|
||||
Buff.affect(hero, MagicGirlSaySlowy.class).set((100), 1);
|
||||
break;
|
||||
case 4:
|
||||
Buff.affect(hero, MagicGirlSayKill.class).set((100), 1);
|
||||
break;
|
||||
case 5:
|
||||
Buff.affect(hero, MagicGirlSayNoSTR.class).set((100), 1);
|
||||
break;
|
||||
case 6:
|
||||
Buff.affect(hero, MagicGirlSayTimeLast.class).set( (100), 1 );
|
||||
break;
|
||||
}
|
||||
GLog.n(Messages.get(WndStory.class, "bad"));
|
||||
} else if (hero.lanterfire <= 34 && hero.lanterfire >= 1 && Random.Float() <= 0.40f ) {
|
||||
badLanterFire();
|
||||
} else if (hero.lanterfire <= 34 && hero.lanterfire >= 1) {
|
||||
GLog.b(Messages.get(WndStory.class,"normoal"));
|
||||
} else {
|
||||
badLanterFire();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user