A downloadable mod

Welcome to a new season!

Lady Luck invites you for a new adventure! Complete 36 new episodes! Each episode introduces new unique rules, such as:

  • All enemies are vampires!
  • You trade items with enemies!
  • The game goes on for 8 floors!
  • and many more!

And it doesn't end there - 5 new monsters were recruited while you were away and 500 new items were added to the stash! After all this time, do you have the luck to win the prize? Or are you still doomed to be stuck in the Dungeons?...

This is an unofficial mod for Dicey Dungeons, a dice-rolling deck-building roguelike: https://terrycavanagh.itch.io/dicey-dungeons
Mod development by TheMysticSword, enemy art by Calciumtrice

Help Desk

  • Will this mod mess up my save file?
    No, the mod uses a separate save file, but creating a backup of your default vanilla save file is recommended.
  • Is this mod compatible with other mods?
    No.
  • Is the mod available in other languages?
    Megaquest is available in Russian.
  • Something crashed the game, what do I do?
    Please, make sure that you're playing on the latest version of Megaquest. If you aren't, chances are your issue was already fixed. If not, find the latest error log text file in "Dicey Dungeons/log/errors/" and post it in the comments along with details about what you did to get the issue, what enemy you were fighting, what equipment you had and so on.

Install instructions

WARNING: The mod is incompatible with the current version of Dicey Dungeons for now! You will need to switch to the "legacymods" branch on Steam to revert to an older version of the game where the mod is supported.

Open the Dicey Dungeons mods folder, extract "megaquest" folder from the downloaded zip to the mods folder.

To load the mod, do one of the following:

  • Open the command line in the main Dicey Dungeons folder, then type "DiceyDungeons.exe mod=megaquest" and hit Enter
  • Open the game, go to Options > Mods, select "megaquest" in the left list and click the green "Load Mod(s)" button in the top-right

Download

Download
megaquest-2.2.0.zip 13 MB

Development log

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 68 · Next page · Last page

This is my first time installing a mod into a game can someone post a  tutorial or pls  explain how to install this mod.

(+1)

What version does it work on? I wanted to play but on 1.9.2 it doesn't work.

I'm assuming 1.8.*, because it hasn't been updated for 1.9 yet. If the question is still relevant, of course :D

(+2)

Hi Could you give me like a window of when I should check on a update? I keep checking every day and I'd rather not.

Like Obviously don't give a actual date because people can be stinky and take a guess as a fact/ just like how often I should check back. (like twice a week, or once a month)

ALSO LOVE WHAT YOU DO KEEP UP THE GOOD WORK!

(+2)

If you don't mind me asking, are you going to update this mod to work with 1.9 at some point?

(+2)

Yup, working on it! I had been trying to get an update for the mod ready before 1.9 hit, so the 1.9 migration will happen *with* the next mod update.

I've been loving the mod! But I have a bug to report. In episode 5, Computah (or however you spell it) was the final boss and it just had 2 Firewalls, but it never used them at all, meaning that it just did nothing the entire fight.

(+1)

Got another one, this one without a crash log though - it looks like the Unfinished Shield only ever gives you 1 shield, no matter what you put in it, whereas it says it'll give you x+2 with a max die of 4.

Love the mod! Sadly I come bearing a bug report, but no biggie:

--------------------------------------
filename:    diceydungeons
package:    com.terrycavanaghgames.diceydungeons
version:    v1.8.2 / 0.13.0 (mod API)
sess. ID:    dicey_dungeons_2020-08-29_11'38'54
started:    2020-08-29 11:38:54
--------------------------------------
crashed:    2020-08-29 11:39:40
duration:    00:00:45
error:        ERROR in callscenemethod(Combat,update) static : Null Object Reference, stack = Called from elements.Fighter.getequipmentposition (elements/Fighter.hx line 1331)
Called from elements.Fighter.fetchequipment (elements/Fighter.hx line 1471)
Called from elements.CombatCommand.execute (elements/CombatCommand.hx line 117)
Called from states.Combat.update (states/Combat.hx line 361)
Called from Reflect.callMethod (C:\coding\haxe\openfl\std/cpp/_std/Reflect.hx line 55)
stack:
haxegon.Scene.callscenemethod (haxegon/Scene.hx line 93)
haxegon.Scene.update (haxegon/Scene.hx line 53)
haxegon.Core.doupdate (haxegon/Core.hx line 268)
haxegon.Core.onEnterFrame (haxegon/Core.hx line 182)
starling.events.EventDispatcher.__invokeEvent (starling/events/EventDispatcher.hx line 184)
starling.events.EventDispatcher.dispatchEvent (starling/events/EventDispatcher.hx line 144)
starling.display.DisplayObject.dispatchEvent (starling/display/DisplayObject.hx line 778)
starling.display.DisplayObjectContainer.broadcastEvent (starling/display/DisplayObjectContainer.hx line 449)
starling.display.Stage.advanceTime (starling/display/Stage.hx line 108)
starling.core.Starling.advanceTime (starling/core/Starling.hx line 469)
starling.core.Starling.nextFrame (starling/core/Starling.hx line 455)
starling.core.Starling.onEnterFrame (starling/core/Starling.hx line 682)
openfl.events.EventDispatcher.__dispatchEvent (openfl/events/EventDispatcher.hx line 443)
openfl.display.DisplayObject.__dispatch (openfl/display/DisplayObject.hx line 1236)

---

