Bug - Fixed please make the "summon" cli command fail if it doesn't know the right name

The Request:
When you use the cli command to summon a demon using anything but a name (effect, location, number), and Mafia does not know the corresponding name, please make Mafia give you a failure message and not try to summon. Currently, Mafia attempts the summon and uses up an AFUE and 3 black candles in the process.

If the Daily Deeds button doesn't just use the cli command, please add a failure message and stop summoning in that case too.

The Story:
Revision 8552
There I was in Bad Moon, ready to face the nuns. I had my AFUE and my three black candles; I know my Greed Demon name.
Code:
> summon greed
Summoning Greed...
Requests complete.
I fought one brigand. Hmm, that's a lower meat drop than normal... check the side pane. No Preternatural Greed, that's odd. I guess I should have clued in when the cli didn't tell me "You acquire an effect..." Maybe Mafia forgot my demon name? I check with "demons", and see that yes, it did. Okay, no problem, that's why I keep them in my quest log too. I copy the name from the quest log and head to the Summoning Chamber, paste it in...
You utter "Ak-chuk-dur" and look at Lord Spookyraven's altar, expectantly, but nothing happens.

It's obviously a potent source of magic, if only you can figure out how to operate it. Three lumps of black wax congeal on the surface, which is also dusted with flakes of fine, papery ash.
Er, not good. I had the summoning stuff, where's my buff? As near as I can guess, Mafia used it while attempting to summon my greed demon -- which, since it didn't know the name, was bound to fail.

Not wanting to blame Mafia for consuming things when I might just have a poor memory -- the library and the castle were a while ago -- I logged onto a friend's abandoned multi. No greed demon name, check. AFUE and candles, check.
Code:
> inv forbidden

scroll of ancient forbidden unspeakable evil

> inv candle

thin black candle (24)

> summon greed

Summoning greed...
Requests complete.

> inv forbidden

> inv candle

thin black candle (21)
I refreshed the inventory and checked again, but indeed the scroll and candles were gone. And here I am with my request... please protect against using these resources for no benefit!
 

Spiny

Member
I feel your pain, and have done similar things ie summon crimbo candy instead of cast summon crimbo candy. I admit your situation is more painful.

In any event, if you do a summon of an unknown name, it thinks you're trying to learn the name of the pie demon so it's a valid summon attempt, albeit inconvenient. It uses up the components but allows you to summon again assuming you have more components.
 
Last edited:

Veracity

Developer
Staff member
I wish I understood what the problem was.

Are you saying that you can't use previously learned demon names in Bad Moon?
 

Spiny

Member
I wish I understood what the problem was.

Are you saying that you can't use previously learned demon names in Bad Moon?

I think he's saying that he tried summon greed, which effectively attempted to summon a demon named greed and used his components. Afterwards he checked to see if mafia knew his greed demon's name and it did not. So he lost his components by trying to summon a demon named greed instead of the greed demon whose name he knew, but mafia did not. He wants to be protected against summoning unknown names thereby protecting his summoning items from being consumed accidentally.
 

icon315

Member
This has happened to me too....i would like it too, or at least add the summon greed feature like the summon drinks
 

Bale

Minion
I wish I understood what the problem was.

The problem is that his data for the demon name was lost. (Perhaps due to a new installation?) Mafia consumed resources instead of failing with an error message like, "Failed to Summon the greed demon because you don't know its name." That error message would have helped him discover the problem without using up his candles and scroll.

I think that this is actually a bug report, not a feature request since mafia shouldn't attempt to summon when it has no value for name.
 
Last edited:

Spiny

Member
The problem is that his data for the demon name was lost. (Perhaps due to a new installation?) Mafia consumed resources instead of failing with an error message like, "Failed to Summon the greed demon because you don't know its name." That error message would have helped him discover the problem without using up his candles and scroll.

I think that this is actually a bug report, not a feature request since mafia shouldn't attempt to summon when it has no value for name.

But if Mafia doesn't know the demons name, the button isn't clickable in daily deeds, which means a manual cli entry of summon greed occurred, right? Summon greed will NOT summon the preternatural greed demon even if mafia knows the demon's name (unless perhaps it's aliased?) See example below:

On an account that knows the greed demon's name:

Code:
> summon greed

Verifying ingredients for scroll of ancient forbidden unspeakable evil (1)...
You need 1 more tattered scrap of paper to continue.

> buy afue

Searching for "scroll of ancient forbidden unspeakable evil"...
Purchasing scroll of ancient forbidden unspeakable evil (1 @ 2,375)...
You acquire an item: scroll of ancient forbidden unspeakable evil
Purchases complete.

> summon greed

Summoning greed...
Requests complete.

> buy afue

Searching for "scroll of ancient forbidden unspeakable evil"...
Purchasing scroll of ancient forbidden unspeakable evil (1 @ 2,375)...
You acquire an item: scroll of ancient forbidden unspeakable evil
Purchases complete.

> summon preternatural greed

