New Content - Implemented Buddy Bjorn

Bale

Minion
Straight up CoT for your back. Same code to support it since it does the same things with the same familiars.

You can use the CoT and Buddy Bjorn at the same time with two different familiars. Give it a place in customizable equipment where the current familiar is displayed.

Will need a new CLI command: bjornify to work like enthrone. That's the same as the KoL chat command — I didn't invent it to be silly.

--------------------
7200 Buddy Bjorn 697608546 buddybjorn.gif container t 0
Buddy Bjorn 0 none
# Buddy Bjorn: Put a Familiar In It!
# Buddy Bjorn: That Familiar gains 1 Experience per Fight
Buddy Bjorn Softcore Only
--------------------
 
Last edited:

lostcalpolydude

Developer
Staff member
It probably isn't worth accounting for the fact that each familiar has a 50% chance of firing during combat (independent of each other, so both or neither are possible) if you have both of these on, which matters for things like reporting MP regen with both a megadrone and space buddy being carried.

We will need to track familiar xp gain, which I believe has the same 50% chance, and will require parsing combat text.

All the existing entries in modifiers.txt will work, except "modtrace" needs to show that it's coming from a different slot. Maybe the text can just be updated to start with "Bjorn:" for that? I don't expect it to be quite that simple.
 

Darzil

Developer
It probably isn't worth accounting for the fact that each familiar has a 50% chance of firing during combat (independent of each other, so both or neither are possible) if you have both of these on, which matters for things like reporting MP regen with both a megadrone and space buddy being carried.

Should we have a separate Combat MP regen to distinguish between MP regen that happens whenever an adventure is spent, and MP regen that happens whenever a combat is fought ? There are some quite deceptive numbers at present in the enthrone section (eg El Vibrato Megadrone is down as giving 10-15 MP regen, but actually gives that each round for three rounds in combat (30-45 combat MP regen), and nothing in non-combats.

I'd love to get maximize to handle the Crown and Backpack (unlike Stickers and Folders you don't lose anything with the swap), but am a little concerned by the number of extra combinations of equipment that might add, not to mention it means touching maximize code! I guess an argument could also be made for Snowsuit decoration and card sleeve, but I suspect Crown and Backpack will more often be useful.
 

Veracity

Developer
Staff member
All the existing entries in modifiers.txt will work, except "modtrace" needs to show that it's coming from a different slot. Maybe the text can just be updated to start with "Bjorn:" for that? I don't expect it to be quite that simple.
If by this, you mean just changing the output of modtrace, sounds reasonable.

If you mean we should create Bjorn: entries for all the familiars that duplicate the Throne: entries we already have, not so good.

I'm glad I added the Crown of Thrones to the Gear Changer. It should be easy to copy to add the new item to the Gear Changer, too.
 

lostcalpolydude

Developer
Staff member
Should we have a separate Combat MP regen to distinguish between MP regen that happens whenever an adventure is spent, and MP regen that happens whenever a combat is fought ? There are some quite deceptive numbers at present in the enthrone section (eg El Vibrato Megadrone is down as giving 10-15 MP regen, but actually gives that each round for three rounds in combat (30-45 combat MP regen), and nothing in non-combats.
Jasonharper decided to only include the first round of combat in those numbers, in case the monster dies before you get all of the MP. Occasionally it does take some minor effort to keep the monster alive.

I'd love to get maximize to handle the Crown and Backpack (unlike Stickers and Folders you don't lose anything with the swap), but am a little concerned by the number of extra combinations of equipment that might add, not to mention it means touching maximize code!

I think for performance reasons, that's not going to work, for the same reason that having familiars in the standard slot isn't considered. I guess it might be different since +weight stuff doesn't affect a familiar there.

If you mean we should create Bjorn: entries for all the familiars that duplicate the Throne: entries we already have, not so good.
I agree that that would be a poor plan.
 

Darzil

Developer
I think for performance reasons, that's not going to work, for the same reason that having familiars in the standard slot isn't considered. I guess it might be different since +weight stuff doesn't affect a familiar there.

I MIGHT give it a go (though not today, as in run) because it doesn't seem too bad. It clearly adds some complexity of decision making, but in some ways is easier than smithsness (which needed to be evaluated before all other modifiers), as it's just adding a few back or hat items with some fairly minor and one-dimensional bonuses. Without synergies they don't add as many combinations as stuff like Smithsness does.

My gut feeling is that in aftercore CoT isn't that great bonus wise, but the Buddy Bjorn probably is, as there are so few back items.
 

lostcalpolydude

Developer
Staff member
I now understand why that Crown of Thrones stuff was in REGISTER_PATTERN; the familiar up there gets merged with the first familiar in the normal list. However, that regex needs to be modified for the Buddy Bjorn, and I don't know how to match either or both things up there.
 

Malurth

Member
Yeah, my familiar stuff is kind of going haywire, likely due to the Buddy Bjorn. It keeps switching to the wrong familiar, displaying the wrong image/stats, or not understanding how familiar equipment works. Prolly has something to do what lostcalpolydude just said. (Granted, most of these issues are from using the ChIT script, but I believe mafia is the culprit as its display errors are also in the Mafia client.)
 

Darzil

Developer
I MIGHT give it a go (though not today, as in run) because it doesn't seem too bad. It clearly adds some complexity of decision making, but in some ways is easier than smithsness (which needed to be evaluated before all other modifiers), as it's just adding a few back or hat items with some fairly minor and one-dimensional bonuses. Without synergies they don't add as many combinations as stuff like Smithsness does.

