Jump to content
metin2dev
  • 0
charparodar

open Sash absorbing 100%

Question

Hello,

I have this bug on sash system:

hf9UGWV.png

It is absorbing the 100% of the bonus (just the 1/5 and on 6/7, the normal bonus from armor/weapon it is applying the correct ones)...

On the tooltip it shows the correct bonus, but the 1/5 and the 6/7 isn't corresponding the the write absorption...

Anyone can help me out?

Thanks

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 0
1 hour ago, Hades ✔ said:

Did you test ur damage ?

Try to check if the bonuses are applied for 100% abs rate.

xD

:wub:

Share this post


Link to post
Share on other sites
  • 0
8 hours ago, nodoc said:

what are you using to check stats like that?

The command state (/state <name>)

7 hours ago, Hades ✔ said:

Did you test ur damage ?

Try to check if the bonuses are applied for 100% abs rate.

xD

I haven't tested the damage, but it's absorbing 100%, it saves like that on the database...

Fv6F2ZGsTHCZOcns1cDLlw.png

 

This is my uitooltip.py of the sashs

Spoiler

		elif 0 != isCostumeItem:
			self.__AppendLimitInformation()
			
			if app.ENABLE_ACCE_SYSTEM:
				if isCostumeAcce:
					## ABSORPTION RATE
					absChance = int(metinSlot[acce.ABSORPTION_SOCKET])
					self.AppendTextLine(localeInfo.ACCE_ABSORB_CHANCE % (absChance), self.CONDITION_COLOR)
					## END ABSOPRTION RATE
					
					itemAbsorbedVnum = int(metinSlot[acce.ABSORBED_SOCKET])
					if itemAbsorbedVnum:
						## ATTACK / DEFENCE
						item.SelectItem(itemAbsorbedVnum)
						if item.GetItemType() == item.ITEM_TYPE_WEAPON:
							if item.GetItemSubType() == item.WEAPON_FAN:
								self.__AppendMagicAttackInfo(metinSlot[acce.ABSORPTION_SOCKET])
								item.SelectItem(itemAbsorbedVnum)
								self.__AppendAttackPowerInfo(metinSlot[acce.ABSORPTION_SOCKET])
							else:
								self.__AppendAttackPowerInfo(metinSlot[acce.ABSORPTION_SOCKET])
								item.SelectItem(itemAbsorbedVnum)
								self.__AppendMagicAttackInfo(metinSlot[acce.ABSORPTION_SOCKET])
						elif item.GetItemType() == item.ITEM_TYPE_ARMOR:
							defGrade = item.GetValue(1)
							defBonus = item.GetValue(5) * 2
							defGrade = self.CalcAcceValue(defGrade, metinSlot[acce.ABSORPTION_SOCKET])
							defBonus = self.CalcAcceValue(defBonus, metinSlot[acce.ABSORPTION_SOCKET])
							
							if defGrade > 0:
								self.AppendSpace(5)
								self.AppendTextLine(localeInfo.TOOLTIP_ITEM_DEF_GRADE % (defGrade + defBonus), self.GetChangeTextLineColor(defGrade))
							
							item.SelectItem(itemAbsorbedVnum)
							self.__AppendMagicDefenceInfo(metinSlot[acce.ABSORPTION_SOCKET])
						## END ATTACK / DEFENCE
						
						## EFFECT
						item.SelectItem(itemAbsorbedVnum)
						for i in xrange(item.ITEM_APPLY_MAX_NUM):
							(affectType, affectValue) = item.GetAffect(i)
							affectValue = self.CalcAcceValue(affectValue, metinSlot[acce.ABSORPTION_SOCKET])
							affectString = self.__GetAffectString(affectType, affectValue)
							if affectString and affectValue > 0:
								self.AppendTextLine(affectString, self.GetChangeTextLineColor(affectValue))
							
							item.SelectItem(itemAbsorbedVnum)
						# END EFFECT
						
						item.SelectItem(itemVnum)
						## ATTR
						self.__AppendAttributeInformation(attrSlot, metinSlot[acce.ABSORPTION_SOCKET])
						# END ATTR
					else:
						# ATTR
						self.__AppendAttributeInformation(attrSlot)
						# END ATTR
				else:
					self.__AppendAffectInformation()
					self.__AppendAttributeInformation(attrSlot)
			else:
				self.__AppendAffectInformation()
				self.__AppendAttributeInformation(attrSlot)
				
			#self.__AppendAffectInformation()
			#self.__AppendAttributeInformation(attrSlot)

			self.AppendWearableInformation()
			
			if app.ENABLE_CHANGELOOK_SYSTEM:
				self.AppendTransmutation(window_type, slotIndex, transmutation)

			bHasRealtimeFlag = 0
			
			## »ç¿ë°¡´É ½Ã°£ Á¦ÇÑÀÌ ÀÖ´ÂÁö ã¾Æº¸°í
			for i in xrange(item.LIMIT_MAX_NUM):
				(limitType, limitValue) = item.GetLimit(i)

				if item.LIMIT_REAL_TIME == limitType:
					bHasRealtimeFlag = 1
			
			## ÀÖ´Ù¸é °ü·Ã Á¤º¸¸¦ Ç¥½ÃÇÔ. ex) ³²Àº ½Ã°£ : 6ÀÏ 6½Ã°£ 58ºÐ 
			if 1 == bHasRealtimeFlag:
				self.AppendMallItemLastTime(metinSlot[0])
				#dbg.TraceError("1) REAL_TIME flag On ")

 

 

Share this post


Link to post
Share on other sites
  • 0
1 minute ago, Dobrescu Sebastian said:

I don't use the absorption sash system, but I don't think that in item_proto should be set any bonus.

That's not item_proto, thats the item table, that's the item after absorbing a armor or a weapon... It's 100%...

Share this post


Link to post
Share on other sites
  • 0
5 minutes ago, WeedHex said:

i was right :D

Yes, but for some reason the state command is not working properly...

z12VrYflQXuYFi6VPu-g6w.png

That bonus table reads the packets sent by the server and displays them, so it's not just calculating the bonus on the client side...

It only happens with a few bonus, not all...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×