Jump to content
Sign in to follow this  
BETEP/macs509

Усилители дропа

Recommended Posts

немного туплю подскажите:

если определение множителя опыта (ня, сус и т.д) в exp_and_level.lua

    local StateLv = GetChaStateLv ( t , STATE_SBJYGZ )
            if StateLv > 0 and StateLv <= 10 then
                if StateLv == 1 then
                    EXP_RAID_STATE = StateLv + 1
                end
                if StateLv == 2 then
                    EXP_RAID_STATE = 2
                end

то где найти для усилителей дропа (уу, буу и т.д)?

Edited by BETEP/macs509

Share this post


Link to post
Share on other sites
1 час назад, BETEP/macs509 сказал:

немного туплю подскажите:

если определение множителя опыта (ня, сус и т.д) в exp_and_level.lua

    local StateLv = GetChaStateLv ( t , STATE_SBJYGZ )
            if StateLv > 0 and StateLv <= 10 then
                if StateLv == 1 then
                    EXP_RAID_STATE = StateLv + 1
                end
                if StateLv == 2 then
                    EXP_RAID_STATE = 2
                end

то где найти для усилителей дропа (уу, буу и т.д)?

skilleffect.lua
function Check_Baoliao(ATKER, DEFER, ... ) 
 

if StateLv >= 0 and StateLv <= 10 then
			if StateLv == 1 then
MF_RAID_STATE = StateLv + 1
			end
			if StateLv == 2 then
MF_RAID_STATE = 2.5
			end
			if StateLv == 3 then
MF_RAID_STATE = 3
			end
			if StateLv == 4 then
MF_RAID_STATE = 3.5
			end
			if StateLv == 5 then
MF_RAID_STATE = 7
			end
			if StateLv == 6 then
MF_RAID_STATE = 10
			end
			if StateLv == 7 then

 

  • Like 1

Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites

Если посмотреть функцию небесной ягоды (ItemUse_MoreExpGz) в ItemEffect.lua, то можно увидеть, что на персонажа накладывается эффект с ID STATE_SBJYGZ. Затем идем в функцию ShareTeamExp() из файла exp_and_level.lua и видим там код:

			local EXP_RAID_STATE = 1
			local StateLv = GetChaStateLv ( t[i] , STATE_SBJYGZ )
	
			if StateLv > 0 and StateLv <= 10 then
				if StateLv == 1 then
					EXP_RAID_STATE = StateLv + 1
				end
				if StateLv == 2 then
					EXP_RAID_STATE = 2
				end
				if StateLv == 3	then
					EXP_RAID_STATE = 2.5
				end
				if StateLv == 4	then
					EXP_RAID_STATE = 3
				end
				if StateLv == 5	then
					EXP_RAID_STATE = 5
				end
				if StateLv == 6	then
					EXP_RAID_STATE = 10
				end
				if StateLv == 7	then
					EXP_RAID_STATE = 20
				end
			end

То есть, уровень данного эффекта влияет на некий коэффициент (множитель) EXP_RAID_STATE. Например, НЯ накладывает эффект первого уровня и коэффициент будет равен 2, для СУСа коэффициент равен 2.5 (3 уровень эффекта).

 

Далее мы видим простую формулу в которой полученный опыт умножается на коэффициент.

exp_up = exp_up * EXP_RAID_STATE

Для УУ и БУУ все аналогично, только на персонажа накладывается эффект с ID STATE_SBBLGZ, а сам эффект учитывается в функции Check_Baoliao() из файла SkillEffect.lua

local StateLv = GetChaStateLv ( ATKER , STATE_SBBLGZ )
		if StateLv >= 0 and StateLv <= 10 then
			if StateLv == 1 then
				MF_RAID_STATE = StateLv + 1
			end
			if StateLv == 2 then
				MF_RAID_STATE = 2.5
			end
			if StateLv == 3 then
				MF_RAID_STATE = 3
			end
		end

Формула для расчета дропа:

mf = math.min ( 1, 100 / arg[i] * bsmf ) * MF_RAID * MF_RAID_STATE

 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...