rickparrish/Usurper

Testing v0.25

Opened this issue · 109 comments

New issue for testing/tracking v0.25

TODO LIST

  • Skip local login for /HMAINT and other params
  • (S)tatus -> (M)ore -> Darkness, dungeon fights, etc, are misaligned
  • Divorcing when not married
    • Use of uninitialized variable: found
  • Statusbar appears in local mode
    • DDPLUS.Display_Status() wasn't taking Local and STDIO modes into account
  • Update message displayed when trying to divorce while not married
  • Fix read past end of file during maintenance when GODS.DAT is 0 bytes
  • Don't pause after trying to display an error if displaying errors is disabled
  • Display name of requested section in error message when USUTEXT.DAT is missing
  • Hang when starting on Linux #23 (comment)
  • In the gym, get a "white water" massage, this can result in receiving extra healings. You have to either apply for gym membership or take over the gym in order to take advantage of this.
  • Wish for healings at the well in the dungeon.
  • There's also an event in the dungeon where you can open a treasure chest and get a few potions
  • Shaking hands when dead #23 (comment)

First test running locally using the go32v2 build in a DOSBox window. So far so good.

Created a character and did a few dungeon runs. Basic functions & gameplay work as expected. Hitting [Enter] defaults to the first available monster as it should.

Both the game and the editor agree on the stats now while viewing player data.

I agree that /HMAINT and /FMAINT will be nice to have again. I run /FMAINT nightly so that callers don't have to wait several minutes if they're the first one playing.

Will test on the BBS for a few days, gain some levels and report further.

Great work!

In 0.25 (dos) when going to Love Corner and hitting [D]ivorce i'll get the following (Note, I'm not married so not sure what happens yet if i was):

Better get rid of the matrimonial bonds right away!
The family is gathered!
You and ╕%-╣%- ╗%-     ╕%-}L have been married for 0 days.
Divorce ╕%-╣%- ╗%-     ╕%-}L ? (Y/[N])

If I pick No and then head to the Dungeons I'll see the following:

The Dungeons of Drunghin
As you descend to Dungeon Level 5 you tighten your grip to your weapon.
You feel that evil lurk nearby... You wonder whether you ever shall
see the sun shine again...

╕%-╣%- ╗%-     ╕%-}L the is here
[22 fights left]
Dungeon level 5 (? for menu) :

When I exit the game and re-enter then things are once again displayed normally.

I am able to recreate the divorce bug described by @xbit44, although it looks slightly different for me.

image

The event shows up in the news like this:

image

Can confirm on the Win64 build as well. Did this bug exist in previous versions?

Version .20e does indeed allow the option to Divorce without being married. I just tried it on one of my .20e games here:

image

It does not show the corruption as in the current build, just a blank for the divorcee's name.

@xbit44 , quick question. Are you testing the game in "classic mode" or "new mode"?

So far all my feedback has been for "classic".

Thanks for checking the older versions, that saved me from going through the commit log to see what had changed!

The divorce bug was caused by a found variable being used before it had been initialized (or since it is a global variable, maybe a different function set found:=true before the divorce function was called), and that resulted in the game thinking a spouse was found.

For some reason this bug wasn't triggered when debugging via the Lazarus IDE, so that made it interesting to track down!

Just pushed new binaries with the latest fixes!

/FMAINT and /HMAINT both working.

Divorce bug fixed. However, I got a funny response, playing as an unmarried male character:

image

Looking at the LOVERS.PAS file, it looks like the response is supposed to vary based on the character's gender, but the way it's coded makes it use the character's own gender to make the husband/wife determination rather than the gender of his/her would-be divorcee (who happens to be no one).

d(12,'Go and find yourself a '+sex5[player.sex]+' before it''s too late!');

Tried it as a female character and got this:
image

Suggestion: simply change it to "spouse" (just in this instance) so the game doesn't have to guess?

However, I got a funny response, playing as an unmarried male character:

That's funny, I saw that prompt about a dozen times while trying to get the debugger to trigger the error, and not once did I notice what it said!

Suggestion: simply change it to "spouse" (just in this instance) so the game doesn't have to guess?

This was my first thought as well, so that's what I'll do.

I've been running v0.19 PT6 for so long, i'm not sure if this has changed. in .19 you will have NPC's playing along side you and when you level up they will send "grats" or other funny comments. When i play with .25 and press ctrl-w it never shows "on-line" npc's?

