morphcreate doesn't seem to work - what's with that? (using smaug 1.4a win32 compile, no mods)
morphing
Posted by GenmaC on Sun 10 Feb 2002 11:15 PM — 8 posts, 28,505 views.
Ok, I figured that part out - it just wasn't linked from commands.dat. However, any more info on morphs would be very helpful, since the docs aren't very specific.
Ok, figured it all out - morphs are cool...just in case any else ever has this problem, here's what you do to get morphs working in 1.4a Win compile.
1) link the do_morphset, do_morphstat, etc. functions to commands in commands.dat
2) edit polymorph.c, and near line 1895, comment out the entire part where it tests for misread. For some reason, it always returns a fail when reading your morph - very annoying.
3) recompile
4) enter your morph with morphset, etc. - boy, it'd be cool if AreaEditor could do morphs, but whatever.
5) You are done! If this helps anyone, even one person, reduce time wasted on this problem, I will die happy.
I tested the above solution, it crashed a few times when I had some misentered stuff for morphself, but seems stable if everything is correct. (tried 5 or 6 reboots, and multiple morphs, unmorphs, all mixed together)
1) link the do_morphset, do_morphstat, etc. functions to commands in commands.dat
2) edit polymorph.c, and near line 1895, comment out the entire part where it tests for misread. For some reason, it always returns a fail when reading your morph - very annoying.
3) recompile
4) enter your morph with morphset, etc. - boy, it'd be cool if AreaEditor could do morphs, but whatever.
5) You are done! If this helps anyone, even one person, reduce time wasted on this problem, I will die happy.
I tested the above solution, it crashed a few times when I had some misentered stuff for morphself, but seems stable if everything is correct. (tried 5 or 6 reboots, and multiple morphs, unmorphs, all mixed together)
There's also a few more lines to change in polymorph.c if you want the morph->timer to work correctly (aka have them change back after a period of time). I'll post them on the web tomorrow and leave a link here then.
Also, in skills.dat, if you want the polymorph skill to work, you need to change the Code entry for it from spell_null to spell_polymorph.
One more thing: revert doesn't work at all. Dunno why...I'm going to try implementing it as a spell and see what happens.
Also, in skills.dat, if you want the polymorph skill to work, you need to change the Code entry for it from spell_null to spell_polymorph.
One more thing: revert doesn't work at all. Dunno why...I'm going to try implementing it as a spell and see what happens.
http://dualtranslations.org/smaug/polymorph_fix.html
On the page, it says I can't figure out revert, but that's not true now - you have to write revert from scratch, but I don't want it on my MUD anyway, so I haven't done that. Just do whatever you do when adding a new command.
On the page, it says I can't figure out revert, but that's not true now - you have to write revert from scratch, but I don't want it on my MUD anyway, so I haven't done that. Just do whatever you do when adding a new command.
Well, revert is to turn back, correct?
Morph essentually moves your body to the "storage" room and replaces you with a mobile, therefore if one looked at the code for revert it seems to me that by simply reversing the proccess you could revert.
Also, I beleive that revert isnt used and a timer is, thats what I've been told anyway.
Morph essentually moves your body to the "storage" room and replaces you with a mobile, therefore if one looked at the code for revert it seems to me that by simply reversing the proccess you could revert.
Also, I beleive that revert isnt used and a timer is, thats what I've been told anyway.
Yeah, you just create a wrapper function called do_revert and have it point to do_unmorph or the like.
The timer doesn't work unless you implement the changes on my page, btw.
The timer doesn't work unless you implement the changes on my page, btw.
Also you can download SADIQS version of Circlemud
which has the 68 major known bugfixes applied...
Including polymorph.
(If you want the link, post and ask)
which has the 68 major known bugfixes applied...
Including polymorph.
(If you want the link, post and ask)