Consumables Fix

Submit code for osProse project.

Moderators: osRose dev team, ospRose dev team, osiRose dev team, Moderators

Consumables Fix

Postby pepu on Mon May 12, 2008 5:00 pm

The consumables now work correctly.
They regen with normal speed like narose pre evo (before this an apple was like a pot O.o)

FIND:
  1. // Heal Player when use Food/Pots
  2. bool CPlayer::PlayerHeal()
  3. {
  4.     clock_t transtime = clock() - UsedItem->lastRegTime;
  5.     if( UsedItem->usevalue!=0 && transtime >= 0.3*CLOCKS_PER_SEC )
  6.     {
  7.         if( UsedItem->used < UsedItem->usevalue && Stats->HP > 0 )
  8.         {
  9.             int value = UsedItem->userate;
  10.             if((UsedItem->usevalue - UsedItem->used) < value)
  11.             {
  12.                 value = UsedItem->usevalue - UsedItem->used;
  13.             }
  14.             // geo edit for instant heal // 3 jan 07
  15.             if(UsedItem->usetype==16 || UsedItem->usetype==17)
  16.                 value = UsedItem->usevalue;
  17.             // end geo edit
  18.  
  19.             switch( UsedItem->usetype )
  20.             {
  21.                 case 16: // HP
  22.                     Stats->HP += value;
  23.                     if(Stats->HP > Stats->MaxHP)
  24.                         Stats->HP = Stats->MaxHP;
  25.                 break;
  26.                 case 17: // MP
  27.                     Stats->MP += value;
  28.                     if(Stats->MP > Stats->MaxMP)
  29.                         Stats->MP = Stats->MaxMP;
  30.                 break;
  31.             }
  32.             UsedItem->used += value;
  33.             UsedItem->lastRegTime = clock();
  34.         }
  35.         else
  36.         {
  37.             BEGINPACKET( pak,0x7b7 );
  38.             ADDWORD    ( pak, clientid );
  39.             ADDDWORD   ( pak, GServer->BuildBuffs( this ) );
  40.             switch( UsedItem->usetype )
  41.             {
  42.                 case 16: // HP
  43.                     ADDWORD( pak, Stats->HP );
  44.                 break;
  45.                 case 17: // MP
  46.                     ADDWORD( pak, Stats->MP );
  47.                 break;
  48.             }
  49.             GServer->SendToVisible( &pak, this );
  50.             UsedItem->used = 0;
  51.             UsedItem->usevalue = 0;
  52.             UsedItem->userate = 0;
  53.             UsedItem->usetype = 0;
  54.         }
  55.     }
  56.     return true;
  57. }
  58.  


REPLACE:
  1. // Heal Player when use Food/Pots
  2. bool CPlayer::PlayerHeal()
  3. {
  4.     clock_t transtime = clock() - UsedItem->lastRegTime;
  5.     if( UsedItem->usevalue!=0 && transtime >= 0.3*CLOCKS_PER_SEC )  
  6.     {          
  7.         if( UsedItem->used < UsedItem->usevalue && Stats->HP > 0 )
  8.         {
  9.             int value = UsedItem->userate;                
  10.             if((UsedItem->usevalue - UsedItem->used) < value)
  11.             {
  12.                 value = UsedItem->usevalue - UsedItem->used;
  13.             }
  14.             switch( UsedItem->usetype )
  15.             {
  16.                 case 16: // HP
  17.                     Stats->HP += value;
  18.                     if(Stats->HP > GetMaxHP())
  19.                         Stats->HP = GetMaxHP();                            
  20.                 break;
  21.                 case 17: // MP
  22.                     Stats->MP += value;                    
  23.                     if(Stats->MP > GetMaxMP())
  24.                         Stats->MP = GetMaxMP();                        
  25.                 break;
  26.             }
  27.             UsedItem->used += value;
  28.             UsedItem->lastRegTime = clock();            
  29.         }
  30.         else
  31.         {
  32.             BEGINPACKET( pak,0x7b7 );
  33.             ADDWORD    ( pak, clientid );
  34.             ADDDWORD   ( pak, GServer->BuildBuffs( this ) );
  35.             switch( UsedItem->usetype )
  36.             {
  37.                 case 16: // HP
  38.                     ADDWORD( pak, Stats->HP );                        
  39.                 break;
  40.                 case 17: // MP
  41.                     ADDWORD( pak, Stats->MP );                    
  42.                 break;
  43.             }
  44.             GServer->SendToVisible( &pak, this );
  45.             UsedItem->used = 0;
  46.             UsedItem->usevalue = 0;
  47.             UsedItem->userate = 0;
  48.             UsedItem->usetype = 0;
  49.         }
  50.     }
  51.     return true;
  52. }
  53.  
pepu
ospRose dev team
ospRose dev team
 
Posts: 283
Joined: Mon Feb 04, 2008 10:12 pm
Location: ESPAÑA(Aranjuez)

Re: Consumables Fix

Postby PurpleYouko on Mon May 12, 2008 5:02 pm

so basically we just remove Geo's edit??
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: Consumables Fix

Postby Blah4 on Mon May 12, 2008 5:05 pm

Maybe edit so only the pots that should restore instantly do so.
Blah4
ospRose dev team
ospRose dev team
 
Posts: 199
Joined: Sun Jan 06, 2008 12:05 pm
Location: The Netherlands

Re: Consumables Fix

Postby pepu on Mon May 12, 2008 5:05 pm

just used evo rose code.(Same as narose pre evo with consumables :P)

DELETE THIS:
  1. #             // geo edit for instant heal // 3 jan 07
  2. #             if(UsedItem->usetype==16 || UsedItem->usetype==17)
  3. #                 value = UsedItem->usevalue;
  4. #             // end geo edit
pepu
ospRose dev team
ospRose dev team
 
Posts: 283
Joined: Mon Feb 04, 2008 10:12 pm
Location: ESPAÑA(Aranjuez)


Return to Submit Code

Who is online

Users browsing this forum: No registered users and 3 guests