/
UltraEnvy/
UltraEnvy/area/classes/
UltraEnvy/backup/
UltraEnvy/log/
UltraEnvy/newdocs/
UltraEnvy/newdocs/MobProg2.1/
UltraEnvy/newdocs/OLC11/
UltraEnvy/newdocs/OLC11/area/
UltraEnvy/newdocs/OLC11/doc/
UltraEnvy/newdocs/OLC11/options/
UltraEnvy/player/
UltraEnvy/src/Contributions/
UNNOFICIAL Zen's EnvyMud patch Release 0.83! (HomeCooked Envy2.2)
Monday, 30th June 1997

Zen             vasc@camoes.rnl.ist.utl.pt


=== Greetings!

My name in MUDs is Zen... in rl i'm called Vasco Costa.
The first MUD i ever played was Envy 2.0 and Envy is my favorite mud still.
Reasons? No need of scrolls of recall, no need to retrieve corpse, need i go
on? Envy is soo much user friendly... This is the first time ever i took a real
stab at Envy coding so here's what i came up with.


=== BUGS/UNDOCUMENTED FEATURES in this release of HomeCooked:

None i know of. I usually squash them when i see them. But see changes.txt also,
just in case i forgot to add something here.


=== BUGS/UNDOCUMENTED FEATURES in Envy 2.2:

Zen			do_imtlset has a bug when you use the '-' option.
			Sometimes the mud crashes with a segmentation fault...
			Fixed!


Zen			If you set a mobile in the area files to have
			AFF_CHARM and try to kill him the mud crashes... :(
			NOW FIXED! The bug was in fight.c in
			violence_update(), i added these 2 lines of code to
			solve it.

/* fight.c */
	        /* Ok here we test for switch if victim is charmed */
	        if ( IS_AFFECTED( victim, AFF_CHARM )
->		    && victim->master
->		    && !victim->master->deleted
		    && victim->in_room == victim->master->in_room
		    && number_percent() > 40 )

			Why? If the mob is charmed and has no master the mud
			would crash with a segmentation fault!


Kenneth Dugas           lower level thieves steal better than > level bug
Zen			comment: Steal bug still existed in act_obj.c!!!!!!!! :(
			NOW FIXED! Just change "percent > number_percent()" to
			"percent < number percent".

/* act_obj.c */
    if ( (         !IS_NPC( victim )
          && ( (   !IS_SET( victim->act, PLR_KILLER )
                && !IS_SET( victim->act, PLR_THIEF )
                && !IS_SET( victim->act, PLR_REGISTER )
                && victim->race != race_lookup( "Vampire" ) )
              ||   ch->level - victim->level < 5 ) )
        || percent > number_percent( ) )
    {      ^^^^^^^^^^^^^^^^^^^^^^^^^^^  
        /*
         * Failure.
         */^^^^^^^^


Zen			Mob of race Fish may walk in dry land...
			Solution: change do_move in act.move.c.
			Fixed!

Joguel			characters/mobs of race Fish can't breathe
			if room is ROOM_WATER_SWIM or ROOM_WATER_NOSWIM!
Zen			Solution: fix update.c
			Fixed!

/* update.c */
            if ( (   ch->in_room->sector_type == SECT_UNDERWATER
                  && ( !IS_IMMORTAL( ch ) && !IS_AFFECTED( ch, AFF_GILLS )
                      && !IS_SET( race_table[ ch->race ].race_abilities,
                                 RACE_WATERBREATH ) ) )
                || ( 
                       ( ch->in_room->sector_type != SECT_UNDERWATER
->                     && ch->in_room->sector_type != SECT_WATER_NOSWIM
->                     && ch->in_room->sector_type != SECT_WATER_SWIM )
                    && IS_SET( race_table[ ch->race ].race_abilities,
                              RACE_WATERBREATH )
                    && ( strcmp( race_table[ ch->race ].name, "Object" )
                        && strcmp( race_table[ ch->race ].name, "God" ) ) ) )
        {
            send_to_char( "You can't breathe!\n\r", ch );
            act( "$n sputters and chokes!", ch, NULL, NULL, TO_ROOM );
            damage( ch, ch, 5, gsn_breathe_water, WEAR_NONE );


Zen & Joguel 		Wand of water breathing in Midgaard magic shop is
			utterly useless unless player is of race Bear.
			As default player races don't have RACE_SWIM players 
			can't move in ROOM_UNDERWATER (see act_move.c)
			Fish and God race have gills so why bother with the
			wand? Zen's suggestion: new swim skill.
			Swim skill implemented!


- Zen