Initial basic Crown of Thrones Maximizer support. It currently only passes one Crown/Familiar pair to the MaximizerSpeculation loop for performance reasons, and currently picks the first best one if finds, rather than separating by tiebreaker condition. When Bjorn support gets added two familiars will be passed to MazimizerSpeculation if you have both.

I think there is definitely milage in looking at some other items, as currently I believe we look at too many combinations. We can save a time in Maximizer by doing more up front work in evaluating items before deciding to pass them to the MaximizerSpeculation loop. In particular:

Stickers : We aren't going to look at changing stickers, so we should only consider them if the current stickers are useful to the desired Mods, not if any are.
Folder Holder : Ditto.
Card Sleeve : I guess cards are returned when a new one is put in? (wiki doesn't mention getting destroyed, and I don't have one) We should either consider them and pick the best one for the desired mods and pass that one on, or only consider them if currently inserted card is useful.

Currently we end up usually passing Folder Holder and Card Sleeve through to the loop, whether or not they are useful or better.

I am looking at Bjorn before I look at revisiting them, but I certainly think it'll save a lot of combinations.
 

lostcalpolydude

Developer
Staff member
Card Sleeve : I guess cards are returned when a new one is put in?

They are. On the other hand, about the only effect that's likely to be best in slot is +PvP Fights, since everything else can be beat by other reasonably-obtainable equipment (reasonably obtainable for someone that has enough stuff to have a card sleeve, at least). So it might make sense to just consider the card already in the sleeve.
 

Darzil

Developer
r13644 Added Buddy Bjorn to Gear Changer.

There is an oddity that I haven't identified the cause of yet. Hitting change gear only changes Crown of Thrones or Buddy Bjorn, not both if both have changed.
 
Last edited:

Darzil

Developer
r13646 - Added Buddy Bjorn to Maximizer.

There is definitely something freaky with recognising the data in Campground, and sometimes with trying to do both an enthrone and a bjornify in short succession.

Am not looking any further today at that, 12 hours of staring at Maximizer over 2 days was enough for me.
 

Darzil

Developer
That looks to have fixed the issues I had.

The (minor) bugs I still see are:
Gear Changer when trying to change both enthroned familiar and bjorn familiar only changes one at a time - I think due to refreshing the panel after the first action?
Displayed bonus on Buddy Bjorn (probably related to only trying it on Hatrack to avoid processing familiars twice)
If the second best carried familiar hasn't any reason to be used, but the best is the best in slot, it can end up not considering items that equal the best in slot familiar. (eg if you maximize for -combat, it'll equip Grimstone Golem in backpack, but not consider silent beret). That will need some thought.
 

lostcalpolydude

Developer
Staff member
I'm getting some weird results in the maximizer. I maximized "meat, -offhand" (excluding offhand just to speed things up), and enthroning a hobo monkey and bjornifying a medium are both suggested (fine so far... actually, the predicted value when they are highlighted is +0 in both cases). However, it also says that equipping a natty blue ascot will give +39% meat, when the predicted minus current score there shows that mafia knows it's +14% meat. Changing it to "meat -offhand -hat" leads to a suggestion to bjornify the happy medium for +0 meat (and the predicted score matches that), but nothing weird in other slots. Going with "meat -offhand -container" suggests enthroning a happy medium to get +25% meat (right) and a natty blue ascot for +39% (actually +14%), but the predicted value for enthroning is +0%.
 

Veracity

Developer
Staff member
Gear Changer when trying to change both enthroned familiar and bjorn familiar only changes one at a time - I think due to refreshing the panel after the first action?
Yeah. GearChangeFrame.ensureValidSelections() will set the selected bjorn familiar to the current one, not the one you are switching to. Revision 13649 fixes both the crown and bjorn to remember which item is currently selected in that method. It also does not show the current crown familiar in the list of familiars you can put in bjorn, and vice versa.
 

Darzil

Developer
I'm getting some weird results in the maximizer. I maximized "meat, -offhand" (excluding offhand just to speed things up), and enthroning a hobo monkey and bjornifying a medium are both suggested (fine so far... actually, the predicted value when they are highlighted is +0 in both cases). However, it also says that equipping a natty blue ascot will give +39% meat, when the predicted minus current score there shows that mafia knows it's +14% meat. Changing it to "meat -offhand -hat" leads to a suggestion to bjornify the happy medium for +0 meat (and the predicted score matches that), but nothing weird in other slots. Going with "meat -offhand -container" suggests enthroning a happy medium to get +25% meat (right) and a natty blue ascot for +39% (actually +14%), but the predicted value for enthroning is +0%.

Yeah, I know the causes, will think about a solution tomorrow.
 

Darzil

Developer
Yeah, I know the causes, will think about a solution tomorrow.

r13650 should fix these.

There is still at least one bug, namely that maximizing for +combat doesn't suggest using Grim Brother. I think I just have to compare familiars using MaximizerSpeculation's compareTo, probably, to get this and tiebreaking working.
 

Darzil

Developer
There is still at least one bug, namely that maximizing for +combat doesn't suggest using Grim Brother. I think I just have to compare familiars using MaximizerSpeculation's compareTo, probably, to get this and tiebreaking working.

r13653. And boy are the Throne or Buddy Bjorn the best item for many, many maximizer strings for me !

Time to look at reducing the maximizer combinations when you have a Folder Holder, Card Sleeve or Sticker Weapon.
 
Top