Update Items And New Wepaon
This commit is contained in:
parent
f2dc8b910e
commit
1d65a31b74
|
@ -150,6 +150,11 @@ items.weapon.melee.washcrime.desc=铁链的末端绑了一把巨镰,上面的
|
|||
items.weapon.melee.washcrime$diedghost.name=未安息的亡魂
|
||||
items.weapon.melee.washcrime$diedghost.desc=肉身已然逝去,灵魂尚未得到安息,脑海遵照主人的意愿,直到真正的死亡降临。
|
||||
|
||||
items.weapon.melee.bloodthirstythorn.name=嗜血荆棘
|
||||
items.weapon.melee.bloodthirstythorn.desc=浸染鲜血的倒悬之树。舍弃了仅存的秩序,独留狂暴与混乱。\n-攻击时有概率给敌人施加Γ流血和恐惧Γ效果。\n-特性:该武器拥有与蓄血圣杯相同的升级方式,最高等级10级。等级+3前每次攻击有概率扣除使用者2点生命值,并施加流血效果。等级+5及以后时攻击距离增加一格,并移除其负面影响。在10级时每次攻击将恢复造成伤害的一定比列的生命值。\n_-这是一把十分精准的武器_
|
||||
items.weapon.melee.bloodthirstythorn.stats_desc=这株植物已经汲取了Γ你的生命精华Γ并滋养长大,现在它的攻击范围扩大一格,精准度提高_20%_。
|
||||
items.weapon.melee.bloodthirstythorn.stats_descx=\n\n你的Γ生命精华Γ让这株植物再次变得茁壮,现在它会在_每次攻击敌人_时汲取一定的数值回馈给你。
|
||||
|
||||
#MLPDSTOREYBOOKS
|
||||
|
||||
items.books.bookslist.hellfirebooks.name=《浊焰事件》
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 81 KiB |
|
@ -260,7 +260,7 @@ public abstract class ChampionHero extends FlavourBuff {
|
|||
@Override
|
||||
public boolean act() {
|
||||
//detach();
|
||||
multiplier += 0.1f;
|
||||
multiplier += 0.5f;
|
||||
spend(3*TICK);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -317,7 +317,7 @@ public class Hero extends Char {
|
|||
strBonus += (int)Math.floor(STR * (0.03f + 0.05f*pointsInTalent(Talent.STRONGMAN)));
|
||||
}
|
||||
|
||||
//TODO 无力 本大层-3力量 : 坚毅 本大层力量+2
|
||||
//无力 本大层-3力量 : 坚毅 本大层力量+2
|
||||
if(Dungeon.hero.buff(MagicGirlSayNoSTR.class) != null){
|
||||
strBonus -= 3;
|
||||
} else if(Dungeon.hero.buff(BlessGoodSTR.class) != null) {
|
||||
|
|
|
@ -49,7 +49,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Amulet;
|
|||
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;
|
||||
|
@ -110,8 +109,8 @@ import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfGodIce;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfMagicMissile;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfScale;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.hightwand.WandOfHightHunderStorm;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BloodthirstyThorn;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dagger;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.EndingBlade;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.FireFishSword;
|
||||
|
@ -132,8 +131,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingSt
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.AikeLaier;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.Blindweed;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.Firebloom;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
public enum HeroClass {
|
||||
|
@ -178,27 +175,24 @@ public enum HeroClass {
|
|||
|
||||
|
||||
if (Dungeon.isChallenged(Challenges.PRO)){
|
||||
new WandOfHightHunderStorm().quantity(11).identify().collect();
|
||||
new LockSword().quantity(1).identify().collect();
|
||||
new PotionOfInvisibility().quantity(45).identify().collect();
|
||||
new PotionOfLevitation().quantity(100).identify().collect();
|
||||
new SDBSword().quantity(1).identify().collect();
|
||||
Buff.affect(hero, ChampionHero.AntiMagic.class, 50000f);
|
||||
|
||||
new BloodthirstyThorn().quantity(1).identify().collect();
|
||||
new Gauntlet().quantity(1).identify().collect();
|
||||
|
||||
new WashCrime().quantity(1).identify().collect();
|
||||
|
||||
new Cake().quantity(100).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();
|
||||
new WarHammer().quantity(1).identify().collect();
|
||||
new EtherealChains().quantity(1).identify().collect();
|
||||
new Firebloom.Seed().quantity(50).identify().collect();
|
||||
new Blindweed.Seed().quantity(50).identify().collect();
|
||||
new StoneOfFlock().quantity(50).identify().collect();
|
||||
new PotionOfMindVision().quantity(50).identify().collect();
|
||||
new PotionOfStrength().quantity(50).identify().collect();
|
||||
|
|
|
@ -0,0 +1,125 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
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.Terror;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
public class BloodthirstyThorn extends MeleeWeapon {
|
||||
|
||||
{
|
||||
image = ItemSpriteSheet.BloodDir;
|
||||
hitSound = Assets.Sounds.HIT_SLASH;
|
||||
hitSoundPitch = 0.9f;
|
||||
ACC = 1.75f;
|
||||
RCH=1;
|
||||
tier=6;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int min(int lvl) {
|
||||
return 4 +lvl*2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int max(int lvl) {
|
||||
return 14 + lvl*7;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int STRReq(int lvl){
|
||||
return 8;
|
||||
}
|
||||
|
||||
private void getHerodamageHp(Hero hero) {
|
||||
int damage = 2;
|
||||
hero.damage(damage,this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int proc(Char attacker, Char defender, int damage ) {
|
||||
// 等级+3前每次攻击有概率扣除使用者2点生命值,并施加流血效果。
|
||||
// 等级+5及以后时攻击距离增加一格,并移除其负面影响
|
||||
if (level() < 4 && Random.Float() > 0.35f) {
|
||||
getHerodamageHp(hero);
|
||||
Buff.affect(attacker, Bleeding.class).set(7);
|
||||
} else if (level() >= 10) {
|
||||
//吸血为每次伤害/5 例如=50/5=10 Math.min()不超出。
|
||||
attacker.HP += Math.min( attacker.HT, damage/5);
|
||||
// hero.sprite.showStatus(CharSprite.POSITIVE, ("+" +Math.min( attacker.HT, damage/5) + "HP"));
|
||||
} else {
|
||||
getHerodamageHp(hero);
|
||||
Buff.affect(attacker, Bleeding.class).set(7);
|
||||
}
|
||||
|
||||
//恐惧和流血
|
||||
if(level()>=0 && Random.Float()>0.45f){
|
||||
Buff.affect(defender, Bleeding.class).set(7);
|
||||
Buff.affect(defender, Terror.class, Terror.DURATION ).object = curUser.id();
|
||||
}
|
||||
return super.proc(attacker, defender, damage);
|
||||
|
||||
}
|
||||
|
||||
//动态改变图标1
|
||||
@Override
|
||||
public void restoreFromBundle(Bundle bundle) {
|
||||
super.restoreFromBundle(bundle);
|
||||
super.image = ItemSpriteSheet.BloodDir;
|
||||
if (level() >= 5) {
|
||||
super.image = ItemSpriteSheet.BloodDied;
|
||||
//在载入存档更新图标的同时更新攻击范围
|
||||
RCH=2;
|
||||
} else {
|
||||
super.image = ItemSpriteSheet.BloodDir;
|
||||
}
|
||||
}
|
||||
|
||||
//动态改变图标2
|
||||
@Override
|
||||
public void storeInBundle(Bundle bundle) {
|
||||
super.storeInBundle(bundle);
|
||||
super.image = ItemSpriteSheet.BloodDir;
|
||||
if (level() >= 5) {
|
||||
//在保存存档更新图标的同时更新攻击范围
|
||||
super.image = ItemSpriteSheet.BloodDied;
|
||||
RCH=2;
|
||||
} else {
|
||||
super.image = ItemSpriteSheet.BloodDir;
|
||||
}
|
||||
}
|
||||
|
||||
//动态改变图标3
|
||||
@Override
|
||||
public int image() {
|
||||
super.image = ItemSpriteSheet.BloodDir;
|
||||
if (level() >= 5) {
|
||||
super.image = ItemSpriteSheet.BloodDied;
|
||||
//在更新图标的同时更新攻击范围
|
||||
RCH=2;
|
||||
} else {
|
||||
super.image = ItemSpriteSheet.BloodDir;
|
||||
}
|
||||
return image;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String statsInfo(){
|
||||
if (isIdentified() && level() >= 10 ) {
|
||||
return Messages.get(this, "stats_desc")+Messages.get(this, "stats_descx");
|
||||
} else if (isIdentified() && level() >= 5) {
|
||||
return Messages.get(this, "stats_desc");
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -590,8 +590,8 @@ public class GameScene extends PixelScene {
|
|||
}
|
||||
|
||||
/*
|
||||
TODO 检查是否存在诅咒buff,然后在下楼的时候背刺英雄一下
|
||||
TODO 魔女的低语:束缚 本大层每下一层穿戴的装备必定被诅咒。
|
||||
检查是否存在诅咒buff,然后在下楼的时候背刺英雄一下
|
||||
魔女的低语:束缚 本大层每下一层穿戴的装备必定被诅咒。
|
||||
*/
|
||||
if(Dungeon.hero.buff(MagicGirlSayCursed.class) != null){
|
||||
CursingTrap cursed = new CursingTrap();
|
||||
|
|
|
@ -182,7 +182,7 @@ public class InterlevelScene extends PixelScene {
|
|||
fadeTime += 0.9f; //adds 1 second total
|
||||
//speed up transition when debugging
|
||||
} else if (DeviceCompat.isDebug()){
|
||||
fadeTime = 0.85f;
|
||||
fadeTime = 0.1f;
|
||||
}
|
||||
|
||||
SkinnedBlock bg = new SkinnedBlock(Camera.main.width, Camera.main.height, loadingAsset ){
|
||||
|
|
|
@ -759,6 +759,9 @@ public class ItemSpriteSheet {
|
|||
|
||||
public static final int DASlade = BAGS+77;
|
||||
|
||||
public static final int BloodDir = BAGS+78;
|
||||
public static final int BloodDied = BAGS+79;
|
||||
|
||||
static{
|
||||
assignItemRect(VIAL, 16, 16);
|
||||
assignItemRect(POUCH, 14, 15);
|
||||
|
|
Loading…
Reference in New Issue
Block a user