--  ***************************************************************************************************** --
--  code by http://www.cgmsv.com
--  ð汾 cgmsv а汾
--              #UPDATE LIST#
--  TYPE ***** TIME ***** Editor ***** Text 
-- CREATE   2018/12/22     Zack         ίе
--                      *RegInit                    --ȫֳʼ¼
--                      *RegDelLoginEvent           --ȫֵ¼
--                      *RegDelLoginGateEvent       --ȫֵǻس¼
--                      *RegDelLogoutEvent          --ȫֵǳ¼
--                      *RegDelTalkEvent            --ȫֶԻ¼
--                      *RegDelLevelUpEvent         --ȫ¼
--                      *RegDelBattleStartEvent     --ȫսʼ¼
--                      *RegDelBattleOverEvent      --ȫս¼
--                      *RegDelWarpEvent            --ȫִ¼
--                      *RegDelAfterWarpEvent       --°ȫִ¼
--                      *RegDelDropEvent            --ȫֵ¼
--                      *RegDelTitleChangedEvent    --ȫҽɫƺ¼
--                      *RegDelGetExpEvent          --ȫֻս¼
--                      *RegDelBattleSkillExpEvent  --ȫֻսܾ¼
--                      *RegDelProductSkillExpEvent --ȫֻܾ¼
--                      *RegDelPetLevelUpEvent      --ȫֳ¼
--                      *RegDelBattleExitEvent      --ȫս뿪¼
--                      *RegDelRightClickEvent      --ȫһ¼
--                      *RegDelShutDownEvent        --ȫַر¼
--                      *RegDelPartyEvent           --ȫ¼
--                      *RegDelSealEvent            --ȫҽгӡ¼
--                      *RegDelBattleActionEvent    --ȫսзָ¼
--                      *RegDelCharActionEvent      --ȫAction¼
--                      *RegDelMergeItemEvent       --ȫʹ¼
--                      *RegDelItemOverLapEvent     --ȫҵص¼
--                      *RegDelGetLoginPointEvent   --ȫû¼ʱȡ½¼
--                      *RegDelItemString           --ȫƷǩ¼
--                      *RegDelItemInitEvent        --ȫƷʼ¼
--                      *RegDelItemUseEvent         --ȫʹõ(ս)¼
--                      *RegDelItemAttachEvent      --ȫװ¼
--                      *RegDelItemDetachEvent      --ȫжװ¼
--                      *RegDelItemDropEvent        --ȫҶ¼
--                      *RegDelItemPrePickUpEvent   --ȫʰȡ֮ǰ¼
--                      *RegDelItemPickUpEvent      --ȫҳɹʰȡ¼
--                      *RegDelDamageCalculateEvent --ȫսм˺¼
--                      *RegDelTechOptionEvent      --ȫּܸӲȡ¼
--                      *RegDelRankUpEvent          --ȫҽ¼
--                      *RegDelAllOutEvent          --ȫ뿪¼  /* עί֮ǰҲDropEventLogoutEvent */
--  ***************************************************************************************************** --
--  δ֧
--                     **RegDelGatherTechUsedEvent  --ȫʹòɼ¼
--                     **RegDelVSEnemyCreateEvent   --ȫ¼
--                     **RegDelMakeItemStringEvent  --ȫɵߵĽ¼
--                     **RegDelBattlePVPMaxHpEvent  --ȫִһPKʱʼɫֵ¼
--                     **RegDelBattleNextEnemyEvent --һͨBattle.SetNextBattleõսս¼
--                     **RegDelHeadCoverEvent       --ȫнɫʾͷЧ¼
--  ***************************************************************************************************** --

tbl_delegate_Init = {};
tbl_delegate_LoginEvent = {};
tbl_delegate_LoginGateEvent = {};
tbl_delegate_LogoutEvent = {};
tbl_delegate_TalkEvent = {};
tbl_delegate_LevelUpEvent = {};
tbl_delegate_BattleStartEvent = {};
tbl_delegate_BattleOverEvent = {};
tbl_delegate_WarpEvent = {};
tbl_delegate_AfterWarpEvent = {};
tbl_delegate_DropEvent = {};
tbl_delegate_TitleChangedEvent = {};
tbl_delegate_GetExpEvent = {};
tbl_delegate_BattleSkillExpEvent = {};
tbl_delegate_ProductSkillExpEvent = {};
tbl_delegate_PetLevelUpEvent = {};
tbl_delegate_BattleExitEvent = {};
tbl_delegate_RightClickEvent = {};
tbl_delegate_ShutDownEvent = {};
tbl_delegate_PartyEvent = {};
tbl_delegate_SealEvent = {};
tbl_delegate_BattleActionEvent = {};
tbl_delegate_CharActionEvent = {};
tbl_delegate_MergeItemEvent = {};
tbl_delegate_ItemOverLapEvent = {};
tbl_delegate_GetLoginPointEvent = {};
tbl_delegate_ItemString = {};
tbl_delegate_ItemInit = {};
tbl_delegate_ItemUse = {};
tbl_delegate_ItemAttach = {};
tbl_delegate_ItemDetach= {};
tbl_delegate_ItemDrop = {};
tbl_delegate_ItemPrePickUp = {};
tbl_delegate_ItemPickUp = {};
tbl_delegate_DamageCalculateEvent = {};
tbl_delegate_TechOptionEvent = {};
tbl_delegate_RankUpEvent = {};
tbl_delegate_AllOutEvent = {};