Warrior in the Super Round episode with:
Stunula - Hammer+ - Bumpblade
Acupuncture - Ice Machine - Copper Shield+

Only when fighting against Loud Bird, any time either I try to view Loud Bird's equipment OR I finish my turn and it switches to Loud Bird, the game crashes. This also happens when I swap my equipment out to anything else.

Oh, yep, this is because one of the rules gives Loud Bird a 9th item, and it doesn't fit. Will be fixed in the next update. Thanks for the report!

Ahh, that'd do it. The fun thing about it is that that bug actually saved my run! Loud Bird wasn't on the critical path, and by skipping one enemy on the Super Round I was able to get my final levelup (and full heal) on the first boss fight.

(+1)

OK, that was fun! All finished!

(+1)

Used the Copycat's "Imitate" card or something on myself, game broke.

(+1)

Super Komputaah doesn't seem to do anything at all in Warrior Super Round

(1 edit) (+1)

One of the most delightful aspects of this mod is trying to figure out just what conceivable purpose some of the equipment might have. That thing that changes colors...the helium sword...and truly whatever do you do with a D12+?

(1 edit) (+1)

У 6 епизодах претендент Ведьма не может вызвать чары, у Шута вообще нет оснащения. 

Супер-Компьюта, у нее только два брадмаузера больше ничево.

5 епизож Шут. Когда забираеш остащение (отсчет 12 Выбери благословение) в бою когда заканчивается ход игра крашится.

(Ошибку позже скину)

(1 edit) (+1)

Третий эпизод за Вора, Золотая лихорадка. Кристаллина наложила два обрамления на моё оснащение. Я их не снимала. Закинула кубики в Золотую лихорадку, и у обоих обрамлённых оснащений вместо их отсчётов появлялись значения, как у лихорадки (между 2 и 4, между 2 и 3 и т.д.) (по-моему, даже сами оснащения стали Золотыми лихорадками, не могу сказать точно, потому что слишком быстро бросала кубики). После боя оба обрамлённых оснащения пропали из снаряжения.

(1 edit) (+1)

Прохожу третий эпизод за Воина. Когда вступила в бой с Авророй, игра почему-то крашнулась. Перезапустила игру, зашла – вместо воинского переброса кубика у меня появился второй кол.

Побила Аврору, закрыв этот второй кол. На следующих монстрах у меня остался только один кол, а переброс кубика вообще исчез. Проблема решилась перестановкой оснащения.

Код ошибки:

--------------------------------------
filename: diceydungeons
package: com.terrycavanaghgames.diceydungeons
version: v1.8.2 / 0.13.0 (mod API)
sess. ID: dicey_dungeons_2020-07-30_20'42'44
started: 2020-07-30 20:42:44
--------------------------------------
crashed: 2020-07-30 21:56:55
duration: 01:14:10
error: ERROR in callscenemethod(Combat,update) static : Null Object Reference, stack = 
Called from elements.Fighter.getequipmentposition (elements/Fighter.hx line 1331)
Called from elements.Fighter.fetchequipment (elements/Fighter.hx line 1471)
Called from elements.CombatCommand.execute (elements/CombatCommand.hx line 349)
Called from states.Combat.update (states/Combat.hx line 361)
Called from Reflect.callMethod (C:\coding\haxe\openfl\std/cpp/_std/Reflect.hx line 55)
stack:
haxegon.Scene.callscenemethod (haxegon/Scene.hx line 93)
haxegon.Scene.update (haxegon/Scene.hx line 53)
haxegon.Core.doupdate (haxegon/Core.hx line 268)
haxegon.Core.onEnterFrame (haxegon/Core.hx line 182)
starling.events.EventDispatcher.__invokeEvent (starling/events/EventDispatcher.hx line 184)
starling.events.EventDispatcher.dispatchEvent (starling/events/EventDispatcher.hx line 144)
starling.display.DisplayObject.dispatchEvent (starling/display/DisplayObject.hx line 778)
starling.display.DisplayObjectContainer.broadcastEvent (starling/display/DisplayObjectContainer.hx line 449)
starling.display.Stage.advanceTime (starling/display/Stage.hx line 108)
starling.core.Starling.advanceTime (starling/core/Starling.hx line 469)
starling.core.Starling.nextFrame (starling/core/Starling.hx line 455)
starling.core.Starling.onEnterFrame (starling/core/Starling.hx line 682)
openfl.events.EventDispatcher.__dispatchEvent (openfl/events/EventDispatcher.hx line 443)
openfl.display.DisplayObject.__dispatch (openfl/display/DisplayObject.hx line 1236)

(+1)

I don't think "hat trick" in Thief 2 does anything at all for the player?

(1 edit) (+1)

I seem to have encountered a bug with Ep. 6 Char. 6 booster pack generation. When I tried to interact with the second booster pack on the floor (from left to right, first ignored for now), the game crashed. I had the default starting deck plus one Stunula; The first booster pack contained an Energy Drink and two Accumulators. 

There was no Dicey Dungeons/log/errors/ file created as a result of this, but the game returned the error in the attached screenshot upon crashing.

Collecting the first booster pack did not prevent the crash.

(+1)

Here's a *poof* crash! Inventor I. Rules are Keymaster, Robobot, and Dire Wolf (which is the culprit.) Enemy is Copycat. Forced first move (after Copycat's turn) is thus Imitation. As soon as it is selected, game poofs. No crash log anywhere I could find.

(+1)

