@ -28,6 +28,7 @@ import engine.net.client.msg.*;
@@ -28,6 +28,7 @@ import engine.net.client.msg.*;
import engine.net.client.msg.chat.AbstractChatMsg ;
import engine.net.client.msg.commands.ClientAdminCommandMsg ;
import engine.objects.* ;
import engine.powers.effectmodifiers.AbstractEffectModifier ;
import engine.server.MBServerStatics ;
import engine.server.world.WorldServer ;
import engine.session.Session ;
@ -36,6 +37,7 @@ import org.pmw.tinylog.Logger;
@@ -36,6 +37,7 @@ import org.pmw.tinylog.Logger;
import java.sql.SQLException ;
import java.util.ArrayList ;
import java.util.Map ;
import java.util.concurrent.ConcurrentHashMap ;
import java.util.concurrent.ThreadLocalRandom ;
@ -2022,10 +2024,17 @@ boolean updateCity = false;
@@ -2022,10 +2024,17 @@ boolean updateCity = false;
//make sure item is damaged and not destroyed
short dur = toRepair . getDurabilityCurrent ( ) ;
short max = toRepair . getDurabilityMax ( ) ;
if ( dur > = max | | dur < 1 )
//account for durability modifications
float durMod = toRepair . getBonusPercent ( ModType . Durability , SourceType . None ) ;
max * = ( 1 + ( durMod * 0 . 01f ) ) ;
if ( dur > = max | | dur < 1 ) {
//redundancy message to clear item from window in client
toRepair . setDurabilityCurrent ( max ) ;
msg . setupRepairAck ( max - dur ) ;
dispatch = Dispatch . borrow ( player , msg ) ;
DispatchMessage . dispatchMsgDispatch ( dispatch , DispatchChannel . SECONDARY ) ;
return ;
}
//TODO get cost to repair
int cost = ( int ) ( ( max - dur ) * 80 . 1 ) ;
Building b = ( ! npc . isStatic ( ) ) ? npc . getBuilding ( ) : null ;
@ -2056,14 +2065,11 @@ boolean updateCity = false;
@@ -2056,14 +2065,11 @@ boolean updateCity = false;
ugm . configure ( ) ;
dispatch = Dispatch . borrow ( player , ugm ) ;
DispatchMessage . dispatchMsgDispatch ( dispatch , DispatchChannel . SECONDARY ) ;
//update durability to database
if ( ! DbManager . ItemQueries . SET_DURABILITY ( toRepair , max ) )
return ;
//repair the item
toRepair . setDurabilityCurrent ( max ) ;
//send repair msg
msg . setupRepairAck ( max - dur ) ;
dispatch = Dispatch . borrow ( player , msg ) ;