you will have NPC's playing along side you and when you level up they will send "grats" or other funny comments.

I believe you're referring to "fake players" and their tendency to be "chatty". I remember this being a thing in .20e as well.

The default is having two chatty fake players (lines 159 and 188 in USURPER.CFG). I honestly tend to tune the fake players out, but next time I test I'll pay closer attention to whether they show up.

And then a ctrl-w when both are logged into Main street:
image

There's a commit named "fake player garbage" showing changes made to ONLINE.PAS, which appear to make fake player interactions happen less frequently.

d8801d3#diff-f512779367fe8844eeaa39c325d33780545c0e39adf5b835b52d35c932ef8dbf

There's also an entry in the changelog linked to it which also calls out "^w" (Ctrl+W):

-Garbage occasionally produced when checking (^w)ho is online. Fixed. (Thanks Alex G)

Maybe the fix from that time is preventing online players from being listed altogether?

Good find. Yeah, it seems all inter-node coms are not working. Like when a new player enters the game, it should say "x" has joined or something like that.

"fake player garbage" may be referring to the fact that s could go uninitialized if the case statement is missing one of the possible locations. Dan initialized it to 'xxx' beforehand, which would cause that to be displayed instead of garbage in a missing-location scenario.

For CTRL-W (and CTRL-T) it looks like those are global hotkeys that work at any menu, and so they're handled in the DDPLUS function for reading input. When I switched to RMDoor that functionality was lost. And it's a little weird for the doorkit to be calling routines in the main game, so I'll have to think about how to re-introduce that functionality.

One easy option would be to just add it as a hotkey to the main menu, but then it wouldn't be global anymore, so not sure how much of a negative that would be. In fact it looks like it's already an undocumented hotkey on the main menu -- if you hit ! then it'll show the online players.

EDIT: I have a feeling the NPC activity is also triggered in DDPLUS, which would explain why it stopped in the switch to RMDoor.

Aha yes -- I remember Jakob hacked ddplus to jam the global hotkeys in there. We could do similarly for rmdoor (not great design, I agree).

I'm thinking a method for registering global hotkeys would make sense. The tricky part will be making sure they only execute at menus and not while entering text -- Jakob had a lot of different input routines, and this is probably why -- the one that supported global hotkeys was probably never called when entering your Alias for example.

After thinking about it more, I don't think the switch from DDPlus to RMDoor was a good one, so I've just reverted to DDPlus again on a new branch.

The only thing "gained" by the switch was making it work with Mystic on Linux, but the "don't write to the socket" feature I added to RMDoor could have been added to DDPlus just as easily.

So if you'd like to give them a shot, these binaries should restore the lost event/global hotkey functionality. Since they're using DDPlus again, the original command-line parameters will be needed to launch it.

https://github.com/rickparrish/Usurper/tree/ddplus/bin

Thanks Rick! Note, I just see editor.exe for the dos version here: https://github.com/rickparrish/Usurper/tree/ddplus/bin/i386-go32v2

Oops, didn't notice the build failed so it committed as a delete instead of an update -- thanks for pointing that out! There's a binary there now.

EDIT: I just realized the last time DDPlus was used was during the "only win32 and linux builds will be released" period, which is why the GO32V2 version initially failed to compile. So there's a lot of code commented out that says "Telnet can't..." that isn't needed for win32/linux, but may be needed for FOSSIL under GO32V2, so there's a pretty good chance a bit more work will be needed.

Will the new DDPlus command use the /P like stated in the usurper.exe /?
With the following command USURPER /Pc:\sf\drx-j the game loads on the BBS but i see nothing on the client side.

That said, i do see NPC's logging in and out again :)

image

I just noticed the "Edit" from your last post Rick. Perhaps that's why i'm not seeing anything on the client side..

There's new binaries to try out, which I tested on Synchronet and get remote I/O now.

A while back I added code to set the USURP.CTL settings to "smart" defaults, so then the game wouldn't error out if USURP.CTL was missing, but one related to initializing the FOSSIL wasn't such a smart default, so that's why you didn't have any remote I/O before.

And yes, the old /P syntax is the correct one to use now.

Works as intended w/ Spitfire as well!

image

Looks like all the bugs that @CraigEMP and I have presented have been squished. Any specific areas of .25 that you would like tested just say the word.

