v0.4.0: updated wand curse logic
This commit is contained in:
parent
3f9c7cf6f8
commit
6b700a96eb
|
@ -186,12 +186,16 @@ public abstract class Wand extends Item {
|
||||||
@Override
|
@Override
|
||||||
public Item upgrade() {
|
public Item upgrade() {
|
||||||
|
|
||||||
if (cursed && cursedKnown) {
|
boolean cursedPreUpgrade = cursed;
|
||||||
GLog.p( Messages.get(Item.class, "remove_curse") );
|
|
||||||
Dungeon.hero.sprite.emitter().start( ShadowParticle.UP, 0.05f, 10 );
|
|
||||||
}
|
|
||||||
|
|
||||||
super.upgrade();
|
super.upgrade();
|
||||||
|
|
||||||
|
if (cursedPreUpgrade && Random.Float() > Math.pow(0.9, level())){
|
||||||
|
GLog.p( Messages.get(Item.class, "remove_curse") );
|
||||||
|
Dungeon.hero.sprite.emitter().start( ShadowParticle.UP, 0.05f, 10 );
|
||||||
|
} else {
|
||||||
|
cursed = cursedPreUpgrade;
|
||||||
|
}
|
||||||
|
|
||||||
updateLevel();
|
updateLevel();
|
||||||
curCharges = Math.min( curCharges + 1, maxCharges );
|
curCharges = Math.min( curCharges + 1, maxCharges );
|
||||||
|
|
|
@ -155,6 +155,7 @@ public class MagesStaff extends MeleeWeapon {
|
||||||
|
|
||||||
public Item imbueWand(Wand wand, Char owner){
|
public Item imbueWand(Wand wand, Char owner){
|
||||||
|
|
||||||
|
wand.cursed = false;
|
||||||
this.wand = null;
|
this.wand = null;
|
||||||
|
|
||||||
//syncs the level of the two items.
|
//syncs the level of the two items.
|
||||||
|
@ -176,7 +177,6 @@ public class MagesStaff extends MeleeWeapon {
|
||||||
wand.maxCharges = Math.min(wand.maxCharges + 1, 10);
|
wand.maxCharges = Math.min(wand.maxCharges + 1, 10);
|
||||||
wand.curCharges = wand.maxCharges;
|
wand.curCharges = wand.maxCharges;
|
||||||
wand.identify();
|
wand.identify();
|
||||||
wand.cursed = false;
|
|
||||||
if (owner != null) wand.charge(owner);
|
if (owner != null) wand.charge(owner);
|
||||||
|
|
||||||
name = Messages.get(wand, "staff_name");
|
name = Messages.get(wand, "staff_name");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user