tbl_delegate_GatherTechUsedEvent = {};
tbl_delegate_VSEnemyCreateEvent = {};
tbl_delegate_MakeItemStringEvent = {};
tbl_delegate_BattlePVPMaxHpEvent = {};
tbl_delegate_BattleNextEnemyEvent = {};
tbl_delegate_HeadCoverEvent = {};





Delegate =
{
	RegInit = function(FuncString) RegInit(FuncString) end;
  RegDelLoginEvent = function(FuncString) RegDelLoginEvent(FuncString) end;
  RegDelLoginGateEvent = function(FuncString) RegDelLoginGateEvent(FuncString) end;
  RegDelLogoutEvent = function(FuncString) RegDelLogoutEvent(FuncString) end;
  RegDelTalkEvent = function(FuncString) RegDelTalkEvent(FuncString) end;
  RegDelLevelUpEvent = function(FuncString) RegDelLevelUpEvent(FuncString) end;
  RegDelBattleStartEvent = function(FuncString) RegDelBattleStartEvent(FuncString) end;
  RegDelBattleOverEvent = function(FuncString) RegDelBattleOverEvent(FuncString) end;
  RegDelWarpEvent = function(FuncString) RegDelWarpEvent(FuncString) end;
  RegDelAfterWarpEvent = function(FuncString) RegDelAfterWarpEvent(FuncString) end;
  RegDelDropEvent = function(FuncString) RegDelDropEvent(FuncString) end;
  RegDelTitleChangedEvent= function(FuncString) RegDelTitleChangedEvent(FuncString) end;
  RegDelGetExpEvent = function(FuncString) RegDelGetExpEvent(FuncString) end;
  RegDelBattleSkillExpEvent= function(FuncString) RegDelBattleSkillExpEvent(FuncString) end;
  RegDelProductSkillExpEvent= function(FuncString) RegDelProductSkillExpEvent(FuncString) end;
  RegDelPetLevelUpEvent= function(FuncString) RegDelPetLevelUpEvent(FuncString) end;
  RegDelBattleExitEvent = function(FuncString) RegDelBattleExitEvent(FuncString) end;
  RegDelRightClickEvent = function(FuncString) RegDelRightClickEvent(FuncString) end;
  RegDelShutDownEvent = function(FuncString) RegDelShutDownEvent(FuncString) end;
  RegDelPartyEvent= function(FuncString) RegDelPartyEvent(FuncString) end;
  RegDelSealEvent= function(FuncString) RegDelSealEvent(FuncString) end;
  RegDelBattleActionEvent= function(FuncString) RegDelBattleActionEvent(FuncString) end;
  RegDelCharActionEvent= function(FuncString) RegDelCharActionEvent(FuncString) end;
  RegDelMergeItemEvent= function(FuncString) RegDelMergeItemEvent(FuncString) end;
  RegDelItemOverLapEvent= function(FuncString) RegDelItemOverLapEvent(FuncString) end;
  RegDelGetLoginPointEvent= function(FuncString) RegDelGetLoginPointEvent(FuncString) end;
  RegDelItemString = function(FuncString) RegDelItemString(FuncString) end;
  RegDelItemInit = function(FuncString) RegDelItemInitEvent(FuncString) end;
  RegDelItemUseEvent = function(FuncString) RegDelItemUseEvent(FuncString) end;
  RegDelItemAttachEvent = function(FuncString) RegDelItemAttachEvent(FuncString) end;
  RegDelItemDetachEvent = function(FuncString) RegDelItemDetachEvent(FuncString) end;
  RegDelItemDropEvent = function(FuncString) RegDelItemDropEvent(FuncString) end;
  RegDelItemPrePickUpEvent = function(FuncString) RegDelItemPrePickUpEvent(FuncString) end;
  RegDelItemPickUpEvent = function(FuncString) RegDelItemPickUpEvent(FuncString) end;
  RegDelDamageCalculateEvent= function(FuncString) RegDelDamageCalculateEvent(FuncString) end;
  RegDelTechOptionEvent= function(FuncString) RegDelTechOptionEvent(FuncString) end;
  RegDelRankUpEvent = function(FuncString) RegDelRankUpEvent(FuncString) end;
	RegDelAllOutEvent = function(FuncString) RegDelAllOutEvent(FuncString) end;
--δ֧--
	RegDelGatherTechUsedEvent = function(FuncString) RegDelGatherTechUsedEvent(FuncString) end;
  RegDelVSEnemyCreateEvent= function(FuncString) RegDelVSEnemyCreateEvent(FuncString) end;
  RegDelMakeItemStringEvent= function(FuncString) RegDelMakeItemStringEvent(FuncString) end;
  RegDelBattlePVPMaxHpEvent= function(FuncString) RegDelBattlePVPMaxHpEvent(FuncString) end;
  RegDelBattleNextEnemyEvent= function(FuncString) RegDelBattleNextEnemyEvent(FuncString) end;
  RegDelHeadCoverEvent= function(FuncString) RegDelHeadCoverEvent(FuncString) end;
};

