v0.9.1: Tweaked T1 talents for the Rogue and Huntress
This commit is contained in:
parent
d4709a1100
commit
3b0aaa7d29
Binary file not shown.
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -338,23 +338,25 @@ actors.hero.talent.energizing_meal.desc=_+1:_ Eating food grants the Mage _5 tur
|
|||
actors.hero.talent.energizing_upgrade.title=energizing upgrade
|
||||
actors.hero.talent.energizing_upgrade.desc=_+1:_ The Mage's staff recharges for _1 extra charge_ whenever the Mage upgrades it.\n\n_+2:_ The Mage's staff recharges for _2 extra charges_ whenever the Mage upgrades it.
|
||||
|
||||
actors.hero.talent.rationed_meal.title=rationed meal
|
||||
actors.hero.talent.rationed_meal.desc=_+1:_ Eating food gives the Rogue _15% more satiety_.\n\n_+2:_ Eating food gives the Rogue _25% more satiety_.
|
||||
actors.hero.talent.cached_rations.title=cached rations
|
||||
actors.hero.talent.cached_rations.desc=_+1:_ The Rogue can find _3 small rations_ placed in chests while he explores the earlier stages of the dungeon.\n\n_+2:_ The Rogue can find _5 small rations_ placed in chests while he explores the earlier stages of the the dungeon.
|
||||
actors.hero.talent.thiefs_intuition.title=thief's intuition
|
||||
actors.hero.talent.thiefs_intuition.desc=_+1:_ The Rogue identifies rings _2x faster_, and identifies the type of a ring _when he equips it_.\n\n_+2:_ The Rogue identifies rings _when he equips them_, and identifies the type of a ring _when he picks it up_.
|
||||
actors.hero.talent.sucker_punch.title=sucker punch
|
||||
actors.hero.talent.sucker_punch.desc=_+1:_ The Rogue deals _1-2 bonus damage_ the first time he surprise attacks an enemy.\n\n_+2:_ The Rogue deals _2 bonus damage_ the first time he surprise attacks an enemy.
|
||||
actors.hero.talent.mending_shadows.title=mending shadows
|
||||
actors.hero.talent.mending_shadows.desc=_+1:_ The Rogue heals for 1 HP every _5 consecutive turns_ that he is hidden by his cloak.\n\n_+2:_ The Rogue heals for 1 HP every _3 consecutive turns_ that he is hidden by his cloak.
|
||||
actors.hero.talent.protective_shadows.title=protective shadows
|
||||
actors.hero.talent.protective_shadows.desc=_+1:_ The Rogue gains one shielding _every other turn_ his cloak is activated, _to a max of 3_.\n\n_+2:_ The Rogue gains one shielding _every turn_ his cloak is activated, _to a max of 5_.
|
||||
|
||||
actors.hero.talent.invigorating_meal.title=invigorating meal
|
||||
actors.hero.talent.invigorating_meal.desc=_+1:_ Eating food takes 1 turn and grants the Huntress _1 turn of haste_.\n\n_+2:_ Eating food takes 1 turn and grants the Huntress _2 turns of haste_.
|
||||
actors.hero.talent.natures_bounty.title=nature's bounty
|
||||
actors.hero.talent.natures_bounty.desc=_+1:_ The Huntress can find _4 berries_ hidden in tall grass as she explores the earlier stages of the dungeon.\n\n_+2:_ The Huntress can find _6 berries_ hidden in tall grass as she explores the earlier stages of the dungeon.
|
||||
actors.hero.talent.survivalists_intuition.title=survivalist's intuition
|
||||
actors.hero.talent.survivalists_intuition.desc=_+1:_ The Huntress identifies all equipment _1.75x faster_.\n\n_+2:_ The Huntress identifies all equipment _2.5x faster_.
|
||||
actors.hero.talent.followup_strike.title=followup strike
|
||||
actors.hero.talent.followup_strike.desc=_+1:_ When the Huntress hits an enemy with her bow or a thrown weapon, her next melee attack against that enemy deals _2 bonus damage_.\n\n_+2:_ When the Huntress hits an enemy with her bow or a thrown weapon, her next melee attack against that enemy deals _3 bonus damage_
|
||||
actors.hero.talent.natures_aid.title=nature's aid
|
||||
actors.hero.talent.natures_aid.desc=_+1:_ The Huntress gains 2 armor of barkskin for _4 turns_ when a plant is trampled in her vision.\n\n_+2:_ The Huntress gains 2 armor of barkskin for _6 turns_ when a plant is trampled in her vision.
|
||||
actors.hero.talent.invigorating_meal.title=invigorating meal
|
||||
actors.hero.talent.invigorating_meal.desc=_+1:_ Eating food takes 1 turn and grants the Huntress _1 turn of haste_.\n\n_+2:_ Eating food takes 1 turn and grants the Huntress _2 turns of haste_.
|
||||
|
||||
actors.hero.hero.name=you
|
||||
actors.hero.hero.leave=You can't leave yet, the rest of the dungeon awaits below!
|
||||
|
|
|
@ -482,6 +482,10 @@ items.bombs.woollybomb.name=woolly bomb
|
|||
items.bombs.woollybomb.desc=This customized bomb will create a field of magical sheep after exploding. These sheep will block movement and persist for some time.
|
||||
|
||||
###food
|
||||
items.food.berry.name=dungeon berry
|
||||
items.food.berry.eat_msg=That berry was tasty!
|
||||
items.food.berry.desc=This small berry was found by the huntress among the dungeon's vegetation. It can be eaten quickly, restores a small amount of satiety, and might contain a usable seed!
|
||||
|
||||
items.food.blandfruit.name=blandfruit
|
||||
items.food.blandfruit.cooked=cooked blandfruit
|
||||
items.food.blandfruit.sunfruit=sunfruit
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
@ -25,8 +25,8 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.CounterBuff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Recharging;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.WandEmpower;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
|
@ -71,21 +71,21 @@ public enum Talent {
|
|||
TEST_MAGE_T2_4(23),
|
||||
TEST_MAGE_T2_5(24),
|
||||
|
||||
RATIONED_MEAL(32),
|
||||
CACHED_RATIONS(32),
|
||||
THIEFS_INTUITION(33),
|
||||
SUCKER_PUNCH(34),
|
||||
MENDING_SHADOWS(35),
|
||||
PROTECTIVE_SHADOWS(35),
|
||||
TEST_ROGUE_T2_1(36),
|
||||
TEST_ROGUE_T2_2(37),
|
||||
TEST_ROGUE_T2_3(38),
|
||||
TEST_ROGUE_T2_4(39),
|
||||
TEST_ROGUE_T2_5(40),
|
||||
|
||||
INVIGORATING_MEAL(48),
|
||||
NATURES_BOUNTY(48),
|
||||
SURVIVALISTS_INTUITION(49),
|
||||
FOLLOWUP_STRIKE(50),
|
||||
NATURES_AID(51),
|
||||
TEST_HUNTRESS_T2_1(52),
|
||||
INVIGORATING_MEAL(52),
|
||||
TEST_HUNTRESS_T2_2(53),
|
||||
TEST_HUNTRESS_T2_3(54),
|
||||
TEST_HUNTRESS_T2_4(55),
|
||||
|
@ -117,6 +117,11 @@ public enum Talent {
|
|||
}
|
||||
|
||||
public static void onTalentUpgraded( Hero hero, Talent talent){
|
||||
if (talent == NATURES_BOUNTY){
|
||||
if ( hero.pointsInTalent(NATURES_BOUNTY) == 1) Buff.count(hero, NatureBerriesAvailable.class, 4);
|
||||
else Buff.count(hero, NatureBerriesAvailable.class, 2);
|
||||
}
|
||||
|
||||
if (talent == ARMSMASTERS_INTUITION && hero.pointsInTalent(ARMSMASTERS_INTUITION) == 2){
|
||||
if (hero.belongings.weapon != null) hero.belongings.weapon.identify();
|
||||
if (hero.belongings.armor != null) hero.belongings.armor.identify();
|
||||
|
@ -136,6 +141,9 @@ public enum Talent {
|
|||
}
|
||||
}
|
||||
|
||||
public static class CachedRationsDropped extends CounterBuff{};
|
||||
public static class NatureBerriesAvailable extends CounterBuff{};
|
||||
|
||||
public static void onFoodEaten( Hero hero, float foodVal ){
|
||||
if (hero.hasTalent(HEARTY_MEAL)){
|
||||
//3/5 HP healed, when hero is below 25% health
|
||||
|
@ -158,11 +166,6 @@ public enum Talent {
|
|||
Buff.affect( hero, Recharging.class, 2 + 3*(hero.pointsInTalent(ENERGIZING_MEAL)) );
|
||||
ScrollOfRecharging.charge( hero );
|
||||
}
|
||||
if (hero.hasTalent(RATIONED_MEAL)){
|
||||
//15%/25% bonus food value
|
||||
float bonusSatiety = foodVal * (0.05f + (0.1f * hero.pointsInTalent(RATIONED_MEAL)));
|
||||
Buff.affect(hero, Hunger.class).affectHunger(bonusSatiety, true);
|
||||
}
|
||||
if (hero.hasTalent(INVIGORATING_MEAL)){
|
||||
//effectively 1/2 turns of haste
|
||||
Buff.affect( hero, Haste.class, 0.67f+hero.pointsInTalent(INVIGORATING_MEAL));
|
||||
|
@ -270,10 +273,10 @@ public enum Talent {
|
|||
Collections.addAll(tierTalents, EMPOWERING_MEAL, SCHOLARS_INTUITION, TESTED_HYPOTHESIS, BACKUP_BARRIER);
|
||||
break;
|
||||
case ROGUE:
|
||||
Collections.addAll(tierTalents, RATIONED_MEAL, THIEFS_INTUITION, SUCKER_PUNCH, MENDING_SHADOWS);
|
||||
Collections.addAll(tierTalents, CACHED_RATIONS, THIEFS_INTUITION, SUCKER_PUNCH, PROTECTIVE_SHADOWS);
|
||||
break;
|
||||
case HUNTRESS:
|
||||
Collections.addAll(tierTalents, INVIGORATING_MEAL, SURVIVALISTS_INTUITION, FOLLOWUP_STRIKE, NATURES_AID);
|
||||
Collections.addAll(tierTalents, NATURES_BOUNTY, SURVIVALISTS_INTUITION, FOLLOWUP_STRIKE, NATURES_AID);
|
||||
break;
|
||||
}
|
||||
for (Talent talent : tierTalents){
|
||||
|
@ -293,7 +296,7 @@ public enum Talent {
|
|||
Collections.addAll(tierTalents, TEST_ROGUE_T2_1, TEST_ROGUE_T2_2, TEST_ROGUE_T2_3, TEST_ROGUE_T2_4, TEST_ROGUE_T2_5);
|
||||
break;
|
||||
case HUNTRESS:
|
||||
Collections.addAll(tierTalents, TEST_HUNTRESS_T2_1, TEST_HUNTRESS_T2_2, TEST_HUNTRESS_T2_3, TEST_HUNTRESS_T2_4, TEST_HUNTRESS_T2_5);
|
||||
Collections.addAll(tierTalents, INVIGORATING_MEAL, TEST_HUNTRESS_T2_2, TEST_HUNTRESS_T2_3, TEST_HUNTRESS_T2_4, TEST_HUNTRESS_T2_5);
|
||||
break;
|
||||
}
|
||||
for (Talent talent : tierTalents){
|
||||
|
|
|
@ -24,13 +24,13 @@ package com.shatteredpixel.shatteredpixeldungeon.items.artifacts;
|
|||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barrier;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Preparation;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
|
@ -242,19 +242,21 @@ public class CloakOfShadows extends Artifact {
|
|||
}
|
||||
}
|
||||
|
||||
float healInc = 0;
|
||||
float barrierInc = 0.5f;
|
||||
|
||||
@Override
|
||||
public boolean act(){
|
||||
turnsToCost--;
|
||||
|
||||
if (((Hero)target).hasTalent(Talent.MENDING_SHADOWS)){
|
||||
healInc++;
|
||||
// 5/3 turns to heal
|
||||
if (healInc >= 7 - 2*((Hero) target).pointsInTalent(Talent.MENDING_SHADOWS)){
|
||||
healInc = 0;
|
||||
target.HP = Math.min(target.HT, target.HP+1);
|
||||
target.sprite.emitter().burst( Speck.factory( Speck.HEALING ), 1 );
|
||||
//barrier every 2/1 turns, to a max of 3/5
|
||||
if (((Hero)target).hasTalent(Talent.PROTECTIVE_SHADOWS)){
|
||||
Barrier barrier = Buff.affect(target, Barrier.class);
|
||||
if (barrier.shielding() < 1 + 2*((Hero)target).pointsInTalent(Talent.PROTECTIVE_SHADOWS)) {
|
||||
barrierInc += 0.5f * ((Hero) target).pointsInTalent(Talent.PROTECTIVE_SHADOWS);
|
||||
}
|
||||
if (barrierInc >= 1 ){
|
||||
barrierInc = 0;
|
||||
barrier.incShield(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -326,14 +328,14 @@ public class CloakOfShadows extends Artifact {
|
|||
}
|
||||
|
||||
private static final String TURNSTOCOST = "turnsToCost";
|
||||
private static final String HEAL_INC = "heal_inc";
|
||||
private static final String BARRIER_INC = "barrier_inc";
|
||||
|
||||
@Override
|
||||
public void storeInBundle(Bundle bundle) {
|
||||
super.storeInBundle(bundle);
|
||||
|
||||
bundle.put( TURNSTOCOST , turnsToCost);
|
||||
bundle.put( HEAL_INC, healInc);
|
||||
bundle.put( BARRIER_INC, barrierInc);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -341,7 +343,7 @@ public class CloakOfShadows extends Artifact {
|
|||
super.restoreFromBundle(bundle);
|
||||
|
||||
turnsToCost = bundle.getInt( TURNSTOCOST );
|
||||
healInc = bundle.getFloat( HEAL_INC );
|
||||
barrierInc = bundle.getFloat( BARRIER_INC );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* Pixel Dungeon
|
||||
* Copyright (C) 2012-2015 Oleg Dolya
|
||||
*
|
||||
* Shattered Pixel Dungeon
|
||||
* Copyright (C) 2014-2020 Evan Debenham
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
package com.shatteredpixel.shatteredpixeldungeon.items.food;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.CounterBuff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
|
||||
public class Berry extends Food {
|
||||
|
||||
{
|
||||
image = ItemSpriteSheet.BERRY;
|
||||
energy = Hunger.HUNGRY/4f; //75 food value
|
||||
}
|
||||
|
||||
@Override
|
||||
protected float eatingTime(){
|
||||
if (Dungeon.hero.hasTalent(Talent.INVIGORATING_MEAL)){
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void satisfy(Hero hero) {
|
||||
super.satisfy(hero);
|
||||
SeedCounter counter = Buff.count(hero, SeedCounter.class, 1);
|
||||
if (counter.count() >= 2){
|
||||
Dungeon.level.drop(Generator.random(Generator.Category.SEED), hero.pos).sprite.drop();
|
||||
counter.detach();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int value() {
|
||||
return 5 * quantity;
|
||||
}
|
||||
|
||||
public static class SeedCounter extends CounterBuff{};
|
||||
}
|
|
@ -25,6 +25,8 @@ import com.shatteredpixel.shatteredpixeldungeon.Bones;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.GoldenMimic;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mimic;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
|
@ -33,6 +35,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.food.SmallRation;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.journal.GuidePage;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Document;
|
||||
|
@ -378,7 +381,7 @@ public abstract class RegularLevel extends Level {
|
|||
}
|
||||
}
|
||||
|
||||
//use a separate generator for this to prevent held items and meta progress from affecting levelgen
|
||||
//use a separate generator for this to prevent held items, meta progress, and talents from affecting levelgen
|
||||
Random.pushGenerator( Dungeon.seedCurDepth() );
|
||||
|
||||
Item item = Bones.get();
|
||||
|
@ -411,6 +414,24 @@ public abstract class RegularLevel extends Level {
|
|||
}
|
||||
}
|
||||
|
||||
//cached rations try to drop in a special room on floors 2/4/6/8/9, to a max of 3/5
|
||||
if (Dungeon.hero.hasTalent(Talent.CACHED_RATIONS)){
|
||||
Talent.CachedRationsDropped dropped = Buff.affect(Dungeon.hero, Talent.CachedRationsDropped.class);
|
||||
if (dropped.count() < 1 + 2*Dungeon.hero.pointsInTalent(Talent.CACHED_RATIONS)
|
||||
&& Math.min(8, 1 + 2*dropped.count()) < Dungeon.depth){
|
||||
int cell;
|
||||
do {
|
||||
cell = randomDropCell(SpecialRoom.class);
|
||||
} while (room(cell) instanceof SecretRoom);
|
||||
if (map[cell] == Terrain.HIGH_GRASS || map[cell] == Terrain.FURROWED_GRASS) {
|
||||
map[cell] = Terrain.GRASS;
|
||||
losBlocking[cell] = false;
|
||||
}
|
||||
drop( new SmallRation(), cell).type = Heap.Type.CHEST;
|
||||
dropped.countUp(1);
|
||||
}
|
||||
}
|
||||
|
||||
//guide pages
|
||||
Collection<String> allPages = Document.ADVENTURERS_GUIDE.pages();
|
||||
ArrayList<String> missingPages = new ArrayList<>();
|
||||
|
@ -474,10 +495,14 @@ public abstract class RegularLevel extends Level {
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected int randomDropCell(){
|
||||
return randomDropCell(StandardRoom.class);
|
||||
}
|
||||
|
||||
protected int randomDropCell() {
|
||||
protected int randomDropCell( Class<?extends Room> roomType ) {
|
||||
while (true) {
|
||||
Room room = randomRoom( StandardRoom.class );
|
||||
Room room = randomRoom( roomType );
|
||||
if (room != null && room != roomEntrance) {
|
||||
int pos = pointToCell(room.random());
|
||||
if (passable[pos]
|
||||
|
|
|
@ -30,12 +30,14 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.LeafParticle;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Dewdrop;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Camouflage;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.SandalsOfNature;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.food.Berry;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
|
@ -82,6 +84,17 @@ public class HighGrass {
|
|||
naturalismLevel = -1;
|
||||
}
|
||||
}
|
||||
|
||||
Talent.NatureBerriesAvailable berries = ch.buff(Talent.NatureBerriesAvailable.class);
|
||||
if (berries != null && Random.Int(30) == 0){
|
||||
if (berries.count() > 0){
|
||||
berries.countDown(1);
|
||||
level.drop(new Berry(), pos).sprite.drop();
|
||||
}
|
||||
if (berries.count() <= 0){
|
||||
berries.detach();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (naturalismLevel >= 0) {
|
||||
|
|
|
@ -626,6 +626,7 @@ public class ItemSpriteSheet {
|
|||
public static final int MEAT_PIE = FOOD+9;
|
||||
public static final int BLANDFRUIT = FOOD+10;
|
||||
public static final int BLAND_CHUNKS= FOOD+11;
|
||||
public static final int BERRY = FOOD+12;
|
||||
static{
|
||||
assignItemRect(MEAT, 15, 11);
|
||||
assignItemRect(STEAK, 15, 11);
|
||||
|
@ -639,6 +640,7 @@ public class ItemSpriteSheet {
|
|||
assignItemRect(MEAT_PIE, 16, 12);
|
||||
assignItemRect(BLANDFRUIT, 9, 12);
|
||||
assignItemRect(BLAND_CHUNKS,14, 6);
|
||||
assignItemRect(BERRY, 9, 11);
|
||||
}
|
||||
|
||||
private static final int QUEST = xy(1, 29); //32 slots
|
||||
|
|
Loading…
Reference in New Issue
Block a user