P.S., I love the new Copycat.

(+1)

I got a crash on Warrior-5 by trying to view Loud Bird's skills with the Inventor rule. Fixed it on my end by editing a couple of skills out of Loud Bird's loadout, so it's probably crashing by having nowhere to put the copied skill.

The error log mentions "elements.Fighter.getequipmentposition" if that helps any.

Also I can't believe you two made Loud Bird even more annoying!

Thank you for the report! This will be fixed in the next patch.

If you think that the new Loud Bird is even more annoying then my job is done 😎

(+1)

"Satellite" awards the blessing to the opponent, not the thief. Is this by design?

Are you on the latest version (2.2)? This bug was fixed in the update.

Hah! I hadn't noticed the update -- I was just refreshing the middle of this page. Deleting saves, diving back in, happy me. (Boy, with everything blind and multi-card shocks, the AI has no idea at all how to play the game, in Warrior 1.)

(+1)

Hey! Do you think you'll ever make this compatible for Mac?

(+1)

I've been playing it on my MacBook all along.

(+1)

As much as i want to like this mod, i don't, the episode 2's and 3's are just plain unfun and need me to savescum/minmax Waaaaay too much. The enemy designs are something straight out of horrible enemies. And while i see potential in this mod, i also see that it's just unbalanced, and not very fun

(+1)

"Lucky Star", when used by opponent (mirror guy), seems to not give him another dice, but instead ends his turn

(1 edit) (+1)

Yeah, that's a base game bug with enemies and reuseable dice manipulation. Enemies use items expecting to get a new dice back, but then they do a "do I have any dice left? If not, end my turn" check before the equipment animation ends, leading to this bug.

However, some items have a "wait a second before doing this check" function in their scripts. That's why this happens with some items and doesn't happen with other items.

"Unfinished Shield" only blocks one, not #.  (What a great mod;I'll be reporting a few more minor glitches.)

I'm finally getting close to beating everything! Beat my first Final Round, and I've got everything else done.


Ran into a pretty serious bug in the Warrior's Final Round though. My game crashed when trying to load the Inventor, saying that it was trying to load the Hammer+ equipment but no matching template was found in the equipment.csv file. Weirdly, it didn't generate a log file.

Hammer doesn't actually have an upgrade template defined in the base game files. There's an implied one because the Hammer's upgrade property is reduce_size, but that doesn't seem to work when creating the upgraded item directly like that. Creating an explicit upgraded version in the mod editor resolved the problem.

On a non-bug note, that trick with survive? that the final round bosses use is really confusing. I didn't really understand what was going on until I actually read through the scripts that run the episode (Now that I understand, that's really clever). I think a custom status might help here as well, so that it can explicitly state what will happen when you take their HP to 1. And then maybe change the survive? to 99 or something else impossibly high, which makes it obvious that you're not supposed to wait for it. 3 is low enough that it feels like maybe you're supposed to wait for it, but then the number bounces around and doesn't drop properly. Setting it to something really high would let you just leave it there to tick down without having to keep reapplying it and bouncing the count around like that.

A small bug with it, you can take them out by using a non-attack if they drop to 1 on their turn through thorns or burn damage, since the next item used will take them out even if it doesn't deal damage. I don't think that's actually fixable with the way the triggers work, but thought I'd mention it in case you have some brilliant idea for it.

I went back to check an unmodified copy of the files, without the changes I've made to patch some of the bugs I've reported. It looks like the hammer creation bug is the result of the mod editor overwriting some files. In your files, all the upgraded equipment for that round is indicated with a + (eg: hammer+, dagger+, etc...). In mine, some of them have been replaced with hammer_upgraded, etc... I haven't intentionally modified that, so it looks like it's probably an automatic thing with the mod editor, like that || to ,, bug. It seems like the "_upgraded" form doesn't process the default upgrade types, and only works if there's a full upgraded version defined.

So that's a false alarm then. Sorry about that.

(+1)

Kompuutah's Firewall is bugged in super rounds as well. It's using a shared counter, so when he gets a second one because of Inventor rule, each item use counts twice for each of them, meaning that they trigger every two items instead of every four.

Guild of Collectors seems bugged on Jester 5. Taking it permanently adds the snap option from Jester 3, which discards matches to give you dice, but the bar for your regular limit break still charges and using it overrides that version of snap with the usual version from the limit break, which activates the cards. This makes it a strict buff, which isn't how any of the other guild rules work, so I doubt it's intentional.

(1 edit)

I put together the version that I'd expect from the description, which gives you the ability to get dice when you discard only for the turns where you activate your limit break, and started a run to test it. It feels really weak compared to Guild of Power. It's almost a strict downgrade from the normal version of Snap, which effectively gives you more dice, since it creates a die to activate each of the snapped cards, instead of giving you 1 less die than the number of snapped cards.
 
Making it just permanently give you the Jester 3 snap but remove your limit completely would probably be closer to equal in power, since that gives you increased offensive power in exchange for not getting the defensive boost from the HP, but it breaks the trend of the episodes by not giving Jester any active limit option, and always makes the Accumulator pack the best option if it comes up.

(2 edits)

