Quirky Quornhole: An opinionated solo/small party mod for MS:C NOV2015a

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Hey old timers!

Used to play Master Sword with a friend 20 years ago, and have occasionally checked back over the years for nostalgia reasons. We decided to check it out again recently and made some pleasant discoveries. For one, it's open source now! That's great! And some servers have exp bonuses, great! But they're all down, oh... But it's open source, so we can fix that! Great!

So I had a look around the github repos and saw that it was pretty simple to unpack the scripts file from the last NOV2015a release and modify it to our needs, then repack it.

I started out by adding the [FN] server bonus to all servers and fixing item drop player limits, and have over time made some other small, opinionated changes. I apologize if they don't fit everyone's tastes, I just fixed some of the stuff that annoyed me as we've been playing and thought other people might feel like me.

Without further ado I present the Quirky Quornhole version of MSC NOV2015a, full changes below:

1. all [FN] server rewards activated for all servers, none of the restrictions activated (fn servers had some max level limits, couldn't use certain console commands, etc). there is no central character repository like [FN] had, however
2. [FN] exp gain modified to be a flat 4x increase, 8x for bosses (no extra per player)
3. [FN] gold gain per player increased from 25% to 75%
4. item drops that had "minimum player amounts" required have had the limit removed (can drop even for solo players)
5. revised a lot of the random drops so they drop more often (many are now 40% + 20% per extra player, "ARTIFACT" drops are mostly 20% + 10% per extra player). previously this could be anything down to like 0.02% drop chance per player
6. side dodges are completely disabled (who thought these were a good idea after trying them?). back dodge still exists though
7. basic "power attacks" (200% charge) for 2h axes and blunt weapons disabled (they suck and mean you can't hold a charge attack indefinitely, I'm always sad when I unlock them)
8. skeletons cannot respawn more than once, and most skeletons have a respawn chance of 50% (except those that previously had 0% or 100% respawn chance). hate having to sit around killing a bunch of skeletons 4 times

How to install:

1. Install the MSC NOV2015a edition like normally
2. Download zip file attached to this post and copy the sc.dll file inside it to /msc/dlls, overwriting the original sc.dll (back up the original if you want to revert later without reinstalling).
3. If you're playing on a dedicated server, do the same on both the server and the client.
4. Enjoy! It will work with existing characters if you want that.

EDIT: You can find newer versions attached my posts later in this thread; the latest one is from 2023-04-03
 

Attachments

  • sc.zip
    3.7 MB · Views: 48
Last edited:

AoDLeader

New Adventurer
Joined
Jan 5, 2009
Messages
1
Reaction score
0
Hey, I've been playingg this with a friend lately and was wondering where exactly you got the scripts from? Looking to make some more modifications myself.
 

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Hey, I've been playingg this with a friend lately and was wondering where exactly you got the scripts from? Looking to make some more modifications myself.

Fun! I do warn you that doing this requires programming experience since you'll need to write some of your own tooling. The repos are up on github.com/MSRevive/, though I'm not at all sure the scripts repo, even at its earliest commit, actually corresponds to what is in the NOV2015a release. However, we can avoid this problem by unobfuscating the original sc.dll file (which is not a real dll file, just an obfuscated blob with all the scripts in it). You can look at MasterSwordRebirth/MSShared/GroupFile.cpp to see how the file is "obfuscated" (it's just some bytes shifted around plus a checksum at the end). Optionally you could also actually unpack the file, reversing what MasterSwordRebirth/utils/scriptpack/packer.cpp does, but I skipped this and just modify the unobfuscated sc.dll (being careful to NOT to modify the length of any of the packed script files, as this would mess up the headers) then re-obfuscate it.

Good luck to you if you attempt this!
 

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
I've also played a bit since making my original post, and have found new things to annoy me, and therefore new things to change! A new sc.dll is attached, with full changes below (new changes in bold):


1. all [FN] server rewards activated for all servers, none of the restrictions activated (fn servers had some max level limits, couldn't use certain console commands, etc). there is no central character repository like [FN] had, however
2. [FN] exp gain modified to be a flat 4x increase, 8x for bosses (no extra per player)
3. [FN] gold gain per player increased from 25% to 75%
4. item drops that had "minimum player amounts" required have had the limit removed (can drop even for solo players)
5. revised a lot of the random drops so they drop more often (many are now 40% + 20% per extra player, "ARTIFACT" drops are mostly 20% + 10% per extra player). previously this could be anything down to like 0.02% drop chance per player
6. side dodges are completely disabled (who thought these were a good idea after trying them?). back dodge still exists though
7. basic "power attacks" (200% charge) for 2h axes and blunt weapons disabled (they suck and mean you can't hold a charge attack indefinitely, I'm always sad when I unlock them)
8. skeletons cannot respawn more than once, and most skeletons have a respawn chance of 50% (except those that previously had 0% or 100% respawn chance). hate having to sit around killing a bunch of skeletons 4 times
9. removed the whole shield health thing (effectively all shields are now "immortal")
10. disabled trident power throw (like the axe/blunt power attacks, it's terrible and means you cant hold a charge attack)
11. disabled the hobgoblin lightning shaman cage (permanent cc is bad)
12. disabled the goblin pouncers pounce (permanent cc is bad)
13. disabled the drunk effect (mainly so the poison doesn't apply it, it's annoying)
 

Attachments

  • sc 2023-01-27.zip
    3.7 MB · Views: 4

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Thanks for the pointers, they helped a lot in making a proper tool to decrypt, unpack, pack and encrypt the script bundles.

Glad I could help! I ended up having to do the last part (unpacking and repacking into/from individual files) myself as well, as I found myself making more changes than I first anticipated.
 

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
I found while playing this weekend that I messed up some stuff in the last version, e.g. lightning cage/drunk/pounce didn't get properly disabled; should work better now. I also made some more unrelated changes.

A new sc.dll is attached, with full changes below (new changes in bold):

1. all [FN] server rewards activated for all servers, none of the restrictions activated (fn servers had some max level limits, couldn't use certain console commands, etc). there is no central character repository like [FN] had, however
2. [FN] exp gain modified to be a flat 4x increase, 8x for bosses (no extra per player)
3. [FN] gold gain per player increased from 25% to 75%
4. item drops that had "minimum player amounts" required have had the limit removed (can drop even for solo players)
5. revised a lot of the random drops so they drop more often (many are now 40% + 20% per extra player, "ARTIFACT" drops are mostly 20% + 10% per extra player). previously this could be anything down to like 0.02% drop chance per player
6. side dodges are completely disabled (who thought these were a good idea after trying them?). back dodge still exists though
7. basic "power attacks" (200% charge) for 2h axes and blunt weapons disabled (they suck and mean you can't hold a charge attack indefinitely, I'm always sad when I unlock them)
8. skeletons cannot respawn more than once, and most skeletons have a respawn chance of 50% (except those that previously had 0% or 100% respawn chance). hate having to sit around killing a bunch of skeletons 4 times
9. removed the whole shield health thing (effectively all shields are now "immortal")
10. disabled trident power throw (like the axe/blunt power attacks, it's terrible and means you cant hold a charge attack)
11. disabled the hobgoblin lightning shaman cage (permanent cc is bad)
12. disabled the goblin pouncers pounce (permanent cc is bad)
13. disabled the drunk effect (mainly so the poison doesn't apply it, it's annoying)
14. reduced weight of arrows and bolts to 0
15. spells no longer "fizzle out" after a while; once you pull out a spell, it'll be usable until you actively put it away
16. casting rejuvenate on self now also scales with maxhp (4%, compared to 10% when casting on others)
17. removed drunk effect when electrocuted
18. removed or lessened some of the maxhp/totalhp checks
 

Attachments

  • sc 2023-01-29.zip
    3.7 MB · Views: 11

Xaymar

New Adventurer
Joined
Jan 27, 2023
Messages
3
Reaction score
2
Age
30
Glad I could help! I ended up having to do the last part (unpacking and repacking into/from individual files) myself as well, as I found myself making more changes than I first anticipated.
If you don't already have a tool, I've published my tools on github: github(dot)com/Xaymar/hl1-mastersword
 

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Hey old timers!

Played a few times since last, got annoyed by more things, so here's a new update.

As usual I've just fixed things that have personally annoyed me. A lot of these changes are the result of an incredibly annoying encounter with the mummy flameguard in deraliasewers; we fought him for literally two hours with NO way of telling if we were making any progress before just giving up. So, now you can tell how strong the monster you're fighting is, and how far along you are (current and maxhp). Honestly, this was a HUGE quality of life change, all fights after this have been much more pleasant since you know what you're in for and how you're doing.

Furthermore, I've changed what probably caused our earlier plight: the NPC boss regen - they used to regen about 10% of current health every minute, which for the high HP monsters is a huge DPS check which can be hard to bypass solo or with small teams; I changed this to instead trigger the regen when you're killed by the boss. Similarly, non-boss monsters would fully heal when they killed a player; they no longer heal at all. Since some of these "non boss monsters" have 10k+ hp, the full heal is super painful.

As we're getting up to around level 25, I've noticed the experience curve is extremely steep. Looking at the c++ code, I saw that the exp required for getting from level x-1 to level x level is 1.248^x * 4 * x. This is a pretty steep exponential. I can't change the amount of exp required, but I can grant more experience to counteract this a bit. So I've added an exponential exp boost of 1.08^x, where x is the average player level on the server. At level 25 you're getting a 684% experience boost, multiplicative with the base 4x boost. Ideally we'd like to run through the available content without having to stop and grind for experience in order to progress. We'll see how that goes.

Other than the above I've changed some small things here and there. As a final note, I think I managed to squash one of the most annoying bugs we've had; the fact that dying while sitting down would permanently lower your camera into the ground.

A new sc.dll is attached, with changes since previous version below (the full list is getting a bit long now, so I'll omit it):

19. monster healthbars would previously show on hit if you had a bloodsignet ring; now they show even if you don't have it
20. when a monster healthbar shows, it also prints its current and total health in the combat log
21. bosses no longer regenerate health every 40-120 seconds; the regen now triggers when they kill players
22. non-boss enemies no longer fully heal when killing players
23. erratic lightning now only loses 3 ramp charges when missing your target, instead of all ramp charges. switching targets still loses all ramp
24. the poison spell is somewhat faster to prepare and cast
25. added an exponential (1.08^x) xp boost based on avg level of players on the server to help counteract the MASSIVE amounts of experience required at later levels
26. being killed by a non-boss monster no longer loses you all exp progress you had on that monster
27. mummy high priests now heal other mummies for 5% of max hp instead of 100% of max hp
28. the regen on sitting now triggers twice as often for half as much
29. fixed a very annoying bug where dying while sitting would leave your camera permanently lowered
 

Attachments

  • sc 2023-02-11.zip
    3.7 MB · Views: 5

fancyghost

New Adventurer
Alpha Tester
Joined
May 5, 2011
Messages
9
Reaction score
0
So glad that my nostalgia coincided with yours. I don't have the kind of time that I used to, and the QoL is always appreciated. I'll keep an eye on this thread until you decide you're through making your tweaks.

Sidenote, does anyone know what the current status of development is? Seems like there's been a lot of talk about a total rework circa 2021 but I haven't been able to find anything more recent than a year and a half. Did that effort die out?
 

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Sidenote, does anyone know what the current status of development is? Seems like there's been a lot of talk about a total rework circa 2021 but I haven't been able to find anything more recent than a year and a half. Did that effort die out?

As far as I can tell from some post-mortem reading of the forum there have been various efforts over the years. There is active development going on at github.com/msrevive from some dedicated people, I would guess all other efforts have died out.

Here's a small update to yesterdays release, which is just some bug fixes. I accidentally messed up the high priests so they lowered the max health of mummies they healed. I also fixed some chest drop rates that I had missed way back in my original release.
 

Attachments

  • sc 2023-02-12.zip
    3.7 MB · Views: 5

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
New week, new patch

Last patch had a bug that nerfed you hard against bosses that killed you (95% less damage instead of 5% less), sorry about that. Fixed now.

Other changes since previous version below (the full list is getting a bit long now, so I'll omit it):

30. a lot of chests that previously only awarded certain items to the "strongest player" now have no such check (and award it to everyone instead)
31. made a lazy fix for the urdual shield slow sometimes sticking when you die; it just doesn't slow at all anymore.
32. removed some votemap restrictions (can now vote for hidden or mid-gauntlet maps if you want) and "spawn validation" (stuff that checks if you're on a "legal map" or whatever). do whatever you want, it's your game
33. smallarms haste buff no longer deactivates if you run too far
 

Attachments

  • sc 2023-02-18.zip
    3.8 MB · Views: 9

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Hey ho, let's go

Agrath the Gloam Hunter frustrated me this weekend, so he's now a lot tankier.

I've upped the exponential exp boost from 1.08^level to 1.09^level

I looked into the accuracy calculations for melee weapons and found that you're not guaranteed to hit until you hit 100 stat for that weapon... which is not practically possible (definitely not without the exp boosts I've implemented, anyway). So, I've implemented a flat accuracy boost of (1.75 * weapon stat). So, if you're using a weapon attack with 50% accuracy and you have 10 in the relevant melee stat, you would previously have a (50 + (100 - 50) * 0.1) = 55% hit chance and wouldn't reach 100% hit chance until 100 in the relevant melee stat. Now you'll instead have a (57.5 + (100 - 57.5) * 0.1) = 61% hit chance, and will reach 100% hit chance at around 28 in the relevant melee stat.

There are lots of special cases regarding weapon accuracy, so I've likely missed some of these.

I'd like to add a little warning here: there's a small chance that if I've made a mistake with some specific weapon it might go poof when you load your save file. So, uh... keep backups.

So, without further ado - changes since last time below:

34. meleee accuracy buffed nearly across the board. flat accuracy boost of 1.75 * stat (and some weapons have just got a straight buff to 100). some weapon attacks are untouched as of now, mostly those that implement custom charge attacks
35. agrath the gloam hunter now has 15k health instead of 1k (escort quests... ugh)
 

Attachments

  • sc 2023-02-25.zip
    3.8 MB · Views: 5
Last edited:

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Just two small changes this week, again both frustration related.

Changes since last time below:

36. Certain chest and NPC related rewards wouldn't be given if you dealt too little damage compared to your teammate, which feels bad when you're playing with friends. So now you always get the rewards no matter how much or little damage you did.
37. Stuns (and "heavy stuns") against the player now have a hard cap of 1 second - no more super long stuns.
 

Attachments

  • sc 2023-03-05.zip
    3.8 MB · Views: 8

Jonzay

Adventurer
Shadows of Torkalath
Alpha Tester
Joined
Mar 22, 2011
Messages
70
Reaction score
7
Hah, you fixed the sit bug, nice! Now do the frost bow "cold resist doesn't work properly the first time you draw the bow in a map" bug :p

This is pretty cool, I'm going to check it out. Thanks for your efforts.
 

Himself

New Adventurer
Joined
Aug 28, 2006
Messages
56
Reaction score
0
Finally got around to signing in and wanted to add my two cents, I really appreciate the work you've done here. The game as it was, was difficult to really get into as someone who would play solo or with a friend or two. That you're fixing things and making the game feel much more playable, approachable, is awesome. Will definitely be trying it out, and looking forward to more. What a nice thing to discover, after coming around to see if the game had updated at all in the years gone by. Cheers. o/
 

ShadowGrrl

New Adventurer
Joined
May 11, 2007
Messages
16
Reaction score
3
Age
34
Location
Australia
Jonzay and I really like the changes and bug fixes. Many things are much more fun to do now.

One bug that still comes up is if we both accidentally use a shop at the same time as each other, the shop is broken for both of us for the entire map. Is this something that could be easily fixed?

Thank you for your hard work. <3
 

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Fun to see more people wanting to reexperience this old classic! Didn't have any time to play this week myself, sadly.

Hah, you fixed the sit bug, nice! Now do the frost bow "cold resist doesn't work properly the first time you draw the bow in a map" bug :p

This is pretty cool, I'm going to check it out. Thanks for your efforts.
I looked at the frostbow script, but it's a bit of a mess. I haven't actually found the bow in game either, so I can't test any changes. I'll let this be for now :)

Finally got around to signing in and wanted to add my two cents, I really appreciate the work you've done here. The game as it was, was difficult to really get into as someone who would play solo or with a friend or two. That you're fixing things and making the game feel much more playable, approachable, is awesome. Will definitely be trying it out, and looking forward to more. What a nice thing to discover, after coming around to see if the game had updated at all in the years gone by. Cheers. o/

Enjoy! It's an oldie but a goodie.

Jonzay and I really like the changes and bug fixes. Many things are much more fun to do now.

One bug that still comes up is if we both accidentally use a shop at the same time as each other, the shop is broken for both of us for the entire map. Is this something that could be easily fixed?

Thank you for your hard work. <3

I saw earlier that this bug was fixed in the msrevive github repo by greatguys1, so I took his fix and implemented it here as well. I haven't had a chance to test it, however, but I don't doubt his work.

So a very short change list this time:

38. Implemented greatguys1's fix for the bug where two people cannot use a vendor at the same time
 

Attachments

  • sc 2023-03-12.zip
    3.8 MB · Views: 18

deandawg

New Adventurer
Joined
Mar 15, 2023
Messages
2
Reaction score
0
Age
35
Soooo happy I searched Mastersword again this morning.
 

Himself

New Adventurer
Joined
Aug 28, 2006
Messages
56
Reaction score
0
Hello again, just wanted to check, what version of MS:C are you using, NOV2015a, or FEB2015d?(or other) and does it matter which, for your mod file? If you know.
 

spark

Adventurer
Joined
Jan 19, 2023
Messages
15
Reaction score
14
Age
53
Hello again, just wanted to check, what version of MS:C are you using, NOV2015a, or FEB2015d?(or other) and does it matter which, for your mod file? If you know.
Definitely use NOV2015a. Might work with older versions, but no guarantees (I'm not sure what changed between versions).
 

Himself

New Adventurer
Joined
Aug 28, 2006
Messages
56
Reaction score
0
Definitely use NOV2015a. Might work with older versions, but no guarantees (I'm not sure what changed between versions).
All righty, I figured but I didn't know if it would make a difference or which one you were using for sure. Thank you.
 

ShadowGrrl

New Adventurer
Joined
May 11, 2007
Messages
16
Reaction score
3
Age
34
Location
Australia
Fun to see more people wanting to reexperience this old classic! Didn't have any time to play this week myself, sadly.


I looked at the frostbow script, but it's a bit of a mess. I haven't actually found the bow in game either, so I can't test any changes. I'll let this be for now :)



Enjoy! It's an oldie but a goodie.



I saw earlier that this bug was fixed in the msrevive github repo by greatguys1, so I took his fix and implemented it here as well. I haven't had a chance to test it, however, but I don't doubt his work.

So a very short change list this time:

38. Implemented greatguys1's fix for the bug where two people cannot use a vendor at the same time
Thanks, Jonzay and I tested it this morning. The shops no longer break when two people try to use it at the same time.
 

Jonzay

Adventurer
Shadows of Torkalath
Alpha Tester
Joined
Mar 22, 2011
Messages
70
Reaction score
7
Fun to see more people wanting to reexperience this old classic! Didn't have any time to play this week myself, sadly.


I looked at the frostbow script, but it's a bit of a mess. I haven't actually found the bow in game either, so I can't test any changes. I'll let this be for now :)



Enjoy! It's an oldie but a goodie.



I saw earlier that this bug was fixed in the msrevive github repo by greatguys1, so I took his fix and implemented it here as well. I haven't had a chance to test it, however, but I don't doubt his work.

So a very short change list this time:

38. Implemented greatguys1's fix for the bug where two people cannot use a vendor at the same time
Hey mate, thanks for this. Can confirm that it fixes the issue - the second player cannot open the shop until the first player is done, but it doesn't break the shop for anyone anymore.
 
Top