Just something for the suggestion box: Perhaps with a new version (.25) it may be time to clean up the main menu? The following example shortens some command text, reorders a few of the commands (puts suicide and quit at the bottom) and this in turn gives additional room on the 3rd column for more commands going down if ever needed. And as an added bonus it help my OCD from triggering ;)

image

Small display bug when logging in after going to sleep at [H]ome. When logging in you will see "street talk". After exiting this option the game will then show ** People Online ** and display where you logged off at. If you log off in the Dormitory it will pause letting you see who is logged on but if you log off at Home will zoom past this display taking you to the main Home menu. I don't see this happening in my .19 PT6 version.

Also on the pre-main login menu the Forum is off line: http://www.usurper.dangarden.com.

There's new binaries to try out, which I tested on Synchronet and get remote I/O now.

A while back I added code to set the USURP.CTL settings to "smart" defaults, so then the game wouldn't error out if USURP.CTL was missing, but one related to initializing the FOSSIL wasn't such a smart default, so that's why you didn't have any remote I/O before.

I'm running the DOS/go32v2 build on Sync and it's running great. I didn't bother with a USURP.CTL file, so the defaults seem to be working just fine.

This is the most definitive version of Usurper that's existed in years. I cannot overstate how great it is to see so much stuff get fixed.

Next I'm going to form a small test team in-game and make sure all the team functions work as expected. Also going to advance as many levels as possible and ensure that the player rankings are still fixed.

Perhaps with a new version (.25) it may be time to clean up the main menu?

Seconding this. The options to bail out should at least be at the bottom of the menu, since eyes tend to look there for those options.

Cannot thank Rick enough for pushing us to this point.

One major work I did was with regard to using spells in player fights and the dungeons. I'd be curious to know whether those work OK, or if they work differently than in Jakob versions. I recall that some of them did not work before, or caused the game to terminate with an error.

100% Agree!! Thank you so much Rick for keeping one of the (if not the) best door games in history alive!

I'd be curious to know whether
You got it @dan1982code, will test out spells ASAP. And thank you as well for all the work you've done. My apologies for omitting :)

Thanks for testing guys! The main area to test with this latest change was with Mystic on Linux, to see if the old bug/behaviour that prompted the switch to RMDoor still exists, and it does so I've added the "no comm output" option to DDPlus and now I think all is good.

Perhaps with a new version (.25) it may be time to clean up the main menu?

Looks good to me, thanks for doing that! I reorganized the Status -> More screen the other day because a couple things didn't line up, but I'm still not 100% happy with it, so if you have any suggestions for that screen I'd be happy to make changes there too!

if you log off at Home will zoom past this display taking you to the main Home menu

I've added a pause after displaying Online Players when logging in, so no matter where you wake up the Online Players screen will stay visible (which unfortunately means there's now two pauses for screens that already had a wake-up pause like Dormitory, but I think that's the lesser of two evils)

Cannot thank Rick enough for pushing us to this point.

The part I've done has been pretty simple...comment out some 16bit-specific code and add a 32/64-bit equivalent, and change some variable types to keep the data files binary compatible across platforms. You've fixed some serious bugs, and greatly improved performance in a lot of places, so thank you!

And thank you @CraigEMP and @xbit44 for being so quick to test and provide feedback!

I added a space between the CTRL and non-CTRL options since the texts don't line up. But the more I think about it, the more I think Send stuff should be something like CTRL+S since it's another "online" option like the other two, so could also be global.

But then that leaves Healing Hut kind of orphaned off to the right there. Maybe it should be incorporated into one of the first two columns, and then Quit could bump down and be on a line of its own at the bottom.

Here's how it looks right now:
image

P.S. Gwibbli is kind of a jerk :)

Looks amazing. And yes, some of the NPC's are jerks ;P

how about this?
image

Some updated ideas/options for Main Street:

image

image

Thanks, I like the updated Status screen. Here's a screenshot, which also includes the optional line for Alchemists (it doesn't appear for non-Alchemists):
image

And then this is what I put in place for the new main menu before you sent the latest screenshots:
image

I left Healing Hut as (2) since people may be used to that hotkey, although it might be a good idea to change it to say (1) on the screen, but still accept both (1) and (2).

Looks really good. and i dig the [global commands], great call.

@dan1982code so far so good w/ a low level cleric. Will continue testing with him and build some other casters as well.

