Giter Club home page Giter Club logo

bubblebuffs's People

Contributors

bje259 avatar data-abort avatar deadmor0z avatar ethansteinberg avatar factubsio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bubblebuffs's Issues

Casting Order

Is there a way to setup an order of casting. I would prefer my MC casting before Sosiel. I assume it ordered by the first letter.

Unnecessary WrathPath environment variable in csproj file

Describe the bug
The WrathPath environment variable in the csproj file points to the same location as the WrathPathDebug environment variable. This makes it necessary to include two environment variables for building this project.

Expected behavior
Change WrathPath to WrathPathDebug so that only one environment variable is needed.

Character Options+ mod spells are showing in the menu

Hello,

I'm using Character Options+ mod and none of its spells are showing in the menu. I do not know if I should request the addition here or on the other mod. the other modder posted this to my request.

Keen Edge
Weapon of Awe
Hedging Weapons

Each of these has custom actions that Bubble Buffs doesn't check for.

Thanks for the mod
Cheers,

Army Of Heaven isn't deploying properly, and is skipped if the caster's weapons are already +5 holy

I really appreciate the skip redundant effect component of the mod, but it's a bit oversensitive with the angel uber-buffs.

When to recast Fortress when elements of it are down is really up the player, but the reason to cast Army Of Heaven isn't for the Mass Holy Sword, it's to get hourlong Avengers and Mind Blanks for everyone out of one slot, so that spell should really execute automatically regardless of party weapon status.

Also the buffs aren't actually deployed when it executes as part of the queue.

It's possible to select multiple party members to get Firebelly

Firebelly is a personal cast, but I can select other party members other than the one that can cast the spell. I could just select the ones that can cast it to receive the buff, but if I don't do it in the right order, one of them will be unable to cast it. Even if I do it in the right order, after a loading screen, it resets the order and one of the members is again unable to cast the spell (it becomes red). I'm not explaining it properly, so here's a video.

Wrath_HefwfMZi9g.mp4

Some spells with Greater Enduring ability not properly lasting 24 hours when applied by BubbleBuffs

Describe the bug
Some spells are not properly lasting 24 hours when applied by BubbleBuffs. They still last 24 hours when applied manually. For example, I found that Divine Grace and Death Ward in particular were not working properly.

To Reproduce
Steps to reproduce the behavior:

  1. Set Divine Grace (or any of the other bugged spells) to be casted on a party member.
  2. Press the buff application button.
  3. The buff is applied with only a short duration instead of the proper 24 hour duration.

Expected behavior
Applying Divine Grace/Death Ward/etc. should give the same 24 hour duration with Greater Enduring Spells that casting them manually does.

Video demonstration: https://www.youtube.com/watch?v=Y5uL4kTN21A

Combination of extended + heightened only shows first instance

Describe the bug
You can combine extended and heightened spell to create copies of a spell at lots of different spell levels, but it looks like Bubble Buffs only checks for the first one it finds. Haven't tested with other meta-magic feats but I assume it will be similar.

I assume bubble buffs only takes the combination of meta-magics into account and doesn't account for the fact heightened can be an arbitrary spell level? Hopefully not a limitation of the API.

To Reproduce
Steps to reproduce the behavior:

  1. Choose Greater Invisibility (4th level spell)
  2. Create extended + heightened settings spell level to 5th
  3. Repeat but make it 6th level
  4. Bubble buff only shows one of them

Expected behavior
I'd expect to see a version of Greater Invisibility for all spell levels.

visible Pet names

Is your feature request related to a problem? Please describe.
when playing with 6 pets (4 dogs) its hard to tell which dog is who's pet to buff correctly.

Describe the solution you'd like
display pet names.

Describe alternatives you've considered
sort pets in the order of the party they appear in.

Additional context
none.

Spells from Character Options+ mod not showing in the menu

Hello,

I'm using Character Options+ mod and none of its spells are showing in the menu. I do not know if I should request the addition here or on the other mod. the other modder posted this to my request.

