本文整理汇总了Java中com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots类的典型用法代码示例。如果您正苦于以下问题:Java Roots类的具体用法?Java Roots怎么用?Java Roots使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Roots类属于com.shatteredpixel.shatteredpixeldungeon.actors.buffs包,在下文中一共展示了Roots类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: evolve
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
protected void evolve() {
for (int i=0; i < LENGTH; i++) {
int offv = cur[i] > 0 ? cur[i] - 1 : 0;
off[i] = offv;
if (offv > 0) {
volume += offv;
Char ch = Actor.findChar( i );
if (ch != null) {
Buff.prolong( ch, Roots.class, TICK );
}
}
}
}
示例2: doSpecial
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public void doSpecial() {
for (Mob mob : Dungeon.level.mobs) {
if (Level.fieldOfView[mob.pos]) {
Buff.affect( mob, Burning.class ).reignite( mob );
Buff.prolong( mob, Roots.class, 3 );
}
}
curUser.HP -= (curUser.HP / 3);
curUser.spend( Actor.TICK );
curUser.sprite.operate( curUser.pos );
curUser.busy();
curUser.sprite.centerEmitter().start( ElmoParticle.FACTORY, 0.15f, 4 );
Sample.INSTANCE.play( Assets.SND_READ );
}
示例3: execute
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public void execute( Hero hero, String action ) {
super.execute(hero, action);
if (action.equals(AC_FEED)){
GameScene.selectItem(itemSelector, mode, inventoryTitle);
} else if (action.equals(AC_ROOT) && level > 0){
if (!isEquipped( hero )) GLog.i("You need to equip them to do that.");
else if (charge == 0) GLog.i("They have no energy right now.");
else {
Buff.prolong(hero, Roots.class, 5);
Buff.affect(hero, Earthroot.Armor.class).level(charge);
CellEmitter.bottom(hero.pos).start(EarthParticle.FACTORY, 0.05f, 8);
Camera.main.shake(1, 0.4f);
charge = 0;
updateQuickslot();
}
}
}
示例4: evolve
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
protected void evolve() {
int cell;
for (int i = area.left; i < area.right; i++){
for (int j = area.top; j < area.bottom; j++){
cell = i + j*Dungeon.level.width();
off[cell] = cur[cell] > 0 ? cur[cell] - 1 : 0;
if (off[cell] > 0) {
volume += off[cell];
Char ch = Actor.findChar( cell );
if (ch != null && !ch.immunities().contains(this.getClass())) {
Buff.prolong( ch, Roots.class, TICK );
}
}
}
}
}
示例5: doSpecial
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public void doSpecial() {
for (Mob mob : Dungeon.level.mobs.toArray(new Mob[0])) {
if (Dungeon.level.heroFOV[mob.pos]) {
Buff.affect( mob, Burning.class ).reignite( mob );
Buff.prolong( mob, Roots.class, 3 );
}
}
curUser.HP -= (curUser.HP / 3);
curUser.spend( Actor.TICK );
curUser.sprite.operate( curUser.pos );
curUser.busy();
curUser.sprite.centerEmitter().start( ElmoParticle.FACTORY, 0.15f, 4 );
Sample.INSTANCE.play( Assets.SND_READ );
}
示例6: effect
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
public static void effect(Hero hero){
switch (Random.Int( 5 )) {
case 0:
GLog.w( Messages.get(MysteryMeat.class, "hot") );
Buff.affect( hero, Burning.class ).reignite( hero );
break;
case 1:
GLog.w( Messages.get(MysteryMeat.class, "legs") );
Buff.prolong( hero, Roots.class, Paralysis.duration( hero ) );
break;
case 2:
GLog.w( Messages.get(MysteryMeat.class, "not_well") );
Buff.affect( hero, Poison.class ).set( Poison.durationFactor( hero ) * hero.HT / 5 );
break;
case 3:
GLog.w( Messages.get(MysteryMeat.class, "stuffed") );
Buff.prolong( hero, Slow.class, Slow.duration( hero ) );
break;
}
}
示例7: execute
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public void execute( Hero hero, String action ) {
super.execute(hero, action);
if (action.equals(AC_FEED)){
GameScene.selectItem(itemSelector, mode, Messages.get(this, "prompt"));
} else if (action.equals(AC_ROOT) && level() > 0){
if (!isEquipped( hero )) GLog.i( Messages.get(Artifact.class, "need_to_equip") );
else if (charge == 0) GLog.i( Messages.get(this, "no_charge") );
else {
Buff.prolong(hero, Roots.class, 5);
Buff.affect(hero, Earthroot.Armor.class).level(charge);
CellEmitter.bottom(hero.pos).start(EarthParticle.FACTORY, 0.05f, 8);
Camera.main.shake(1, 0.4f);
charge = 0;
updateQuickslot();
}
}
}
示例8: evolve
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
protected void evolve() {
super.evolve();
if (volume > 0) {
boolean mapUpdated = false;
for (int i=0; i < LENGTH; i++) {
if (off[i] > 0) {
int c = Dungeon.level.map[i];
if (c == Terrain.EMPTY || c == Terrain.EMBERS || c == Terrain.EMPTY_DECO) {
Level.set( i, cur[i] > 9 ? Terrain.HIGH_GRASS : Terrain.GRASS );
mapUpdated = true;
} else if (c == Terrain.GRASS && cur[i] > 9) {
Level.set( i, Terrain.HIGH_GRASS );
mapUpdated = true;
}
Char ch = Actor.findChar( i );
if (ch != null) {
Buff.prolong( ch, Roots.class, TICK );
}
}
}
if (mapUpdated) {
GameScene.updateMap();
Dungeon.observe();
}
}
}
示例9: activate
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public void activate( Char ch ) {
super.activate( ch );
GameScene.add( Blob.seed( pos, 100, ToxicGas.class ) );
Dungeon.level.drop( new Seed(), pos ).sprite.drop();
if (ch != null) {
Buff.prolong( ch, Roots.class, TICK * 3 );
}
}
示例10: execute
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public void execute( Hero hero, String action ) {
super.execute( hero, action );
if (action.equals( AC_EAT )) {
switch (Random.Int( 5 )) {
case 0:
GLog.w( "Oh it's hot!" );
Buff.affect( hero, Burning.class ).reignite( hero );
break;
case 1:
GLog.w( "You can't feel your legs!" );
Buff.prolong( hero, Roots.class, Paralysis.duration( hero ) );
break;
case 2:
GLog.w( "You are not feeling well." );
Buff.affect( hero, Poison.class ).set( Poison.durationFactor( hero ) * hero.HT / 5 );
break;
case 3:
GLog.w( "You are stuffed." );
Buff.prolong( hero, Slow.class, Slow.duration( hero ) );
break;
}
}
}
示例11: evolve
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
protected void evolve() {
super.evolve();
if (volume > 0) {
int cell;
for (int i = area.left; i < area.right; i++) {
for (int j = area.top; j < area.bottom; j++) {
cell = i + j*Dungeon.level.width();
if (off[cell] > 0) {
int c = Dungeon.level.map[cell];
int c1 = c;
if (c == Terrain.EMPTY || c == Terrain.EMBERS || c == Terrain.EMPTY_DECO) {
c1 = (cur[cell] > 9 && Actor.findChar( cell ) == null)
? Terrain.HIGH_GRASS : Terrain.GRASS;
} else if (c == Terrain.GRASS && cur[cell] > 9 && Dungeon.level.plants.get(cell) == null && Actor.findChar( cell ) == null ) {
c1 = Terrain.HIGH_GRASS;
}
if (c1 != c) {
Level.set( cell, c1 );
GameScene.updateMap( cell );
}
Char ch = Actor.findChar( cell );
if (ch != null
&& !ch.immunities().contains(this.getClass())
&& off[cell] > 1) {
Buff.prolong( ch, Roots.class, TICK );
}
}
}
}
Dungeon.observe();
}
}
示例12: add
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public void add( Buff buff ) {
if (buff(TimekeepersHourglass.timeStasis.class) != null)
return;
super.add( buff );
if (sprite != null) {
if (buff instanceof Burning) {
GLog.w( "You catch fire!" );
interrupt();
} else if (buff instanceof Paralysis) {
GLog.w( "You are paralysed!" );
interrupt();
} else if (buff instanceof Poison) {
GLog.w( "You are poisoned!" );
interrupt();
} else if (buff instanceof Ooze) {
GLog.w( "Caustic ooze eats your flesh. Wash it away!" );
} else if (buff instanceof Roots) {
GLog.w( "You can't move!" );
} else if (buff instanceof Weakness) {
GLog.w( "You feel weakened!" );
} else if (buff instanceof Blindness) {
GLog.w( "You are blinded!" );
} else if (buff instanceof Fury) {
GLog.w( "You become furious!" );
sprite.showStatus( CharSprite.POSITIVE, "furious" );
} else if (buff instanceof Charm) {
GLog.w( "You are charmed!" );
} else if (buff instanceof Cripple) {
GLog.w( "You are crippled!" );
} else if (buff instanceof Bleeding) {
GLog.w( "You are bleeding!" );
} else if (buff instanceof RingOfMight.Might){
if (((RingOfMight.Might)buff).level > 0) {
HT += ((RingOfMight.Might) buff).level * 5;
}
} else if (buff instanceof Vertigo) {
GLog.w("Everything is spinning around you!");
interrupt();
}
else if (buff instanceof Light) {
sprite.add( CharSprite.State.ILLUMINATED );
}
}
BuffIndicator.refreshHero();
}
示例13: proc
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public int proc( Armor armor, Char attacker, Char defender, int damage ) {
int level = Math.max( 0, armor.level );
if (Random.Int( 4 ) == 0) {
Buff.prolong( defender, Roots.class, 5 - level / 5 );
Buff.affect( defender, Earthroot.Armor.class ).level( 5 * (level + 1) );
CellEmitter.bottom( defender.pos ).start( EarthParticle.FACTORY, 0.05f, 8 );
Camera.main.shake( 1, 0.4f );
}
return damage;
}
示例14: proc
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; //导入依赖的package包/类
@Override
public int proc( Armor armor, Char attacker, Char defender, int damage ) {
int level = Math.max( 0, armor.level() );
if (Random.Int( 4 ) == 0) {
Buff.prolong( defender, Roots.class, 3 );
Buff.affect( defender, Earthroot.Armor.class ).level( 5 + 2*level );
CellEmitter.bottom( defender.pos ).start( EarthParticle.FACTORY, 0.05f, 8 );
Camera.main.shake( 1, 0.4f );
}
return damage;
}