Talk:Revive

From NetHackWiki
Revision as of 16:03, 12 September 2010 by Strongsauce1 (talk | contribs) (Created page with "I'm sure this has been posted many a time before, but I found this interesting block of code in {{sourcecode|zap.c|648}}: <pre> if (obj->oxlth && (obj->oattached == OATTACHED…")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

I'm sure this has been posted many a time before, but I found this interesting block of code in zap.c, line 648:

			if (obj->oxlth && (obj->oattached == OATTACHED_M_ID)) {
			    unsigned m_id;
			    struct monst *ghost;
			    (void) memcpy((genericptr_t)&m_id,
				    (genericptr_t)obj->oextra, sizeof(m_id));
			    ghost = find_mid(m_id, FM_FMON);
		    	    if (ghost && ghost->data == &mons[PM_GHOST]) {
		    		    int x2, y2;
		    		    x2 = ghost->mx; y2 = ghost->my;
		    		    if (ghost->mtame)
		    		    	savetame = ghost->mtame;
		    		    if (canseemon(ghost))
		    		  	pline("%s is suddenly drawn into its former body!",
						Monnam(ghost));
				    mondead(ghost);
				    recorporealization = TRUE;
				    newsym(x2, y2);

It sounds like you can (or the code is in there for it to be done) for a ghost corpse (?) to be recorporealized? Is there any in game situation where this may happen? I tried using Turn Undead on ghosts - obviously this just did damage to them. I also tried turning stone to flesh on ghost figurines and statues, but that predictably created meatballs. Is this something for bone levels (is it possible to force a bones level in Wizard mode by chance?)

Thought that I'd share this. Strongsauce1 16:03, September 12, 2010 (UTC)