image

I just pushed updated binaries. The main change was for Mystic on Linux, but there's also a change that allows the main street to be customized by creating TEXT\MAINMENU.ANS (and .ASC). The default files are here:
https://github.com/rickparrish/Usurper/tree/master/RELEASE/TEXT

I hope to make more of the screens configurable, which could then make it easier for them to be updated / improved.

Love this idea!

IIRC Valhalla (main street name) was editable in editor.exe? Could be wrong...

Yessss.. ANSI artists will have a blast with this :) And yes, you can change the "town" name with:

option 9...Town...................................Valhalla

on the Status page you don't have a [Q]uit or to exit option. if you press Q you're taken back to main street but you wont know it until you press ?

Just nitpicking as you requested with screens . None of this is game breaking of course.
Status > team will be a tough one to clean up because who knows how long names can be in game.. but for example:

image

on the Status page you don't have a [Q]uit or to exit option. if you press Q you're taken back to main street but you wont know it until you press ?

I just noticed this as well.

IIRC Valhalla (main street name) was editable in editor.exe? Could be wrong...

Yes. My initial thought was that if someone customizes their game, they'll have to customize their screens too, but I don't think it'll be too difficult to support something like Synchronet's AT-codes (aka Message Variables), so I just pushed an update (code only, no binaries yet) that supports @TOWNNAME@. Once more variables are added, even the stats screen could be controlled by external ANSI/ASCII files.

if you press Q you're taken back to main street but you wont know it until you press ?

Also pushed a fix for this, which will refresh the main menu after the user leaves the stats screen (again code only, no binaries yet)

Status > team will be a tough one to clean up because who knows how long names can be in game

The AT-codes will support padding and truncation, so in your screenshot it looks like there's room for 13 characters, so any names longer than 13 would just get cut off. And unfortunately that means if two people select 'AAAAAAAAAAAAARee' and 'AAAAAAAAAAAAAxbit' as their names, then they'll both show as 'AAAAAAAAAAAAA', but there's not a whole lot that can be done about that (aside from shrinking the rest of the table to make more room for the name I guess). I don't imagine that would be a common problem though.

Just tossing things out.. Should (C)ursed item removal be in the Healing Hut? Seems like the (M)agic Shop is a better fit.

Display bug: (V)isit Master > [A] Abort does not refresh Main street

(*) Suicide > [N]o does not refresh main street

and lastly I guess the global commands may need options to ? or to return. example:

image

Should (C)ursed item removal be in the Healing Hut?

I could see it going either way.

Display bug: (V)isit Master > [A] Abort does not refresh Main street
(*) Suicide > [N]o does not refresh main street

Updated.

and lastly I guess the global commands may need options to ? or to return. example:

This one is trickier, since it's not just a matter of setting Refresh := True after calling the function, like it was for the other two fixes. Might have to do a bit of digging to see if this one is doable.

Just tossing things out.. Should (C)ursed item removal be in the Healing Hut? Seems like the (M)agic Shop is a better fit.

It's a healer's job to perform healing functions though, such as un-cursing. I think we should keep it in the Healing Hut.

It's a healer's job to perform healing functions though, such as un-cursing. I think we should keep it in the Healing Hut.

That was my first thought too -- but it's been a long time since I played the game so I don't remember what it means to be cursed. Does it periodically harm the wearer? Or does it just require a special process to remove the item? If it harms, I definitely think it should stay at the healer. But if it's just stuck on you until you pay to have it removed, then it seems like the magic shop could be a home for that option too.


On an unrelated note, when I created the STATUS_MORE screen I handled the Alchemist-specific "Active Poison" text by just having it displayed to everyone, and a new "not applicable" label would be used for non-Alchemists...just seemed easiest that way.

But then I looked into creating a .ANS file for the main status screen, and I see there's a whole lot more conditional stuff there, most of which wouldn't be as simple to work around.

So I implemented a proof-of-concept conditional @ code called IS_ALCHEMIST, which will only display the text following it if the player is an Alchemist. It worked, but it's not ideal, so I'd like to get everybody's feedback on a more robust conditional system, and I'm thinking of using the ?: ternary system. So for example the IS_ALCHEMIST thing that I mocked up before could be implemented more simply as

@IS_ALCHEMIST?Active Poison\c #ACTIVE_POISON|L17#:@