--עʼ¼ί
function RegInit(FuncString)
	
   for _,v in ipairs(tbl_delegate_Init) do
       if (v == FuncString)then
       return false;
	   end
   end
   
   table.insert(tbl_delegate_Init,FuncString);
   return true;
end

--עȫֵ¼¼ί
function RegDelLoginEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_LoginEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_LoginEvent,FuncString);
   return true;
end

--עȫֵǳ¼ί
function RegDelLogoutEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_LogoutEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_LogoutEvent,FuncString);
   return true;
end

--עȫֵǻس¼ί
function RegDelLoginGateEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_LoginGateEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_LoginGateEvent,FuncString);
   return true;
end

--עȫֶԻ¼ί
function RegDelTalkEvent(FuncString)
	
   for _,v in ipairs(tbl_delegate_TalkEvent) do
       if (v == FuncString)then
       return false;
	   end
   end
   
   table.insert(tbl_delegate_TalkEvent,FuncString);
   return true;
end

--עȫ¼ί
function RegDelLevelUpEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_LevelUpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_LevelUpEvent,FuncString);
   return true;
end

--עȫսʼ¼ί
function RegDelBattleStartEvent(FuncString)
	
   for _,v in ipairs(tbl_delegate_BattleStartEvent) do
       if (v == FuncString)then
       return false;
	   end
   end
   
   table.insert(tbl_delegate_BattleStartEvent,FuncString);
   return true;
end

--עȫս¼ί
function RegDelBattleOverEvent(FuncString)
	
   for _,v in ipairs(tbl_delegate_BattleOverEvent) do
       if (v == FuncString)then
       return false;
	   end
   end
   
   table.insert(tbl_delegate_BattleOverEvent,FuncString);
   return true;
end

--עȫִ¼ί
function RegDelWarpEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_WarpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_WarpEvent,FuncString);
   return true;
end

function RegDelAfterWarpEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_AfterWarpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_AfterWarpEvent,FuncString);
   return true;
end

--עȫֵ¼ί
function RegDelDropEvent(FuncString)
	
   for _,v in ipairs(tbl_delegate_DropEvent) do
       if (v == FuncString)then
       return false;
	   end
   end
   
   table.insert(tbl_delegate_DropEvent,FuncString);
   return true;
end

--ȫҽɫƺ¼
function RegDelTitleChangedEvent(FuncString)
   for _,v in ipairs(tbl_delegate_TitleChangedEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_TitleChangedEvent,FuncString);
   return true;
end

--עȫֻս¼ί
function RegDelGetExpEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_GetExpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_GetExpEvent,FuncString);
   return true;
end

--ȫֻսܾ¼
function RegDelBattleSkillExpEvent(FuncString)
   for _,v in ipairs(tbl_delegate_BattleSkillExpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_BattleSkillExpEvent,FuncString);
   return true;
end

--ȫֻܾ¼
function RegDelProductSkillExpEvent(FuncString)
   for _,v in ipairs(tbl_delegate_ProductSkillExpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ProductSkillExpEvent,FuncString);
   return true;
end

--ȫֳ¼
function RegDelPetLevelUpEvent(FuncString)
   for _,v in ipairs(tbl_delegate_PetLevelUpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_PetLevelUpEvent,FuncString);
   return true;
end

--עȫս˳¼ί
function RegDelBattleExitEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_BattleExitEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_BattleExitEvent,FuncString);
   return true;
end

--עȫһ¼ί
function RegDelRightClickEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_RightClickEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_RightClickEvent,FuncString);
   return true;
end

--עȫַرί
function RegDelShutDownEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_ShutDownEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ShutDownEvent,FuncString);
   return true;
end

--ȫ¼
function RegDelPartyEvent(FuncString)
   for _,v in ipairs(tbl_delegate_PartyEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_PartyEvent,FuncString);
   return true;
end

--ȫҽгӡ¼
function RegDelSealEvent(FuncString)
   for _,v in ipairs(tbl_delegate_SealEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_SealEvent,FuncString);
   return true;