Summoning Chuck-buul-cth...
You acquire an effect: Preternatural Greed (duration: 30 Adventures)
Requests complete.

A cli entry of summon greed makes an attempt to summon a demon, yes, but it is a summoning attempt to discover the pie demon's name if it's not known. In the event that the Pie demon is already known, well I'm not sure what would happen then.

Edit: The question is: Does mafia want to disallow people from being able to automate summoning random names in efforts to discover the pie demon name? That's the only downside that I can see of making such a change. Leaving things as they are, clearly, has led to some unfortunate usage of summoning items when not intended, yet the items were used validly as far as KoL is concerned.
 
Last edited:

Bale

Minion
I see. Then it really was his fault for erroneously asking it to summon a demon that does not exist. This is a feature then.
 

Veracity

Developer
Staff member
...mafia shouldn't attempt to summon when it has no value for name.
Actually, that's a matter of opinion - one which disagrees with mine, at the time I coded the command. I intentionally wanted it to be able to summon a demon by name even if we didn't have that one saved. I was anticipating that they would add new demons and you might learn a name and want to call it before we added support for it. (They HAVE added new demons. Consider the booze demon, which has the same name for everyone. Or the familiar - which I did not build-in until it had been spoiled for everybody.)
 

lostcalpolydude

Developer
Staff member
You have to type the command that exactly to get the meat demon out of it? The only time I've used "summon" is unintentionally when trying to cast something that begins with summon.
 

slyz

Developer
Veracity already exposed her point of view: the feature that is asked for would prevent you from using the cli command to summon a demon name Mafia doesn't know about.
 
Ah, I understand: I mistakenly thought that since the help for summon said I could use the effect name, and Mafia is often so smart about fuzzy matching, "summon greed" would be interpreted as "summon preternatural greed", which I assume would have been the correct command? This was clearly a mistaken assumption on my part, and I agree with Veracity that there is a good reason not to protect against summoning a random string. I will just use the Daily Deeds panel in the future so my own brain stops messing me up.

It wouldn't have helped had I used "summon 2", however, as Veracity suggested. I checked with a character where Mafia does not know demon name 4 -- "summon 4" uses up the summoning ingredients. Would it be possible to protect against this case? As far as I know, no legitimate demon names are numbers.

Edit: A more sophisticated feature request would be for the summon command to only attempt to summon unknown strings when they are legitimate demon names. Since the wiki gives their components and the way they are put together on the Summoning Chamber page, this should be possible -- but it's a bigger feature than I intended to request, and Veracity may have better things to do (or good reasons this is undesirable -- would it inconvenience people looking for their pie demon?).
- Demon names appear to be generated randomly from the following set of components: aba, ach, baal, bar, baz, beel, ben, bob, bub, buul, cat, chak, chuck, cth, den, der, dth, dur, el, foo, fun, gam, gar, gaz, gog, gol, gore, k'z'k, ka, kel, ler, mur, nya, oo, otep, red, rip, rum, tar, ty, vek, vox, vug, wait, xen, ze, zel, ziel, zuul. These components are then assembled into names matching the following patterns (replacing each letter with a component): A BC, A BCD, AB CD, A'BC, A'B'C, AB, ABC, A-B-C.

- When summoning, demon names are case-sensitive, and are capitalized with standard proper noun form (only the first letter is capitalized).
 
Last edited:
How about a compromise to [hopefully?] make everybody happy? When you attempt to summon a Demon Name from the CLI, and mafia does not know said Demon Name, it should give you a little prompt saying "Mafia does not know this demon name, are you sure you want to summon a demon named <name>?"
 

Veracity

Developer
Staff member
Yes, "summon preternatural greed" works. It would not be unreasonable to check if the string were a substring of the effect name and thus allow "summon greed", except, unfortunately, although Java does have String.equalsIgnoreCase, it does NOT have String.indexOfIgnoreCase, which would be needed to allow "greed" to match "Preternatural Greed".

Revision 8554 adds two checks to the summon command
- it won't attempt to summon if you've already summoned today
- if you select a demon by number, location, or effect and we look up the demon name and come up blank, don't attempt to summon with an empty name.
 
I feel your pain, and have done similar things ie summon crimbo candy instead of cast summon crimbo candy. I admit your situation is more painful....

By the way (in the relay browser chat pane) I just use /cast crim (or /cast crimb or /cast crimbo, whatever my fingers get to before I hit Enter). I suppose that's the native KoL chat command interface at work.
So if you're using the KoLmafia gCLI, won't this work?
cast crimb
 

Spiny

Member
By the way (in the relay browser chat pane) I just use /cast crim (or /cast crimb or /cast crimbo, whatever my fingers get to before I hit Enter). I suppose that's the native KoL chat command interface at work.
So if you're using the KoLmafia gCLI, won't this work?
cast crimb

It probably would work, but I don't generally truncate things like that for things I don't do often. Common things I use will ultimately get truncated with familiarity, but when in doubt, I more often than not spell it out.
 
Top