In this case we don't want to display anything if they're not an alchemist, so there's nothing following the colon.

And then for the main status screen where it shows the players name differently based on whether you're viewing your stats or your teammate's stats, it could be:

@IS_ME?Your status, #NAME#:#NAME#'s Status@

So the main thing I'm wondering is does this ?: syntax make sense? And does the use of #NAME# instead of @name@ to represent a variable within a conditional seem OK? It simplifies parsing to use a different character within the conditional, since it still allows me to easily parse the entire conditional by grabbing the text between the two @ symbols. And I'd still use @ for non-conditionals, so for example display the skin colour would still be something like:

Skin: @ SKIN|L17@

If you think a different syntax, or different symbols, would make more sense, I'd love to hear it.

One more thing to note is that @, #, and : would become "reserved" characters, so in certain circumstances they wouldn't be able to be used, and another placeholder character/sequence would be needed instead. I already added \r for carriage return and \n for linefeed, which is standard, but then maybe something like \a for @, \c for :, and \h for # would be needed too.

That was my first thought too -- but it's been a long time since I played the game so I don't remember what it means to be cursed. Does it periodically harm the wearer? Or does it just require a special process to remove the item? If it harms, I definitely think it should stay at the healer. But if it's just stuck on you until you pay to have it removed, then it seems like the magic shop could be a home for that option too.

I believe cursed items are merely impossible to drop once picked up, but don't hinder the character otherwise.

The weapons, armor, and magic shop owners will all say things like "I don't buy cursed items" if you try to sell something cursed from your inventory. So based on that, I think the game lore kind of suggests the magic shop doesn't deal in cursing or un-cursing.

This may not be the correct place for this question, if not let me know and I'll move it to the FTN's.