end

--ȫսзָ¼
function RegDelBattleActionEvent(FuncString)
   for _,v in ipairs(tbl_delegate_BattleActionEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_BattleActionEvent,FuncString);
   return true;
end

--ȫAction¼
function RegDelCharActionEvent(FuncString)
   for _,v in ipairs(tbl_delegate_CharActionEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_CharActionEvent,FuncString);
   return true;
end

--ȫʹ¼
function RegDelMergeItemEvent(FuncString)
   for _,v in ipairs(tbl_delegate_MergeItemEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_MergeItemEvent,FuncString);
   return true;
end

--ȫҵص¼
function RegDelItemOverLapEvent(FuncString)
   for _,v in ipairs(tbl_delegate_ItemOverLapEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemOverLapEvent,FuncString);
   return true;
end

--ȫû¼ʱȡ½¼
function RegDelGetLoginPointEvent(FuncString)
   for _,v in ipairs(tbl_delegate_GetLoginPointEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_GetLoginPointEvent,FuncString);
   return true;
end

--עȫƷǩί
function RegDelItemString(FuncString)
  
   for _,v in ipairs(tbl_delegate_ItemString) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemString,FuncString);
   return true;
end

--עȫƷʼ¼
function RegDelItemInitEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_ItemInit) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemInit,FuncString);
   return true;
end

--עȫʹõ(ս)¼
function RegDelItemUseEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_ItemUse) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemUse,FuncString);
   return true;
end

--עȫװ¼
function RegDelItemAttachEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_ItemAttach) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemAttach,FuncString);
   return true;
end

--עȫжװ¼
function RegDelItemDetachEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_ItemDetach) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemDetach,FuncString);
   return true;
end

--עȫҶ¼
function RegDelItemDropEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_ItemDrop) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemDrop,FuncString);
   return true;
end

--עȫʰȡ֮ǰ¼
function RegDelItemPrePickUpEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_ItemPrePickUp) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemPrePickUp,FuncString);
   return true;
end

--עȫҳɹʰȡ¼
function RegDelItemPickUpEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_ItemPickUp) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_ItemPickUp,FuncString);
   return true;
end

--ȫսм˺¼
function RegDelDamageCalculateEvent(FuncString)
   for _,v in ipairs(tbl_delegate_DamageCalculateEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_DamageCalculateEvent,FuncString);
   return true;
end

--ȫּܸӲȡ¼
function RegDelTechOptionEvent(FuncString)
   for _,v in ipairs(tbl_delegate_TechOptionEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_TechOptionEvent,FuncString);
   return true;
end

--עȫҽ¼ί
function RegDelRankUpEvent(FuncString)
  
   for _,v in ipairs(tbl_delegate_RankUpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_RankUpEvent,FuncString);
   return true;
end

--עȫ뿪¼ίУǳ͵ߣ
function RegDelAllOutEvent(FuncString)
	
   for _,v in ipairs(tbl_delegate_AllOutEvent) do
       if (v == FuncString)then
       return false;
	   end
   end
   
   table.insert(tbl_delegate_AllOutEvent,FuncString);
   return true;
end

--עȫʹòɼ¼ί
function RegDelGatherTechUsedEvent(FuncString)
	
   for _,v in ipairs(tbl_delegate_GatherTechUsedEvent) do
       if (v == FuncString)then
       return false;
	   end
   end
   
   table.insert(tbl_delegate_GatherTechUsedEvent,FuncString);
   return true;
end

--ȫ¼
function RegDelVSEnemyCreateEvent(FuncString)
   for _,v in ipairs(tbl_delegate_VSEnemyCreateEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_VSEnemyCreateEvent,FuncString);
   return true;
end

--ȫɵߵĽ¼
function RegDelMakeItemStringEvent(FuncString)
   for _,v in ipairs(tbl_delegate_MakeItemStringEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_MakeItemStringEvent,FuncString);
   return true;
end

--ȫִһPKʱʼɫֵ¼
function RegDelBattlePVPMaxHpEvent(FuncString)
   for _,v in ipairs(tbl_delegate_BattlePVPMaxHpEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_BattlePVPMaxHpEvent,FuncString);
   return true;
end

--һͨBattle.SetNextBattleõսս¼
function RegDelBattleNextEnemyEvent(FuncString)
   for _,v in ipairs(tbl_delegate_BattleNextEnemyEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_BattleNextEnemyEvent,FuncString);
   return true;
end

--ȫнɫʾͷЧ¼
function RegDelHeadCoverEvent(FuncString)
   for _,v in ipairs(tbl_delegate_HeadCoverEvent) do
       if (v == FuncString)then
       return false;
     end
   end
   
   table.insert(tbl_delegate_HeadCoverEvent,FuncString);
   return true;
end