Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
AFKMud 2.2.2
Mar 3, 2019 5:35 pm
By Samson
Development
Nov 28, 2018 12:10 pm
By Keirath
First Immortal
Oct 12, 2018 2:02 pm
By GatewaySysop
Bug in do_climb( )
Jun 5, 2018 7:31 pm
By joeyfogas
question on overland code
May 31, 2018 12:03 pm
By joeyfogas
SmaugFUSS 1.9.3
Author: Various
Submitted by: Samson
AFKMud 2.2.2
Author: AFKMud Team
Submitted by: Samson
tintin++ ogg sound player script for linux
Author: Robert Smith
Submitted by: Vladaar
6Dragons ogg Soundpack
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.4
Author: Vladaar
Submitted by: Vladaar
Users Online
CommonCrawl, Bing

Members: 0
Guests: 19
Stats
Files
Topics
Posts
Members
Newest Member
483
3,743
19,401
655
RodrickMci
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds » Bugfix Lists » SmaugFUSS Bugfix List » [Bug] Msetting hitdie & damdi...
Forum Rules | Mark all | Recent Posts

[Bug] Msetting hitdie & damdie values only affects prototype and index mobs
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Mar 5, 2005 5:56 pm   Last edited Feb 4, 2006 4:31 pm by Samson
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,647
JoinedJan 1, 2002

Bug: Msetting hitdie and damdie values only affects prototype and index mobs.
Danger: low
Found by: Orion Elder, Remcon
Fixed by: Orion Elder, Remcon
Last updated: 02-07-2003
-----
[build.c]
Find:

/*
 * Exit Pull/push types
 * (water, air, earth, fire)
 */


Above that add:

/*
 * Local functions. -Orion
 */
int generate_hp( int level, int num, int size, int plus );


Find:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
          victim->pIndexData->hitnodice = value;


Change that to:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
        {
          victim->pIndexData->hitnodice = value;
          victim->max_hit = generate_hp( victim->level, victim->pIndexData->hitnodice, victim->pIndexData->hitsizedice, victim->pIndexData->hitplus );
        }


Find:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
          victim->pIndexData->hitsizedice = value;


Change that to:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
        {
          victim->pIndexData->hitsizedice = value;
          victim->max_hit = generate_hp( victim->level, victim->pIndexData->hitnodice, victim->pIndexData->hitsizedice, victim->pIndexData->hitplus );
        }


Find:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
          victim->pIndexData->hitplus = value;


Change that to:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
        {
          victim->pIndexData->hitplus = value;
          victim->max_hit = generate_hp( victim->level, victim->pIndexData->hitnodice, victim->pIndexData->hitsizedice, victim->pIndexData->hitplus );
        }


Find:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
          victim->pIndexData->damnodice = value;


Above that add:

        victim->barenumdie = value;


Find:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
          victim->pIndexData->damsizedice = value;


Above that add:

        victim->baresizedie = value;


Find:

        if ( IS_NPC( victim ) && xIS_SET(victim->act, ACT_PROTOTYPE) )
          victim->pIndexData->damplus = value;


Above that add:

        victim->damplus = value;


At the very bottom of the file add:

int generate_hp( int level, int num, int size, int plus )
{
    int max_hit = 0;

    if ( !num )
        max_hit = level * 8 + number_range( level * level / 4, level * level );
    else
        max_hit = num * number_range( 1, size ) + plus;

    return max_hit;
}


That should take care of that. While the hitdie changes won't show up on non-prototype mobiles, it will adjust their hitpoints to provide you with a general outlook of what their hitpoints will be when generated again. I may update this again later to provide the ability to edit non-prototype mobiles to get the same general affect.
       
Pages:<< prev 1 next >>