I'm prepping all my .19 test version 6 games for update but the game becomes corrupt. My process is as follows:

  1. download usurp20e.zip
  2. follow README! and unzip to usurper dir overwrite all files > run 019to020.exe
  3. 019to020.exe runs w/ out error
  4. review usurper.cfg with editor.exe > i notice errors in the config where the update converts it incorrect so I update usurper.cfg with the correct default settings (I'll share a screen shot below)
  5. save usurper.cfg and exit
  6. run editor.exe and reset NPC data
  7. run editor.exe and review users to make sure users were converted ok
  8. first user is an NPC but when i click next user i get an error/crash and editor.exe closes

screen shots:
image

image

It looks like there's two upgrade steps for 0.19. First 019to020, then 020to020e -- are you running that second upgrade before running editor.exe or usurper.exe?

Ugh, no, i'm not. I'll add that step to the process. Does anyone have usurp020.zip by chance? I'll start looking around the webs. Thank you Rick.

Hi all, just checking in.

It's been a few weeks running the latest dev build of .25 on my board. Other than the known issues brought up in this thread, no other new issues have really surfaced.

A few of my regulars joined in and have played up to level 30~ish. One of them became Queen. Nobody has complained about the game.

This is a very solid version of the game. Great work, can't thank you enough!

Has anyone noticed attacking someone in the inn, winning, but then being kicked out of the game? When it happens, you can re-enter the game, but still -- jarring.

Has anyone noticed attacking someone in the inn, winning, but then being kicked out of the game? When it happens, you can re-enter the game, but still -- jarring.

I haven't seen anything like this but will try to duplicate.

No issues (dos version) with a half-elf cleric. Attacked Sony, and he didn't have any guards. Sony also had some bounty's on his head. At what point did you crash? Right after the victory? Or did it let you loot first?

I have to do more testing -- I know that the character in the inn had door guards that I had to knock out first.

Thank you!

Has anyone ever experienced this in the dungeon?

On occasion you may find a man named Rodrik, who gives you papers to take to the magic shoppe. If you accept the task, there's a chance of being ambushed by trolls.

image

If you don't turn over Rodrik to the trolls, there's a chance of a fight.

image

During this fight I was defeated by the trolls, after which point Rodrik shook the hand of my corpse. I was then reminded to complete my mission, and then the game closed.

image

I don't think I've seen this happen before. Anyone else?

I always pick the "[I] don't know what your taking about" option. doing so he will no longer question you and then you can always turn in the papers. Next time I'm on I'll pick the [A] option. But yes, it does seem kinda strange that he will share your hand when your dead :P

I noticed that Usurper doesn't kick users back to the bbs due to keyboard inactivity. Is this option in the config settings by chance and I just missed it?

I noticed that Usurper doesn't kick users back to the bbs due to keyboard inactivity. Is this option in the config settings by chance and I just missed it?

In case you haven't found it by now, check line 178 in USURPER.CFG. I have it set to 15 (minutes).

I just tested it here and it worked. It warned after 14 minutes, and then booted me after 15 minutes.

image

Oh man, I feel silly. Thank you Craig! I had it set for 15min but wasn't waiting long enough in my test runs ;)

OK crew, hear me out... What's the general opinion regarding game exploits?

For example, there are a couple of exploits I'm aware of that allow players to go beyond the maximum numbers of healing potions a player can carry (Line 49 in USURPER.CFG):

  • In the gym, get a "white water" massage, this can result in receiving extra healings. You have to either apply for gym membership or take over the gym in order to take advantage of this.
  • Wish for healings at the well in the dungeon.

Neither action seems to honor the maximum allowable potions. Over time this can allow players to carry several thousand more potions than ought to be allowable, making them virtually invincible. A team of players in my .20e game have done this and accumulated over 20,000 potions apiece.

Is this something that can (should) be fixed? Or was it in fact fixed already after .20e?

Right! As far as I know, these have not been corrected.

(There's also an event in the dungeon where you can open a treasure chest and get a few potions. Far less important to consider fixing than the above two IMHO.)

It's a cool kind of player hack, getting around the potions limit, but I agree that we should probably fix it. :)

Got this working on linux and the little bit I've played with it seems great. When I first enter though it seems to hang, events come up and then every key press a random character shows up. After that though you finally get it and everything seems to work as needed. Attached is a screen shot example.

image

Wow, fell really behind on these messages. I hope you're all doing well and looking forward to what I hope will be a better year next year!

My old PC died so I'm just in the process of setting up a new one, and once I do I'll look into the last few items that have been mentioned. I'll update the first post in this thread with the new TODO items, if I miss anything please let me know.

No problem at all Rick. Thank you so much for the efforts so far and looking forward to its ongoing creation in 2022.

Take care all and Happy New Year.

Yeah, no worries whatsoever. Hope all is well and good luck getting the new PC up.

The latest 0.25 is still running great over on my board. So much so I've gone ahead and made it the permanent installation.

Happy New Year to you as well! All is well here, I hope you're all doing great too.

Regarding the healing potion issue, I opened up a new issue and added a couple questions related to pick-pocketing in the dormitory. It's here: #25

Let me know what you think about the options.

I'm late to the game, and just started testing version 0.25 today. I'm running the DOS binaries in DOSBox-X. I'm running into two separate issues....

USURPER /DG:\RUN\USURPER\NODE%1\DOOR.SYS does not read DOOR.SYS from the specified location. It only looks in the local USURPER directory. I'm assuming the /D switch is what I'm supposed to use. I read it in another thread. The old /P option doesn't work at all anymore.

This is not a huge deal, as I can copy the DOOR.SYS file from the appropriate location to the local directory while processing the START.BAT file.

However, with multiple nodes, once a second player enters the game while a first player is already playing, the first player's screen locks up and they can't do anything until they hang up or the game kicks them for idle timeout.

Has anyone gotten 0.25 to work with multiple simultaneous players? If so, how did you do it?

Thanks for any info!

BlaZ

I'm also running the dos .25 on my spitfire bbs. My batch file looks like this for node 1:

cd c:\sf\doors\usurper4
bnu /p2
USURPER /N1 /Pc:\sf\drx-a
bnu /u

Use /N# for what node it is and /P to point to the drop file.

Interesting! I swear I tried the /P switch and I couldn't get the game to start at all. That's when I dug around and found (in another thread) the information about the /D switch having replaced it. But perhaps that is my issue. The only other difference is that I'm using the "adf" fossil driver for DOS instead of bnu.

I'll give it another shot with /P and see what happens. :) Thanks for the information.

BlaZ

You got it :D Hope that works.. I do remember having some issues as well when the switch to call the drop file changed some versions ago.

Wow... yeah, that did it. Thanks so much! All seems good now.

BlaZ

So now the only "bug" I have to report for 0.25 is that it seems the intro splash screens are missing. When I start the game, I get the pause prompt that normally comes at the end of the splash screen, but there is nothing ahead of it. Were those removed? Or did I screw something else up? :)

Awesome you got it working :) As for the splash screen issue access editor.exe and change the option on line 11 "INTRO-menu" to YES.