Keen Edge
Weapon of Awe
Hedging Weapons

Each of these has custom actions that Bubble Buffs doesn't check for.

Thanks for the mod
Cheers,

Opposition school spells that use 2 spell slots not counted properly when selecting buff targets

Describe the bug
Consider these conditions:

  • Caster is not spontaneous
  • Caster has an opposition school (example: Divination)
  • Caster slots a spell from the opposition school (example: True Seeing)

In this case, the spell requires two spell slots (per 1 cast).

Then in the mod, select the spell (e.g. True Seeing) from the opposition school and select targets. The mod will allow you to select 2 targets per the two spell slots consumed - this is incorrect.

Expected behavior
The mod should only allow 1 target to be selected per 2 spell slots when using a spell from an opposition school.

Ability listing not working

Since that latest patch and latest mod update, I have tried to use the mod, but only my main character's abilities get added, and not even all of them. I tried reloading my save but no dice.

My modlist is:
Auto Mount, Better Backgrounds, Bubble Buffs, Character Options+, Combat Relief (Updated), DarkCodex, Enduring Reworks, Expanded Content, Full Bore Bismuth, Gracious Friendships, Homebrew Archetypes, Isekai Mod, Kinetic Archetypes, Levelable Aivu, Martial Excellence, Microscopic Content Expansion, Mod Menu, Mystical Mayhem, Mythic Spellbook Tweaks, PATH OF BLING / HELL / RAGE, Phoenix's Cantrips, Prestige Plus, Respec Mod (the one by Barley), Spell Pouch, Tabletop Tweaks Base / Core / Flanking / Mythic Reworks, Tome of the Firebird, Toybox, Way of the Shield (from the file uploaded on here), Weapon Focus Plus, World Crawl, Wrath Patches.

image
image

Arcane Reservoir point consumed when using Share Transmutation on self

Is your feature request related to a problem? Please describe.
The game allows a brown-fur transmuter to spend an arcane reservoir point on Share Transmutation and consume that point when casting on self. The buff bot mimics this behavior. However in the buff bot it's not possible to prevent casting the point on the caster if one desires to use for other allies too.

Describe the solution you'd like
Automatically do not spend an arcane reservoir point for Share Transmutation when casting on self.

Thanks @Cyrix for the suggestion

Transmutation Supremacy Enhancements not Implemented for Powerful Change/Share Transmutation

Describe the bug
Transmutation Supremacy is the Level 20 capstone ability for Brown-Fur Transmuter. It states:

At 20th level, the brown-fur transmuter learns to fully master the power of transmutation. Whenever she casts a transmutation spell, it is treated as it were affected by the Extend Spell feat without altering the casting time or slot used. (She cannot then alter its duration again with the Extend Spell feat). Whenever she uses her powerful change ability, the bonus increases by 4 instead of 2. Her share transmutation ability can now target a willing creature within 30 feet.

Here are the bugs:

  • For Powerful Change, the mod does not correctly apply the enhanced bonus.
  • For Share Transmutation, the mod does not treat Share Mutation as ranged when using the animation casting (meaning the character will still run to target for touch casting).

Expected behavior

  • For Powerful Change, the correct enhanced bonus should be applied.
  • For Share Transmutation, the caster should treat the ability as ranged when using animation casting.

Additional context
I realized this was missing in the mod as I was working on #18. As I have a brown-fur in my party, this is an ability I want to have available.

Remove fixed paths to D: in the csproj file

Describe the bug
There are fixed paths to D: in the csproj file. This prevents building a cloned copy of the repository on a different computer.

Expected behavior
The paths should be relative paths using the environment variable WrathPathDebug

Azata Zippy Magic Superpower with Buffs

Azata Zippy Magic Superpower with Buffs

Spell Ability Description

Wiki Link: Azata Zippy Magic Superpower

Whenever the Azata casts a spell that targets individual creatures, not areas, the spell affects one additional creature within a 30 foot radius from the target. If the target is an enemy, the spell affects one additional enemy; if the target is an ally, the spell affects one additional ally.

