New Content April 2022 IotM: Unbreakable Umbrella

Looking at item #10898... Unknown item found: undamaged Unbreakable Umbrella (10898, 591888584) Unknown item found: unbreakable umbrella (10899, 712482724)

Unwraps into

10899 unbreakable umbrella 712482724 unbrella7.gif offhand 0 unbreakable umbrella 0 none # Item unbreakable umbrella: Can alter final enchantment by reconfiguring umbrella Item unbreakable umbrella Maximum HP: +25, Maximum MP: +25, Muscle Percent: +25, Mysticality Percent: +25, Moxie Percent: +25, Initiative: +25, Meat Drop: +25 --------------------

unbreakable umbrella can fold into one of six forms by visiting inventory.php?action=useumbrella, and then going through the choice adventure that follows.

Form 1 is the Broken version, which gives +25% Monster Level. That's right, +25%.
Form 2 is the Forward-oriented version, which makes it a shield with DR 25
Form 3 is the Bucket version, which gives +25% item
Form 4 is the Pitchfork version, which gives +25 weapon damage
Form 5 is the "constantly twirling" version, which gives +25 spell damage
Form 6 is the Cocoon form, which gives -10% Combat

You can fold unlimited times per day. They're all the same item ID, but the image changes as you transform it. The numbers listed above should correspond to the options in the choice adventure.
 

Veracity

Developer
Staff member
inventory.php?action=useumbrella
redirects to:
choice.php?forceoption=0

You ponder your unbreakable umbrella and consider how you might want to reconfigure it..

This will determine the item's fifth enchantment.

whichchoice=1466

choice 1: Splay it
choice 2: Face it forward
choice 3: Invert It
choice 4: Hyperextend it
choice 5: Twirl it
choice 6: Close it, but with you inside
choice 7: Leave it Alone

Unlike the fourth of may saber, which gives you an extra enchantment, the umbrella is always in one or the other of these options.
Out of the box, it is Monster Level Percent: +25

I'll add the items and the new Modifier, but we'll have to make the final modifier string depend on the configuraton.
 

Veracity

Developer
Staff member
I have not seen gausie make a commit in a couple months. Is he coming back? :)
Modifiers are cheap and easy.
 
Well, I have tried my hand at continuing the rest of the implementation here, basically aping the Saber code at every possible turn. Here is the PR in question.
 

heeheehee

Developer
Staff member
There still needs to be handling for Monster Level Percent, which will need to be applied similarly to BUFFED_MYS and the like.

How does this interact with Slime Hates It / Florist / other zone-dependent sources of ML?
 

Veracity

Developer
Staff member
Well, I have tried my hand at continuing the rest of the implementation here, basically aping the Saber code at every possible turn. Here is the PR in question.
NIce start! I (along with gausie and frono) responded to your PR with comments.
I agree with heeheehee that Monster Level Percent needs to be dealt with.
 
Per CannonFire40, it works with scalers, although it won't push them above their cap.

I believe someone spaded it working with the slime tube and with -ML, although I'm not absolutely certain about the tube.
 

soolar

Member
Seems that currently (as of r26335 anyway) equipped_item($slot[off-hand]) will return $item[none] when the umbrella is equipped there.
 

Veracity

Developer
Staff member
I guess we do need aliases. Adding the following:

Code:
    {IntegerPool.get(ItemPool.UNBREAKABLE_UMBRELLA), "unbreakable umbrella (broken)"},
    {IntegerPool.get(ItemPool.UNBREAKABLE_UMBRELLA), "unbreakable umbrella (forward-facing)"},
    {IntegerPool.get(ItemPool.UNBREAKABLE_UMBRELLA), "unbreakable umbrella (bucket style)"},
    {IntegerPool.get(ItemPool.UNBREAKABLE_UMBRELLA), "unbreakable umbrella (pitchfork style)"},
    {IntegerPool.get(ItemPool.UNBREAKABLE_UMBRELLA), "unbreakable umbrella (constantly twirling)"},
    {IntegerPool.get(ItemPool.UNBREAKABLE_UMBRELLA), "unbreakable umbrella (cocoon)"},

To the initializer for the ALIASES array in ItemDatabase.java to get this:

Code:
> ashq print( equipped_item($slot[off-hand]) )

green LavaCo Lamp™

> inv unbreakable umbrella

unbreakable umbrella (bucket style)

> equip unbreakable umbrella

Holding unbreakable umbrella...
Equipment changed.

> ashq print( equipped_item($slot[off-hand]) )

unbreakable umbrella
 

Alium

Member
Maximizer doesn't fold the umbrella currently. For example if umbrella is currently broken (ML) and I maximize for -combat, the umbrella will be equiped but in the original ML form.

Is that intended? My preference would be to fold when equiped similar to backup camera, but very well could be missing a valid use case. On r26372
 

Veracity

Developer
Staff member
It's not intended. It's just not implemented yet. That was going to be a followup to the original PR, but the provider of that PR seems to have moved on without doing it.
 
Top