Nah, I have that set to yes. I get the Intro menu. What is missing is the ANSI splash screen that comes BEFORE that intro menu. It's usually a skull, or a purple Usurper logo, and has some nifty little inspirational message like "sleep with all the babes!" on it. They switch up randomly whenever you start the game.

It's not a big deal not having them. Just wondered if it was a "me" issue, or a "0.25" issue.

Hmm, not sure what it is then. If I change that to NO it also removes the splash screen for me.

Ahh, okay, so then you normally do get the splash screen before the menu? Then I've done something else wrong...lol. I'll look at it more and report back if I find out what it was.

Do you see a file named USUTEXT.DAT in the DATA subdirectory?

If yes, is it empty (0 bytes)?

If yes, that's the problem. There's an issue that wipes out this file during install. I thought it was known at one point in time, but I can't seem to find any word here on it.

You'll have to grab an intact copy of USUTEXT.DAT from one of the archives here to fix the problem: https://github.com/rickparrish/Usurper/tree/master/ORIGINAL%20ARCHIVES

Thanks CraigEMP. That was it. That file is 0 bytes. I appreciate the information!

Just curious if anyone knows of a way for a player to lower their drug addiction percentage other than levelling up? Does it lower over time?

It does not :( this is IMO a flaw in the game as if you can't level up, or reach level 100, then I don't know how to increase mental stability or decrease drug addiction.

That is precisely the problem 3 players in my game are having right now. If any future changes will be made to the code, I think having it diminish maybe 2% per day at cleanup, and mental stability increase maybe 1%, would be helpful. I was looking in the player editor, and it shows a different number than what the actual percentage of drug addiction is on the stats, so I'm afraid to try to reduce anyone's in there, as I don't know what those numbers mean. Mine for example is "57%" drug addiction, but in the player editor it shows me with "7" in that field.

I think it actually does lower over time. I used to be one of those players that would hit enter repeatedly while looking for fights in the dungeon, and as we all know this behavior falls victim to glue sniffing every single time. :) I've learned to not spam the enter key for this reason.

Anyway, I'm reasonably sure that drug addiction does go down as long as you can resist the urge to walk by bottles of glue and not sniff them. Pretty sure I've seen mine go back down to 0% after careful dungeon trips.

Well, after almost a week, none of my players have had any automatic reduction in drug addiction. I was, however, able to reduce it in the Editor. Turns out that the weird numbers I was seeing was because the Editor I was running as a DOORWAY door was for a different version of the game. So I'm just an idiot. When I ran the proper Editor, the numbers were normal.

Someone asked me what stat causes the "You miss your blow due to lack of concentration" message, and after tracing it back to the mental stability stat that reminded me of this thread! So I've just pushed an update that randomly decreases addiction and increases mental stability during maintenance. The rules are:

  • Only happens for level 100 characters, since < 100 characters can level up to improve their stats
  • 1 in 7 chance of occurring. I thought a daily improvement might be too much, so 1 in 7 should average out to a weekly improvement instead.
  • When it does occur, improvement is randomly between 1 and 5 points (same as levelling up)

I'm open to suggestions on any of these rules if you think they're too unbalanced one way or the other.

In addition to that, I implemented @CraigEMP's suggestion to spoil extra healing potions during maintenance. I'll follow up in #25 because it might need some additional consideration.

Also, I don't have a game setup right now, so I didn't actually test these binaries. They compile and at quick glance the code looks correct, but would definitely be good to make a backup before trying them!

I can confirm the updated win32 binary works fine.

I just tried the new binaries for Linux and I still get the same issue hanging after getting past the intro menu, but I do have a little further notes. If I go right to team rankings from main intro menu I have to hold down a key and character by character the rankings will show. It's similar right after logging in and displaying the NPC quotes. Everything else is lightning fast, but it will seem like it's hung unless I hold down the space bar for example. This occurs on both 32bit and 64bit compiles.

@BlaZZZed1980 thanks for confirming win32 is working.

@tlm1234 What BBS software are you using? And can you share a screenshot of the config screen for the door? I'll try setting up with the same settings here so I can troubleshoot. Also, does it happen in all telnet clients or only some?