[Request] Dahan's D6 System for TinyMUX

  • After some serious browsing and experimenting, I think Dahan's D6 System is a decent fit for me. The compatibility is listed as PennMUSH and CobraMUSH, however, which makes me nervous. I'm very much a "learn by doing and tearing this apart," but if there's compatibility issues I don't have the knowledge to recognize I have a feeling there'll be problems I can't surmount.

    If there's someone with a better and more educated eye that wouldn't mind giving the code a skim to see what functions aren't supported in TinyMUX (or even cite TinyMUX alternatives to them) I would be extremely grateful. I'm 100% willing to edit and modify myself, but I think I need that experienced eye to point out the obvious translation issues that I won't be able to spot.

    If it's an impossible translation, it is what it is. Just really hoping it's not.

  • There's one good thing going on here: This is ancient, ancient code. This means that most of what was in Penn at the time was also in TinyMUSH which means almost all of it should translate into TinyMUX without issue.

    The functions I see that are not in TinyMUX is 'lmath()' and 'timestring()'.

    lmath() looks like it's a 'run a basic math function on a space-delimited list of values'.


    			min( %1, %2 ), 
    			sub( max( %1, %2 ), 1 )
    		ceil( mul( %q0, div( itext( 0 ), 3 )))

    In more modern TinyMUX, this is 'ladd()', so you can replace lmath( add, with ladd(. Fortunately, 'lmath( add, ' is the only use of lmath( in the file.


    So what about timestring()? As you asked in another thread, this can be easily pulled as exptime(), as long as there is no second delimiter to timestring(). ... Which it doesn't look like it is. So you could do a simple conversion of timestring( --> exptime(.


    Nothing else is screaming out to me.

  • @thenomain Fantastic! Okay, I'm going to give this a solid try. Fingers crossed, and thanks!

  • It required so little change it's probably silly to post, but here's the mux-friendly edition on the off chance anyone else has the urge to use or experiment with it: https://pastebin.com/9QRxAvLv

    So far so good testing-wise. Only thing I'm noticing is the +nom command uses timefmt with an incompatible number of arguments. That's super easy to delve into.

  • @highfalutin Does that code actually work? I thought that only characters could receive the WIZARD flag on MUX and that other object types needed to be Wiz-owned and set INHERIT instead.

  • @rnmissionrun It seems to, for the most part. You can set objects to wizard in MUX, but I'm not sure exactly what that does yet.

    I do keep running into little issues as I go, like +sinfo <thing> acting like none of the helps on the DB_HELP exist, or this little gem (which I think it's caused by left()):

    -----------------------------( LIST ATTRIBUTES )------------------------------
    | Coordination: #-1 INVALID JUSTIFICATION SPECIFIED                          | 
    | Endurance: #-1 INVALID JUSTIFICATION SPECIFIED                             | 
    | Intellect: #-1 INVALID JUSTIFICATION SPECIFIED                             | 
    | Knowledge: #-1 INVALID JUSTIFICATION SPECIFIED                             | 
    | Perception: #-1 INVALID JUSTIFICATION SPECIFIED                            | 
    | Reflexes: #-1 INVALID JUSTIFICATION SPECIFIED                              | 
    | Strength: #-1 INVALID JUSTIFICATION SPECIFIED                              |

    But for the most part things seem fairly okay. I'm able to set stats and use attack, wield things and what not.

  • Sadly a no-go. It looked like it was super neat, but I don't think a port (or the wide changes I needed to do it to make it d10, so on and so forth) to MUX is smart.

  • If this is for a new game, why not use PennMUSH instead of MUX? It's more modern, is better supported, and is still being actively developed.

  • @RnMissionRun

    Or Rhost for all those same reasons.

Log in to reply