67 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| --#include "data\functions\ItemEvent\ItemUseCount.txt" once
 | |
| --#include "data\functions\GlobalMiscExpand\GlobalMisc.txt" once
 | |
| --#include "data\config\item\HeroForce.txt" once
 | |
| --#include "data\config\Hero\HeroConfig.txt" once
 | |
| --#include "data\functions\ItemEvent\ItemUseCount.txt" once
 | |
| --#include "data\functions\GlobalMiscExpand\GlobalMisc.txt" once
 | |
| 
 | |
| --英雄体力丹
 | |
| 
 | |
| function UseHeroForceItem(sysarg, count, itemidx, itemPtr,ItemTable, delType, param)
 | |
| 	local lastTimes, maxTimes = getItemUseCount(sysarg, itemidx)
 | |
| 	if lastTimes <= 0 then
 | |
| 		Actor.sendTipmsg( sysarg, OldLang.Script.HeroItem008, ttFlyTip )
 | |
| 		return
 | |
| 	end
 | |
| 	local useCount = count
 | |
| 	if useCount > lastTimes then
 | |
| 		useCount = lastTimes
 | |
| 	end	
 | |
| 	if(Actor.getItemCount(sysarg, itemidx) == 0) then
 | |
| 		Actor.sendTipmsg( sysarg,OldLang.Script.HeroItem004,ttFlyTip)
 | |
| 		return
 | |
| 	end
 | |
|     local nHeroId = Hero.getBattleHeroId(sysarg)
 | |
| 	if nHeroId == -1  then
 | |
| 	    local  nDefHero = Hero.getHeroProperty(sysarg,1,enHeroLevel)
 | |
| 		if nDefHero > 0 then
 | |
| 		    nHeroId = 1
 | |
| 		else 
 | |
| 		    Actor.sendTipmsg( sysarg,OldLang.Script.HeroItem007,ttFlyTip)
 | |
| 		    return
 | |
| 		end
 | |
|     end
 | |
| 	local HeroCfg  = HeroConfig.HeroList[nHeroId]
 | |
| 	if HeroCfg then
 | |
| 	    local nMaxForce = HeroCfg.MaxForce
 | |
|         local nForce  = Hero.getHeroProperty(sysarg,nHeroId,enHeroForce)
 | |
| 		local nOldForce = nForce
 | |
| 		nForce = nForce + ItemTable.force * count
 | |
|         if  nForce > nMaxForce then
 | |
|             Actor.sendTipmsg( sysarg,OldLang.Script.HeroItem005,ttFlyTip)
 | |
| 			return
 | |
|         end
 | |
| 	    local useCount = Actor.removeItemByPtr(sysarg, itemPtr, count, true, "HeroForce",327)
 | |
| 	    if useCount > 0 then
 | |
| 		    nForce = nOldForce + ItemTable.force * useCount
 | |
| 			Hero.setHeroProperty(sysarg,nHeroId,enHeroForce,nForce)
 | |
| 			local nAdd = nForce - nOldForce
 | |
| 		    Actor.sendTipmsg( sysarg, string.format(OldLang.Script.HeroItem006,nAdd), ttFlyTip )
 | |
| 			AddDailyItemUseCount(sysarg, itemidx, 1)
 | |
| 		    return true,useCount
 | |
| 	    end		
 | |
| 	end
 | |
| end
 | |
| 
 | |
| function UseHeroForceInit(sysarg)
 | |
|   for i = 1,table.getn(HeroForceConfig) do
 | |
| 	local x = HeroForceConfig[i]
 | |
| 	GlobalItemFn[x.itemid] = { func = UseHeroForceItem, params = x }
 | |
|   end
 | |
| end
 | |
| 
 | |
| table.insert(InitFnTable, UseHeroForceInit)
 | |
| 
 | |
| 
 | |
| 
 |