hey i need some help I'm trying to install your mod. I've placed the mod in the mod folder for dicey dungeons, but when I load up the game and press the mods menu option it just crashes and I dont know why. Also I have no idea where to find the "command line"(i'm new to pc) to manually force the game to load it. Am I stupid? What am I missing? someone please help I will not be beaten by this! here's the error log:

--------------------------------------

filename: diceydungeons
package: com.terrycavanaghgames.diceydungeons
version: v1.8.2 / 0.13.0 (mod API)
sess. ID: dicey_dungeons_2020-07-11_17'36'07
started: 2020-07-11 17:36:07
--------------------------------------
crashed: 2020-07-11 17:36:15
duration: 00:00:07
error: ERROR in callscenemethod(CharacterSelect,update) static : Null Object Reference, stack = 
Called from states.Title.decompose (states/Title.hx line 495)
Called from states.Title.changescene (states/Title.hx line 506)
Called from states.SettingsOptions.update (states/SettingsOptions.hx line 69)
Called from FadeControl.update (FadeControl.hx line 78)
Called from Screen.endrender (Screen.hx line 301)
Called from states.CharacterSelect.update (states/CharacterSelect.hx line 324)
Called from Reflect.callMethod (C:\coding\haxe\openfl\std/cpp/_std/Reflect.hx line 55)
stack:
haxegon.Scene.callscenemethod (haxegon/Scene.hx line 93)
haxegon.Scene.update (haxegon/Scene.hx line 53)
haxegon.Core.doupdate (haxegon/Core.hx line 268)
haxegon.Core.onEnterFrame (haxegon/Core.hx line 182)
starling.events.EventDispatcher.__invokeEvent (starling/events/EventDispatcher.hx line 184)
starling.events.EventDispatcher.dispatchEvent (starling/events/EventDispatcher.hx line 144)
starling.display.DisplayObject.dispatchEvent (starling/display/DisplayObject.hx line 778)
starling.display.DisplayObjectContainer.broadcastEvent (starling/display/DisplayObjectContainer.hx line 449)
starling.display.Stage.advanceTime (starling/display/Stage.hx line 108)
starling.core.Starling.advanceTime (starling/core/Starling.hx line 469)
starling.core.Starling.nextFrame (starling/core/Starling.hx line 455)
starling.core.Starling.onEnterFrame (starling/core/Starling.hx line 682)
openfl.events.EventDispatcher.__dispatchEvent (openfl/events/EventDispatcher.hx line 443)
openfl.display.DisplayObject.__dispatch (openfl/display/DisplayObject.hx line 1236)

(1 edit)

I've noticed the game will crash for me if I try to load mods from any screen except the title screen. If I'm on character or episode selection, it doesn't work for me. One other thing to double-check:

Open whatever folder the diceydungeons.exe file is in (If you've got Steam, open DD in your library, click the gear menu -> Properties, then on the Local Files tab, click Browse Local Files). This should be where the mods folder is, so make sure the megaquest zip is unzipped into a folder called megaquest inside mods, and make sure that directly inside the megaquest folder it has the _append, _merge, etc... folders. Some ways of unzipping things can end up creating an extra layer, which would go mods -> megaquest -> megaquest -> _append. If you've got that, just copy everything up one layer and then delete the extra folder.

About the command line: It's a bit hidden in Windows, since they don't really expect you to need it for anything. The easiest way to get to it for this (assuming you're on Windows 10) would be to open the DD folder like above. Then in the Windows Explorer window, click File -> Open Windows Powershell -> Open Windows Powershell

This should open a blue window with a line of text that looks something like this. It'll be a little different based on your file location:

PS D:\Games\Steam\steamapps\common\Dicey Dungeons>

It'll let you type at the end of that. Type the following and hit enter. Make sure it's exactly like this or it will not work properly.

./diceydungeons.exe mod=megaquest

There should be exactly one space, between exe and mod.

Hey, I've returned! I manage to beat the Witch episode and since moved on to the episodes 5 of each character and... it's not fun. I understand that it's supposed to be a challenge but after dying about 20 times with the robot, I turned to save scumming in order to win. It's simply too hard. Even in the base game's "parallel" episode, there were certain rules that helped you out and in this case, it's like hard on top of hard on top of hard. Instead of wanting to start over and seek better equipment, upgrading the right stuff and hoping for better rules and enemy and health placement on each floor, it just seems like by the time you get to floor 5 or so, every enemy is overpowering you no matter what set up you have going for you. It's not fun, it's more like torture and I'm not going to keep playing. I moved on to episode 6 and tried my hand there, but it also seems like it's also stacked against you. I was surprised that you didn't get upgraded equipment since you fighting enemies back to back and it make sense because of the concept of the round. I only played with the warrior and even got beat in the first fight against the thief when he didn't die in the third turn, instead his counter when back to three. So, I don't know if you can upgrade later, in any case, it makes sense to me to start with upgraded equipment anyway. I really did enjoy all of the first 4 episodes for each character, but this last two round are unbearable as they currently stand.  

Not sure if you've got any interest in trying them again, but if you select the random option for the first rule in episode 5, regardless of what character you're playing, it'll always give you "Guild of Power", which makes your limit break do nothing but gives you a permanent +2 max HP after every fight. That gives you a significant buffer by the later floors to absorb the increased damage enemies can deal. And it makes special attack or accumulator really strong since you can always leave the useless limit break charged.

I wouldn't recommend it for Thief since the other option can create massive burst damage builds, but it's a pretty strong option.

Yes, I know, and that came to be my build for the robot. But it still doesn't make that much of a difference, on top of the fact that there's absolute no guarantee that you'll get any equipment (which is basically only those two that you mentioned with maybe two other ones?) that gains from the alt always on full. 

With 50% more life, and even with that rule, enemies still have a chunk more life than you (in fact, not taking this rule, puts you into further disadvantage most of the time), then they have double the equipment, which makes it so that enemies that usually have smaller and weak or powerful but not many pieces of equipment (there are few exceptions like the weather changer and Crystalina that don't benefit from double equipment), have a pretty consistent chance of hitting double, and are more likely to be able to do so because they have extra dice! That small advantage of having a little more life instead of an alt becomes minuscule compared to the three colossal advantages that enemies have after the 5th floor. These advantages not only makes the enemies harder to kill and more dangerous in damage, but it also makes most of the elemental effects useless, boiling your strategy to raw damage most of the time. If you freeze one dice, they have tons more, same with burning dice; if you shock an equipment, they have the dice and also an extra equipment anyway, same with weakness. Only way to get anything out of status effects if you waste on the same equipment or those very rarely seen "all dice" or "all equipment" instances (like in gadgets). On the other hand, enemies that use status effects, because of all their attacks and dice, end up inflicting tons of them to you. 

Like I said, it's just too stacked against you to get any sort of fun out of these rounds. I've manage to beat them only through save scumming when I feel like I've finally made a good worthwhile build and then fighting the last enemy before leveling to level 5 100 times over until I get good luck and they get bad luck. 

The one thing that has helped me, that I didn't realize in the first runs (it gave me some motivation to keep playing after I wrote the last comment), is that you can skip a fight with level 5 enemy, in fact, you should skip one since you would want to level up before the boss and have full health. This did make it easier for me, normally skipping one in the 6th floor and getting some health from the next level before the next fight. Knowing this made the levels slightly less frustrating and unbearable, but I still feel like these get unnecessarily too hard most runs. 

(+1)

Hello! Thank you so much for season two, I really enjoy it. You need to know about Robot's crash. In Episode 2 I used Robotic Exit and gained 22 CPU in total to final boss. And the game crashed. Perhaps, it was not designed for so many CPU. That's error's log:

--------------------------------------
filename: diceydungeons
package: com.terrycavanaghgames.diceydungeons
version: v1.8.2 / 0.13.0 (mod API)
sess. ID: dicey_dungeons_2020-07-11_22'32'48
started: 2020-07-11 22:32:48
--------------------------------------
crashed: 2020-07-11 23:48:27
duration: 01:15:39
error: ERROR in callscenemethod(Combat,update) static : Null Object Reference, stack = 
Called from displayobjects.RobotCalculatePanel.draw (displayobjects/RobotCalculatePanel.hx line 296)
Called from elements.Equipment.render (elements/Equipment.hx line 2040)
Called from elements.Equipment.draw (elements/Equipment.hx line 1740)
Called from states.Combat.update (states/Combat.hx line 723)
Called from Reflect.callMethod (C:\coding\haxe\openfl\std/cpp/_std/Reflect.hx line 55)
stack:
haxegon.Scene.callscenemethod (haxegon/Scene.hx line 93)
haxegon.Scene.update (haxegon/Scene.hx line 53)
haxegon.Core.doupdate (haxegon/Core.hx line 268)
haxegon.Core.onEnterFrame (haxegon/Core.hx line 182)
starling.events.EventDispatcher.__invokeEvent (starling/events/EventDispatcher.hx line 184)
starling.events.EventDispatcher.dispatchEvent (starling/events/EventDispatcher.hx line 144)
starling.display.DisplayObject.dispatchEvent (starling/display/DisplayObject.hx line 778)
starling.display.DisplayObjectContainer.broadcastEvent (starling/display/DisplayObjectContainer.hx line 449)
starling.display.Stage.advanceTime (starling/display/Stage.hx line 108)
starling.core.Starling.advanceTime (starling/core/Starling.hx line 469)
starling.core.Starling.nextFrame (starling/core/Starling.hx line 455)
starling.core.Starling.onEnterFrame (starling/core/Starling.hx line 682)
openfl.events.EventDispatcher.__dispatchEvent (openfl/events/EventDispatcher.hx line 443)
openfl.display.DisplayObject.__dispatch (openfl/display/DisplayObject.hx line 1236)


One more thing: please, fix this episode's bug with remaining dices. Now, if you put a dice in a shocked equipment and end the turn without other actions, you take a damage for this dice.

(2 edits) (+1)

OMG this mod is pure evil! Just as much as the base game, if not more. I'm loving it and hating it just as much! And I completely mean this as good thing XD It's like playing Dicey Dungeons 2 and that's just pretty fantastic. I'd like to say thank you so much for making this.

However, I'm here to complain, just as the base game's Witch Episode 4 is the hardest, I'm finding that is the same case as with this mod, which is fine I guess. I've been dying a lot in it, and it's frustrating as hell. In my last run, I found that there's two super enemies on floor 5 which no matter what I did, there was no way around not dying. With limited life on this floor and two super enemies left, there was absolute no way I was going to beat it. And of course, I didn't. I feel like 2 super enemies, when in the other floors there's super enemies as well, is too much, but that's just my personal opinion.

In the next run, I was able to get Redemption (and this is where my bug report starts), I thought that this was it, the strategy, play Redemption at the end of the battle and get more health for the next one, repeat. First off, I wondered if I could do it twice in a battle, and I guess I can't because the game crashed. Given, this was against Super Stereohead and it was weakened, so I'm not sure if it was because of that, the error was something like Null Object not found (sorry, I didn't screenshot it or anything). I still think that it makes sense that you can only use it once per battle, so maybe instating that would be a good enough fix? You know, similar to other once per battle equipment, although I don't know if it works the same with witch spells. 

No matter, my file was saved and I was able to try again, this time not playing that twice. The main reason that I came here, is because after that battle, after 3 battles in which I had effectively raise my max health by 6 through Redemption, I leveled up and had my 6 extra health taken away from me. Since you normally level up right before the boss this makes this piece of equipment completely and utterly useless since it doesn't save your added health when you level up. I felt like my time had been completely wasted and my strategy, with an item that has high toll for using, had no lasting rewards further than a couple of battles. I don't know if this is intended but it bothered me quite a lot since this is probably the most difficult level (at least so far) and caught me completely off guard. 

I definitely have more opinions on difficulty in other levels, but this one felt completely unfair and not explained and I just couldn't not comment on it right away. 

Hey, thanks for the feedback! Witch Episode 4 is getting replaced with a completely new episode :)

Thanks for your quick reply! Makes me happy to hear you'll keep updating the mod =) I'd just like to add that I don't dislike the mechanic (as infuriating as it gets sometimes!), it's a play on blood magic with makes a lot of sense. At the same time, I'm overjoyed that the episode will be no more XDXD Hope to play it soon!

(+1)

will ti work on linux??

(+1)

Couple more bugs I ran into:

Amplfier+ only inflicts 1 weaken, the same as the base form.

Tragic Repeater is a cool idea, but unfortunately easy to cause bugs with in edge cases. It doesn't calculate accurately the turn it comes out, because things in your spellbook aren't considered equipment so the start of turn/combat triggers don't fire off unless the spell is actually prepared. It also doesn't account for damage from burned dice properly, since that isn't counted until after the next item is played. The burn problem is an easy fix, just add the fury update script on countdown reduction. The spell creation one is tougher. The best workaround I could find was to add a script to witch episodes that can track damage for the turn on the character itself and then use that to set the item's internal tracking if it's currently at 0. Jester might need the same workaround if it can show up in Jester 4, but I think his cards fire off all the triggers normally. There's also no upgraded form of Tragic Repeater in the files.

When I fought Kompuutah, he never used Weakness Detector, even when he had the dice for it. I'm not sure exactly how the AI for enemies works, but it seemed to be always prioritizing firing off the reusable countdown over activating Weakness Detector.

And a couple comments that aren't bugs:

You might want to look at the balancing for Inventor 4 again. There's a lot of easy ways to gain gadget levels which can turn into a lot of free turns while stacking dmg and burn. By the end of it I had wrench, hitech wrench+, rescue ranger and gunslinger, and was always taking at least 2 turns in a row, and it wasn't that rare to get 3, usually all with maxed out turret gadget activations. I cleared most of floor 5 without being hit. Preon Accelerator is probably overtuned as well, since you can just bring it in to practically one-shot the boss,making the cost of weakening the gadgets not matter.


For the super rounds, 50% bonus health on the bosses is really, really strong. It's not completely impossible with a strong enough build, but combined with the extra die, it makes it pretty easy for some of the bosses to wipe the floor with you, particularly the ones who have strong status effects. Pulling it down to maybe a third would give a lot more room for error or bad luck. With some clever conditionals in the remix rule (to account for resuming saved runs) and using the change floor script hook, it might even be possible to only reduce it for the boss and leave it at 50% for regular enemies, which is fairly manageable.

(+1)

I had a crash against the Komputer boss when playing Jester's first episode. Here's the crash log:

--------------------------------------
filename: diceydungeons
package: com.terrycavanaghgames.diceydungeons
version: v1.8.2 / 0.13.0 (mod API)
sess. ID: dicey_dungeons_2020-06-29_22'22'01
started: 2020-06-29 22:22:01
--------------------------------------
crashed: 2020-06-29 23:28:51
duration: 01:06:50
error: ERROR in callscenemethod(Combat,update) static : Null Object Reference, stack = 
Called from Game.clonetextarray (Game.hx line 2427)
Called from elements.StatusEffect.clone (elements/StatusEffect.hx line 154)
Called from elements.TurnHistory.new (elements/Fighter.hx line 23)
Called from elements.Fighter.saveturnhistory (elements/Fighter.hx line 3964)
Called from elements.Fighter.startturn (elements/Fighter.hx line 656)
Called from elements.CombatCommand.execute (elements/CombatCommand.hx line 603)
Called from states.Combat.update (states/Combat.hx line 361)
Called from Reflect.callMethod (C:\coding\haxe\openfl\std/cpp/_std/Reflect.hx line 55)
stack:
haxegon.Scene.callscenemethod (haxegon/Scene.hx line 93)
haxegon.Scene.update (haxegon/Scene.hx line 53)
haxegon.Core.doupdate (haxegon/Core.hx line 268)
haxegon.Core.onEnterFrame (haxegon/Core.hx line 182)
starling.events.EventDispatcher.__invokeEvent (starling/events/EventDispatcher.hx line 184)
starling.events.EventDispatcher.dispatchEvent (starling/events/EventDispatcher.hx line 144)
starling.display.DisplayObject.dispatchEvent (starling/display/DisplayObject.hx line 778)
starling.display.DisplayObjectContainer.broadcastEvent (starling/display/DisplayObjectContainer.hx line 449)
starling.display.Stage.advanceTime (starling/display/Stage.hx line 108)
starling.core.Starling.advanceTime (starling/core/Starling.hx line 469)
starling.core.Starling.nextFrame (starling/core/Starling.hx line 455)
starling.core.Starling.onEnterFrame (starling/core/Starling.hx line 682)
openfl.events.EventDispatcher.__dispatchEvent (openfl/events/EventDispatcher.hx line 443)
openfl.display.DisplayObject.__dispatch (openfl/display/DisplayObject.hx line 1236)

(1 edit) (+1)

Another quick bug roundup. Before starting those though, I'd like to repeat that I really am having a lot of fun with this, and I think it's impressively put together! I know I've been leaving a lot of bug reports and design questions, but please don't take them as complaints about the mod overall.

In Thief 3, the boss gold rush item that gives re-equip 1 has no effect. The re-equip animation plays, but you do not actually get the status. The only other one I got was the shield one to compare against, but that one worked as expected.

In Jester 2, you might want to give something other than the usual call for backup cards as level up rewards. Those cards do not work properly with re-equip. They stay in their deck slot, but do not get reactivated, so you can't do anything with them. That's a base game bug I think, but it does interfere with the rule from the episode.

When using Display as the Robot, there's no indicator to show how many extra dice you've gotten from it. If the usual counter isn't available on the robot, maybe a custom status that Display could apply, just for visual information?

The Megaflick gadget doesn't seem to work correctly. It will always throw a number of dice equal to your starting dicepool, instead of throwing all your current dice and replacing them. The thrown dice can include some dice that get generated just to be thrown. You do end up with the same number of dice eventually as you had when you activated the gadget.

(+1)

Hi!! This is so cool - I was wondering if you were perhaps interested in an artist to help you out? I'm a college student majoring in Game Design who wants to flex their art muscles, so I'll do it for free (since it's fan work after all)! I love Dicey Dungeons and have some free time on my hands :D If you're interested, email me at eberlin.pro@gmail.com, but if not, it's no big deal. Have a great week!!

(1 edit) (+1)

Hit a game crash bug in Warrior 3. It was the first fight I started, against Rose. It crashed while he was trying to attack me on his first turn with his Rosewood Spear. The error log talks about a Null Object Reference, but I think that's misleading. If you've got a command line open, it drops this trace, which looks like the root cause:

DiceyScript.hx:34: Error loading script "if (target.hp < target.getvar("vampireslayeroldhp") ,, getstatus(SHIELD) < target.getvar("vampireslayeroldshield")) attackself(-2); target.setvar("vampireslayeroldhp", target.hp); target.setvar("vampireslayeroldshield", getstatus(SHIELD));" in DiceyScript.new.
DiceyScript.hx:35: Parser failed to break down the script: syntax error?
Script.hx:577: ERRORHANDLE OBJECT :
,Error,
errorhandle.e =
{
0: null
1: null
}
Script.hx:578: EUnexpected(,)
Script.hx:601: Unknown error in line 1:
Script.hx:601: "if (target.hp < target.getvar("vampireslayeroldhp") ,, getstatus(SHIELD) < target.getvar("vampireslayeroldshield")) attackself(-2); target.setvar("vampireslayeroldhp", target.hp); target.setvar("vampireslayeroldshield", getstatus(SHIELD));"


The actual error log has:

error:        Null Object Reference
stack:
elements.DiceyScript.set (elements/DiceyScript.hx line 53)
Script.loadallconstants (Script.hx line 333)
Script.rungamescript (Script.hx line 74)
elements.Equipment.doequipmentaction (elements/Equipment.hx line 2647)
Reflect.callMethod (C:\coding\haxe\openfl\std/cpp/_std/Reflect.hx line 55)
motion.actuators.GenericActuator.complete (motion/actuators/GenericActuator.hx line 155)
motion.actuators.SimpleActuator.update (motion/actuators/SimpleActuator.hx line 529)
motion.actuators.SimpleActuator.stage_onEnterFrame (motion/actuators/SimpleActuator.hx line 608)
openfl.events.EventDispatcher.__dispatchEvent (openfl/events/EventDispatcher.hx line 443)
openfl.display.DisplayObject.__dispatch (openfl/display/DisplayObject.hx line 1236


It looks like || characters are being converted into ,, for some reason and not converted back before trying to execute the script.

(+1)

Another point about that script, it looks like the enemies heal even if you block the damage on a shield. It seems a bit weird to make it different than a drain attack like Drake's, which only heals for damage that is actually dealt to the target. Since this says they heal on every attack, instead of healing equal to the damage dealt, it's not quite the same. But even with that, it's a bit weird to have all enemies as vampires and then have shield not work against them the way it works against the actual vampire.

The shield addition is there because it was rather misleading that some attacks healed the enemies and some didn't. I didn't want to make it work like Drain because that would be way too powerful.

As for the || to ,, error, that doesn't happen for me. Did you open the mod in the Dicey Modgeons editor by any chance? I read that it sometimes converts the # sign (which gets replaced with || during script execution) to ||, which converts to ,, in-game.

Fair enough. I wasn't suggesting to make all the attacks drain. That would be extremely powerful. I thought it would make more sense to mirror the shield behaviour but if you prefer doing it this way, it's certainly a viable option.

I have modified the mod in the editor a couple times to patch bugs I've reported here, so that's probably why I'm seeing the crash. I hadn't changed any scripts that were running in that case so I didn't think it would matter. That's an ugly bug in the modding tool. I'll just fix it up in my files then. Change the script a little to avoid using the || operator so that it won't break later.

(1 edit) (+1)

Couple more comments about Thief 2, since I've been stuck on it so I've had lots of time to look at it.

The set of excluded enemies seems a bit weird. I don't think there's really any need to exclude Keymaster (other than maybe that Blind bug), or Crystalina, or Lumberjack unless the cursed axe triggers before the item swap. I've been testing some less biased trade randomization that moves that script to the start of combat, so my interaction there might be different than the default one.

Keymaster and Crystalina's items require a little work to access the first time, but are permanently available once you unlock them.

It probably should exclude Drake, since he can soft lock runs if he steals the stake from you. A couple other enemies don't need to be excluded, but they do have items that are functionally or completely useless if you get them. This can make them really RNG-dependent and potentially run-ending, so excluding them might be better:

Wolf Puppy - Bad RNG can soft lock you if the chest behind the other enemy has a Thumbtacks (or if you mess up and fight him first) and you get Woof Woof Woof from him

Sticky Hands - Similar problem with Escape. Not quite as bad since he's at least a floor higher so you probably will be left with at least 1 damage item but it can cripple a run.

Baby Squid, Kraken - Both have a size 2 item that does nothing but inflict blind. Not technically useless, but pretty close. Kraken isn't likely to soft lock you, but he might just steam roll you with damage if you give him decent items and take his blind. Removing these also makes Keymaster safer to bring back. Dust cloud from Vacuum might cause a problem with him, but it's a viable damage item so I don't think there's a reason to remove Vacuum.

Loud Bird - Squawk does literally nothing for either of you, since enemies aren't affected by silence and you seem to be immune during this episode. Is that supposed to happen?

I think you might want to take another look at robot episode 2 (lose HP for unused dice). Just to preface this, I've beaten every other robot episode with minimal issues so I'm not just a salty nerd (lol).

I've probably attempted it about 10 times so far, and all 10 of them ended either on floor 1 or floor 2. It's incredibly inconsistent and difficult to progress and get actually good equipment due to wildly inconsistent damage dealing (thanks to the pretty awful starting equipment) and the nearly-guaranteed extra damage you'll take.

I think you may have been at least somewhat aware of issues regarding this episode considering you start with a piece of equipment that only works until you level up, but it really isn't enough.

Heads up in advance, this ended up being really long, and is based on me digging into the mod files to check out some of the code implementations. If you'd prefer that I not bring up this kind of code implementation thing, let me know, and I can just stick to functional bug reports. 

In Thief 2, is it intentional that the equipment trade logic is biased towards making 2-for-1 trades of small items for large items more often than 1-for-1 trades of large items? If it is, then ignore the rest of this, but it feels like it's probably an accidental side effect of the logic.

To illustrate, assume that the player is holding 2 small items and 2 large items, and the enemy is holding 3 large items. The enemy is going to select a large item for its trade, guaranteed. The player will randomize, and offer one of their items, at a 25% chance of each. However, the size balancing logic will force the player to trade both of their small items if either is selected, which gives you a 50% chance of making that trade, vs a 25% percent chance of making either of the other two trades, Even though there are three possible size 2 trades for the player to make, the one made up of two small items is prioritized.

This is maybe just confirmation bias from some failed attempts, but it feels like this usually disadvantages the player, because the enemies are likely to have large items, and trading two of your items for one of theirs seems to give them more power than it gives you.

Back to my hypothetical case, I think it would make sense to aim for the odds for each of the 3 cases (the two 1-for-1 trades and the 2-for-1 trade) to be a 33% percent chance. Otherwise, it inevitably pushes the player towards a deck of 3 large items, which is generally not a strong end-game build. Doing this would require a bit of a rewrite of the size balancing logic.

Instead of adding to the existing offer, you'd need to recalculate a whole new offer by iterating through the equipment of the side who offered the smaller item again and creating a new list to shuffle. Large items can be added to the shuffle list directly. If you see a small item, you'd need to do some kind of pair-calculating logic. You could keep the existing position-based logic for this. Add one half of the pair to the list to shuffle, and add the other half to a separate list. Anytime you find a small item, before calculating a pair for it, check to see if it's in the second list, and if it is, do nothing and move to the next piece of equipment, since it's already included as one of the possible trades. After going through all the items like this, shuffle the first list and grab the first item. If it's large, then you're done. If it's small, recalcuate the paired item and the trade offer becomes both of the items in the pair. (This is a bit of extra work, but it's probably easier than trying to save what all the pairs are).

This gives you an even chance of any of the possible trades, instead of the weird percentages that the current implementation gives.

(1 edit)

On a related note, I think it might be possible to bug out the trade logic and get a large item exchanged for a small item if one side has an odd number of small items. If the extra one gets picked, it shouldn't have anything else in the same column so nothing would be added to the trade. I can't seem to make it happen in a run though. Not sure if that's because I'm missing something in the logic that prevents it, or just because of how the random shuffles are happening. That might not be avoidable though, since doing an actually random selection of small items in the size balancing logic probably messes up the screen organization logic in the original code when you try and swap things.

Maybe if you moved that script to on combat start instead of being on turn start of the first turn? You'd have to give up being able to visually see the item replacement, but that might avoid the screen organization problems.

Viewing most recent comments 1 to 40 of 68 · Next page · Last page