Relevance
When casting a single target buff from an Azata who has Zippy Magic, that buff will apply to a second ally. For example, such an Azata casting Mage Armor on one ally will automatically cast Mage Armor on a second ally. It is possible (but tedious) to control which ally receives the buff by moving all other allied characters outside a 30 ft radius.

Desired Solution
The ideal solution would allow the selection of a spell (targeting one character) cast from the main character (Azata with Zippy Magic) to apply to a second character.

A solution should also account for the Azata being a brown fur arcanist, and take Powerful Change and Share Transmutation into consideration.

Archmage armor not working.

Archmage armor is implied to only work when self cast. Can probably be fixed by prioritizing spells to be cast by the targeted character then first available.

Only shows one character in buff screen, then refuses to load buff screen at all

For an entirely new character (and then playing at least until getting Camellia), Bubble Buffs only shows one character in the buff screen, then after tabbing around refuses to load the buff screen at all.

Relevant section of the logs:

[312.6548 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[312.6880 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[312.6955 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[312.8150 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[313.2242 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[313.3162 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[313.3192 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[313.5842 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[313.6168 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[314.1542 - Mods]: SELECTING SPELL
BubbleBuffs.Main.Error(System.Exception,System.String) (at :0)
BubbleBuffs.BubbleBuffSpellbookController.<CreateWindow>b__39_6(BubbleBuffs.BubbleBuff) (at :0)
UniRx.Observer+Subscribe`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNextInternal(BubbleBuffs.BubbleBuff) (at :0)
UniRx.Observer+BaseObserver`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(BubbleBuffs.BubbleBuff) (at :0)
UniRx.ObserverNode`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(BubbleBuffs.BubbleBuff) (at :0)
UniRx.ReactiveProperty`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].RaiseOnNext(BubbleBuffs.BubbleBuff&) (at :0)
UniRx.ReactiveProperty`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].set_Value(BubbleBuffs.BubbleBuff) (at :0)
BubbleBuffs.BufferView+<>c__DisplayClass15_2.<MakeBuffsList>b__1() (at :0)
UnityEngine.Events.InvokableCall.Invoke() (at :0)
UnityEngine.Events.UnityEvent.Invoke() (at :0)
Owlcat.Runtime.UI.Controls.Button.OwlcatButton.OnPointerClick(UnityEngine.EventSystems.PointerEventData) (at :0)
UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.EventSystems.IPointerClickHandler,UnityEngine.EventSystems.BaseEventData) (at :0)
UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.GameObject,UnityEngine.EventSystems.BaseEventData,UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[UnityEngine.EventSystems.IPointerClickHandler]) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ReleaseMouse(UnityEngine.EventSystems.PointerEventData,UnityEngine.GameObject) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMousePress(UnityEngine.EventSystems.PointerInputModule+MouseButtonEventData) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent(System.Int32) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent() (at :0)
UnityEngine.EventSystems.StandaloneInputModule.Process() (at :0)
UnityEngine.EventSystems.EventSystem.Update() (at :0)

[314.8821 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[314.8872 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[315.3797 - Mods]: SELECTING SPELL
BubbleBuffs.Main.Error(System.Exception,System.String) (at :0)
BubbleBuffs.BubbleBuffSpellbookController.<CreateWindow>b__39_6(BubbleBuffs.BubbleBuff) (at :0)
UniRx.Observer+Subscribe`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNextInternal(BubbleBuffs.BubbleBuff) (at :0)
UniRx.Observer+BaseObserver`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(BubbleBuffs.BubbleBuff) (at :0)
UniRx.ObserverNode`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(BubbleBuffs.BubbleBuff) (at :0)
UniRx.ReactiveProperty`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].RaiseOnNext(BubbleBuffs.BubbleBuff&) (at :0)
UniRx.ReactiveProperty`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].set_Value(BubbleBuffs.BubbleBuff) (at :0)
BubbleBuffs.BufferView+<>c__DisplayClass15_2.<MakeBuffsList>b__1() (at :0)
UnityEngine.Events.InvokableCall.Invoke() (at :0)
UnityEngine.Events.UnityEvent.Invoke() (at :0)
Owlcat.Runtime.UI.Controls.Button.OwlcatButton.OnPointerClick(UnityEngine.EventSystems.PointerEventData) (at :0)
UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.EventSystems.IPointerClickHandler,UnityEngine.EventSystems.BaseEventData) (at :0)
UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.GameObject,UnityEngine.EventSystems.BaseEventData,UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[UnityEngine.EventSystems.IPointerClickHandler]) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ReleaseMouse(UnityEngine.EventSystems.PointerEventData,UnityEngine.GameObject) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMousePress(UnityEngine.EventSystems.PointerInputModule+MouseButtonEventData) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent(System.Int32) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent() (at :0)
UnityEngine.EventSystems.StandaloneInputModule.Process() (at :0)
UnityEngine.EventSystems.EventSystem.Update() (at :0)

[316.1849 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[316.1889 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[316.6953 - Mods]: SELECTING SPELL
BubbleBuffs.Main.Error(System.Exception,System.String) (at :0)
BubbleBuffs.BubbleBuffSpellbookController.<CreateWindow>b__39_6(BubbleBuffs.BubbleBuff) (at :0)
UniRx.Observer+Subscribe`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNextInternal(BubbleBuffs.BubbleBuff) (at :0)
UniRx.Observer+BaseObserver`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(BubbleBuffs.BubbleBuff) (at :0)
UniRx.ObserverNode`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(BubbleBuffs.BubbleBuff) (at :0)
UniRx.ReactiveProperty`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].RaiseOnNext(BubbleBuffs.BubbleBuff&) (at :0)
UniRx.ReactiveProperty`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].set_Value(BubbleBuffs.BubbleBuff) (at :0)
BubbleBuffs.BufferView+<>c__DisplayClass15_2.<MakeBuffsList>b__1() (at :0)
UnityEngine.Events.InvokableCall.Invoke() (at :0)
UnityEngine.Events.UnityEvent.Invoke() (at :0)
Owlcat.Runtime.UI.Controls.Button.OwlcatButton.OnPointerClick(UnityEngine.EventSystems.PointerEventData) (at :0)
UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.EventSystems.IPointerClickHandler,UnityEngine.EventSystems.BaseEventData) (at :0)
UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.GameObject,UnityEngine.EventSystems.BaseEventData,UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[UnityEngine.EventSystems.IPointerClickHandler]) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ReleaseMouse(UnityEngine.EventSystems.PointerEventData,UnityEngine.GameObject) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMousePress(UnityEngine.EventSystems.PointerInputModule+MouseButtonEventData) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent(System.Int32) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent() (at :0)
UnityEngine.EventSystems.StandaloneInputModule.Process() (at :0)
UnityEngine.EventSystems.EventSystem.Update() (at :0)

[317.0496 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[317.0536 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[317.0830 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[317.2979 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerEnter () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

[317.5826 - Mods]: SELECTING SPELL
BubbleBuffs.Main.Error(System.Exception,System.String) (at :0)
BubbleBuffs.BubbleBuffSpellbookController.<CreateWindow>b__39_6(BubbleBuffs.BubbleBuff) (at :0)
UniRx.Observer+Subscribe`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNextInternal(BubbleBuffs.BubbleBuff) (at :0)
UniRx.Observer+BaseObserver`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(BubbleBuffs.BubbleBuff) (at :0)
UniRx.ObserverNode`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(BubbleBuffs.BubbleBuff) (at :0)
UniRx.ReactiveProperty`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].RaiseOnNext(BubbleBuffs.BubbleBuff&) (at :0)
UniRx.ReactiveProperty`1[[BubbleBuffs.BubbleBuff, BubbleBuffs, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].set_Value(BubbleBuffs.BubbleBuff) (at :0)
BubbleBuffs.BufferView+<>c__DisplayClass15_2.<MakeBuffsList>b__1() (at :0)
UnityEngine.Events.InvokableCall.Invoke() (at :0)
UnityEngine.Events.UnityEvent.Invoke() (at :0)
Owlcat.Runtime.UI.Controls.Button.OwlcatButton.OnPointerClick(UnityEngine.EventSystems.PointerEventData) (at :0)
UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.EventSystems.IPointerClickHandler,UnityEngine.EventSystems.BaseEventData) (at :0)
UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.GameObject,UnityEngine.EventSystems.BaseEventData,UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[UnityEngine.EventSystems.IPointerClickHandler]) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ReleaseMouse(UnityEngine.EventSystems.PointerEventData,UnityEngine.GameObject) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMousePress(UnityEngine.EventSystems.PointerInputModule+MouseButtonEventData) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent(System.Int32) (at :0)
UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent() (at :0)
UnityEngine.EventSystems.StandaloneInputModule.Process() (at :0)
UnityEngine.EventSystems.EventSystem.Update() (at :0)

[322.8263 - Unity]: IndexOutOfRangeException: Index was outside the bounds of the array.
BubbleBuffs.BufferView.UpdateTargetBuffColor () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView.PreviewReceivers () (at <d31ad991253c4f429663d23ada34f453>:0)
BubbleBuffs.BufferView+<>c__DisplayClass15_1.<MakeBuffsList>b__0 () (at <d31ad991253c4f429663d23ada34f453>:0)
UnityEngine.Events.InvokableCall`1[T1].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
UnityEngine.Events.UnityEvent`1[T0].Invoke () (at <25a85da7c6f04932b86e339dfd12957d>:0)
Owlcat.Runtime.UI.Controls.Selectable.OwlcatSelectable.OnPointerExit () (at <47c5b7373c07438c81e1be659f5367f0>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] () (at <159744b43b644a6fbc060d1b0d4f50c2>:0)
UnityEngine.EventSystems.EventSystem:Update()

Show spell errors/failures that would be shown when casting normally in the log

Is your feature request related to a problem? Please describe.
Currently it appears that not all logging messages that would occur during Bubble Buff casting is displayed. Likely the mod does limited logging to not spam the player which is good, but it can make debugging why a spell isn't being cast (or being cast but wasted) is happening.

Case in point: recently I discovered that Unbreakable Heart would not apply to my character due to the Angel Halo mythic ability (probably a bug on OwlCat's side IMO but that's a separate topic). It became apparent that was the problem when I manually cast it and noticed a message "Character is immune to Unbreakable Heart". When casting the buff via the mod, I get no such feedback. It just expends the slots.

Describe the solution you'd like
Logging messages about such spell failures, etc. if possible. (Perhaps just a single message or consolidated message?)

Cantrips availability incorrect

Describe the bug
When selecting a cantrip to cast (light, for example) - it shows as 0 available, though it should be at will for evrybody who has this cantrip

Screenshots
light

Missing assets in Assets\icons folder

Describe the bug
All .png files are missing from the Assets\icons folder. This prevents building the project from a cloned copy of the repository.

Expected behavior
All assets should be included.

Buffs not shown on certain save file.

Version : 0.7.4 (Game version: Beta 1.1)

Describe the bug
Clicking buff button in spellbook shows blank screen.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Spellbook
  2. Click on Buff

Additional context
Error msg on umm.

[BubbleBuffs] System.NullReferenceException: Object reference not set to an instance of an object at BubbleBuffs.BubbleBuffSpellbookController.RevalidateSpells () [0x0000c] in :0 at BubbleBuffs.SpellbookWatcher+c.b__3_0 () [0x0000e] in :0 at BubbleBuffs.SpellbookWatcher.Safely (System.Action a) [0x00000] in :0

[BubbleBuffs] Creating window? [BubbleBuffs] System.NullReferenceException: Object reference not set to an instance of an object at BubbleBuffs.BubbleBuffSpellbookController.CreateWindow () [0x00173] in :0 at BubbleBuffs.BubbleBuffSpellbookController.ShowBuffWindow () [0x00008] in :0 NullReferenceException: Object reference not set to an instance of an object at BubbleBuffs.BubbleBuffSpellbookController.ShowBuffWindow () [0x0001c] in <e672b9fafc6d4b9da32191a8021e4eac>:0 at BubbleBuffs.BubbleBuffSpellbookController.<Awake>b__19_0 () [0x00065] in <e672b9fafc6d4b9da32191a8021e4eac>:0 at UnityEngine.Events.InvokableCall.Invoke () [0x00010] in <469e86e97fa2467ebffe49bbd6086325>:0 at UnityEngine.Events.UnityEvent.Invoke () [0x00022] in <469e86e97fa2467ebffe49bbd6086325>:0 at Owlcat.Runtime.UI.Controls.Button.OwlcatButton.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) [0x00046] in <fc3d4226e9a6425c9017bb8bd187a18d>:0

Portraits scroll off screen with high companion count

Describe the bug
With a high number of companions (i.e. lich playthrough with multiple mercs/pets), the character portraits scroll offscreen making it unable to select some characters to target

To Reproduce
Steps to reproduce the behavior:

  1. Have a large number of companions, about 21 did it for me @ 3440x1440 resolution
  2. Open bubble buffs menu

Expected behavior
All characters should be selectable. Either via scrolling the portraits or scaling the size down.

Screenshots
https://pasteboard.co/6EHP4RDrNnCZ.png

Additional context

Exceptions during level up

Describe the bug
This is mostly just log spam but might be contributing to a bug I've seen where typing in the search bar for feats or spells just absolutely breaks the game.

To Reproduce
Steps to reproduce the behavior:

  1. Level up a character (maybe spells but I think it happens for feats too)
  2. Watch the log!

Trace

[374.9087 - Default]: Exception in subscriber BubbleBuffs.ServiceWindowWatcher
Kingmaker.PubSubSystem.SubscriptionManager`1[[Kingmaker.PubSubSystem.IGlobalSubscriber, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].RaiseEvent(System.Action`1[Kingmaker.PubSubSystem.IUIEventHandler],System.Boolean) (at :0)
Kingmaker.PubSubSystem.EventBus.RaiseEvent(System.Action`1[Kingmaker.PubSubSystem.IUIEventHandler],System.Boolean) (at :0)
Kingmaker.UI.MVVM._VM.ServiceWindows.Spellbook.SpellbookVM.OnSpellbookSelected(Kingmaker.UnitLogic.Spellbook) (at :0)
UniRx.Observer+Subscribe`1[[Kingmaker.UnitLogic.Spellbook, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNextInternal(Kingmaker.UnitLogic.Spellbook) (at :0)
UniRx.Observer+BaseObserver`1[[Kingmaker.UnitLogic.Spellbook, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(Kingmaker.UnitLogic.Spellbook) (at :0)
UniRx.ReactiveProperty`1[[Kingmaker.UnitLogic.Spellbook, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].Subscribe(System.IObserver`1[Kingmaker.UnitLogic.Spellbook]) (at :0)
UniRx.ObservableExtensions.Subscribe(System.IObservable`1[Kingmaker.UnitLogic.Spellbook],System.Action`1[Kingmaker.UnitLogic.Spellbook]) (at :0)
Kingmaker.UI.MVVM._VM.ServiceWindows.Spellbook.SpellbookVM.Create() (at :0)
Kingmaker.UI.MVVM._VM.ServiceWindows.Spellbook.SpellbookVM..ctor(UniRx.IReactiveProperty`1[Kingmaker.UnitLogic.UnitDescriptor]) (at :0)
Kingmaker.UI.MVVM._VM.CharGen.Phases.Spells.CharGenSpellsPhaseVM.CreateSpellbookVM() (at :0)
Kingmaker.UI.MVVM._VM.CharGen.Phases.Spells.CharGenSpellsPhaseVM.Kingmaker.UI.MVVM._VM.CharGen.Phases.Spells.CharGenSpellsPhaseVM.OnBeginDetailedView_Patch1(Kingmaker.UI.MVVM._VM.CharGen.Phases.Spells.CharGenSpellsPhaseVM) (at :0)
Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM.BeginDetailedView() (at :0)
Kingmaker.UI.MVVM._PCView.CharGen.CharGenView.CurrentPhaseChanged(Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM) (at :0)
UniRx.Observer+Subscribe`1[[Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNextInternal(Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM) (at :0)
UniRx.Observer+BaseObserver`1[[Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM) (at :0)
UniRx.ObserverNode`1[[Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM) (at :0)
UniRx.ReactiveProperty`1[[Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].RaiseOnNext(Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM&) (at :0)
UniRx.ReactiveProperty`1[[Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].set_Value(Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM) (at :0)
Owlcat.Runtime.UI.SelectionGroup.SelectionGroupRadioVM`1[[Kingmaker.UI.MVVM._VM.CharGen.Phases.CharGenPhaseBaseVM, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].SelectNextValidEntity() (at :0)
Kingmaker.UI.MVVM._PCView.CharGen.CharGenRoadmapMenuView.SelectNextPhase() (at :0)
Kingmaker.UI.MVVM._PCView.CharGen.CharGenView.GoToNextPhaseOrComplete(System.Boolean) (at :0)
Kingmaker.UI.MVVM._PCView.CharGen.CharGenView.<NextPressed>b__24_0() (at :0)
Owlcat.Runtime.UniRx.DelayedInvoker+<InvokeInFramesCoroutine>d__6.MoveNext() (at :0)
UnityEngine.SetupCoroutine.InvokeMoveNext(System.Collections.IEnumerator,System.IntPtr) (at :0)

[374.9097 - Default]: Object reference not set to an instance of an object
  at BubbleBuffs.BubbleBuffSpellbookController.FadeOut (UnityEngine.GameObject obj) [0x00001] in D:\Ithiel\Documents\GitHub\BubbleBuffs\BubbleBuffs\BubbleBuffer.cs:212 

  at BubbleBuffs.BubbleBuffSpellbookController.Hide () [0x00001] in D:\Ithiel\Documents\GitHub\BubbleBuffs\BubbleBuffs\BubbleBuffer.cs:288 

  at BubbleBuffs.ServiceWindowWatcher.HandleUIEvent (Kingmaker.PubSubSystem.UIEventType type) [0x00001] in D:\Ithiel\Documents\GitHub\BubbleBuffs\BubbleBuffs\BubbleBuffer.cs:1542 

  at Kingmaker.UI.MVVM._VM.ServiceWindows.Spellbook.SpellbookVM+<>c__DisplayClass23_0.<OnSpellbookSelected>b__0 (Kingmaker.PubSubSystem.IUIEventHandler h) [0x00013] in <73ef51a74eba41d999c92b11bb5b6fa3>:0 

  at Kingmaker.PubSubSystem.SubscriptionManager`1[TSubscriber].ExecuteAction[T] (System.Action`1[T] action, System.Object subscriber) [0x00073] in <73ef51a74eba41d999c92b11bb5b6fa3>:0 

  at Kingmaker.PubSubSystem.SubscriptionManager`1[TSubscriber].RaiseEvent[T] (System.Action`1[T] action, System.Boolean isCheckRuntime) [0x00083] in <73ef51a74eba41d999c92b11bb5b6fa3>:0 

Wizard opposition school spells don't track spell slots correctly

Describe the bug
A wizard's opposition school spells don't seem to properly calculate usages. For example, shield memorized with two slots won't let me cast it on myself (abjuration chosen as opposition school). The portrait shows yellow instead of green as expected.

To Reproduce
Steps to reproduce the behavior:

  1. Create a wizard
  2. Choose abjuration as opposition school (doesn't matter what you specialize in as far as I can tell)
  3. Memorize shield
  4. Try to apply it in bubble buffs

Expected behavior
Spell will be properly cast

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.