v3.1.0: Loosened ID and uncurse reqs for Mage's Staff and Dried Rose

This commit is contained in:
Evan Debenham
2025-04-13 15:27:41 -04:00
parent 5212e1818a
commit c55ccb26d7
3 changed files with 32 additions and 23 deletions

View File

@@ -231,8 +231,8 @@ items.artifacts.driedrose$wndghosthero.desc=The ghost is weak on their own, but
items.artifacts.driedrose$wndghosthero.weapon_prompt=Select a weapon
items.artifacts.driedrose$wndghosthero.armor_prompt=Select an armor
items.artifacts.driedrose$wndghosthero.cant_unique=The ghost can't use unique items.
items.artifacts.driedrose$wndghosthero.cant_unidentified=You don't know enough about that item.
items.artifacts.driedrose$wndghosthero.cant_cursed=You can't give the ghost cursed equipment.
items.artifacts.driedrose$wndghosthero.cant_cursed=Those ghost can only use equipment that you're sure isn't cursed.
items.artifacts.driedrose$wndghosthero.cant_strength_unknown=The ghost may not be strong enough to use that.
items.artifacts.driedrose$wndghosthero.cant_strength=The ghost is not strong enough to use that.
##ghost hero
@@ -1927,10 +1927,10 @@ items.weapon.melee.magesstaff.ac_zap=ZAP
items.weapon.melee.magesstaff.prompt=Select a wand
items.weapon.melee.magesstaff.imbue=You imbue your staff with the %s.
items.weapon.melee.magesstaff.preserved=The previous wand was preserved!
items.weapon.melee.magesstaff.conflict=The conflicting magics erase the enchantment on your staff.
items.weapon.melee.magesstaff.id_first=You'll need to identify this wand first.
items.weapon.melee.magesstaff.cursed=You can't use a cursed wand.
items.weapon.melee.magesstaff.imbue_desc=Are you sure you want to imbue your staff with this wand?\n\nIf the wand being imbued is the same or higher level than the staff, the staff will inherit the level of that wand plus a single one of its own upgrades.\n\nThis imbue will result in a _level %d_ staff.
items.weapon.melee.magesstaff.imbue_desc=Are you sure you want to imbue your staff with this wand?\n\nIf the wand being imbued is the same or higher level than the staff, the staff will inherit the level of that wand plus a single one of its own upgrades.
items.weapon.melee.magesstaff.imbue_level=This imbue will result in a _+%d staff._
items.weapon.melee.magesstaff.imbue_unknown=You don't know this wand's level, but this imbue will result in at least a _+%d staff._
items.weapon.melee.magesstaff.imbue_cursed=_If you imbue a cursed wand, then your staff will become cursed as well!_
items.weapon.melee.magesstaff.imbue_lost=The wand currently imbued in your staff _will be lost_.
items.weapon.melee.magesstaff.imbue_talent=The wand currently imbued in your staff _will be returned at +0_.
items.weapon.melee.magesstaff.yes=Yes, I'm sure

View File

@@ -904,11 +904,11 @@ public class DriedRose extends Artifact {
} else if (item.unique) {
GLog.w( Messages.get(WndGhostHero.class, "cant_unique"));
hide();
} else if (!item.isIdentified()) {
GLog.w( Messages.get(WndGhostHero.class, "cant_unidentified"));
} else if (item.cursed || !item.cursedKnown) {
GLog.w(Messages.get(WndGhostHero.class, "cant_cursed"));
hide();
} else if (item.cursed) {
GLog.w( Messages.get(WndGhostHero.class, "cant_cursed"));
} else if (!item.levelKnown && ((MeleeWeapon)item).STRReq(0) > rose.ghostStrength()){
GLog.w( Messages.get(WndGhostHero.class, "cant_strength_unknown"));
hide();
} else if (((MeleeWeapon)item).STRReq() > rose.ghostStrength()) {
GLog.w( Messages.get(WndGhostHero.class, "cant_strength"));
@@ -979,11 +979,11 @@ public class DriedRose extends Artifact {
} else if (item.unique || ((Armor) item).checkSeal() != null) {
GLog.w( Messages.get(WndGhostHero.class, "cant_unique"));
hide();
} else if (!item.isIdentified()) {
GLog.w( Messages.get(WndGhostHero.class, "cant_unidentified"));
} else if (item.cursed || !item.cursedKnown) {
GLog.w(Messages.get(WndGhostHero.class, "cant_cursed"));
hide();
} else if (item.cursed) {
GLog.w( Messages.get(WndGhostHero.class, "cant_cursed"));
} else if (!item.levelKnown && ((Armor)item).STRReq(0) > rose.ghostStrength()){
GLog.w( Messages.get(WndGhostHero.class, "cant_strength_unknown"));
hide();
} else if (((Armor)item).STRReq() > rose.ghostStrength()) {
GLog.w( Messages.get(WndGhostHero.class, "cant_strength"));

View File

@@ -249,6 +249,7 @@ public class MagesStaff extends MeleeWeapon {
level(targetLevel);
this.wand = wand;
wand.levelKnown = wand.curChargeKnown = true;
updateWand(false);
wand.curCharges = Math.min(wand.maxCharges, wand.curCharges+oldStaffcharges);
if (owner != null){
@@ -257,6 +258,12 @@ public class MagesStaff extends MeleeWeapon {
applyWandChargeBuff(Dungeon.hero);
}
if (wand.cursed && (!this.cursed || !this.hasCurseEnchant())){
equipCursed(Dungeon.hero);
this.cursed = this.cursedKnown = true;
enchant(Enchantment.randomCurse());
}
//This is necessary to reset any particles.
//FIXME this is gross, should implement a better way to fully reset quickslot visuals
int slot = Dungeon.quickslot.getSlot(this);
@@ -416,14 +423,6 @@ public class MagesStaff extends MeleeWeapon {
public void onSelect( final Item item ) {
if (item != null) {
if (!item.isIdentified()) {
GLog.w(Messages.get(MagesStaff.class, "id_first"));
return;
} else if (item.cursed){
GLog.w(Messages.get(MagesStaff.class, "cursed"));
return;
}
if (wand == null){
applyWand((Wand)item);
} else {
@@ -436,7 +435,17 @@ public class MagesStaff extends MeleeWeapon {
newLevel = trueLevel();
}
String bodyText = Messages.get(MagesStaff.class, "imbue_desc", newLevel);
String bodyText = Messages.get(MagesStaff.class, "imbue_desc");
if (item.isIdentified()){
bodyText += "\n\n" + Messages.get(MagesStaff.class, "imbue_level", newLevel);
} else {
bodyText += "\n\n" + Messages.get(MagesStaff.class, "imbue_unknown", trueLevel());
}
if (!item.cursedKnown || item.cursed){
bodyText += "\n\n" + Messages.get(MagesStaff.class, "imbue_cursed");
}
if (Dungeon.hero.hasTalent(Talent.WAND_PRESERVATION)
&& Dungeon.hero.buff(Talent.WandPreservationCounter.class) == null){
bodyText += "\n\n" + Messages.get(MagesStaff.class, "imbue_talent");