
--      workshop_commonlib.lua,  

--[[
	   ,   Ctrl+F     
	 :
	
	HitPoint            - 
	Regen               - 
	Armor               - 
	
	ImmuneToAttack      -   
	ImmuneToSource      -   
	
	Attack1Damage       -   
	Attack2Damage       -   
	Attack1Power        -   
	Attack2Power        -   
	Attack1Heal         -    
	Attack2Heal         -    
	Attack1CritDamage   -    
	Attack2CritDamage   -    
	Attack1CritPower    -     
	Attack2CritPower    -     
	Attack1Drain        -   
	Attack2Drain        -   
	AttackInitiative    - 
	
	XpGain              -    
	
	Negotiate           -  
	Movement            -  
	Scout               -  
	Leadership          - 
	LowerCost           -   
	FastRetreat         -    
	
	LeaderAbility       -   
	MoveAbility         -    
--]]
--[[
	 :
	
	set_                -    
	base                -      
	(value)             -     .  . , (15), (-5), (0.2)  ..
	_Flat               - ,   ,   value,   .  set_baseArmor_Flat(10) ,      10
	_Percent            -     1 + value / 100.  set_baseAttack1Damage_Percent(15) ,         15%
	_Once               - 
	_Always             - 
	
	({[sourceType1] = value1, [sourceType2] = value2}) -     (sourceType)    (value), 
	  sourceType  value    (       )
	
	,    ,   :
	set_ImmuneToSource_Always({[Source.Fire] = 1, [Source.Death] = 1, [Source.Mind] = 1})
	    :
	set_ImmuneToSource_Once({[Source.Air] = 1})
	
	 ,   "= 1"
	       ,      ,
	         .
	     1,    ,
	     ,        1,
	  .
	        -1,
	     (,     ,     , ,   ).
	       ,     
	
	   (,   ,   Source.Water):
	Weapon - 
	Mind   - 
	Life   - 
	Death  - 
	Fire   - 
	Water  - 
	Earth  - 
	Air    - 
	
	
	({[attackType1] = value1, [attackType2] = value2}) -          (attackType) 
	   (value),   attackType  value    (       )
	
	   (,   ,   Attack.Paralyze):
	Damage          -  
	Drain           - 
	Paralyze        - 
	Heal            - 
	Fear            - 
	BoostDamage     -  
	Petrify         - 
	LowerDamage     - 
	LowerInitiative - 
	Poison          - 
	Frostbite       - 
	Revive          - 
	DrainOverflow   - 
	Cure            - 
	Summon          - 
	DrainLevel      -  
	GiveAttack      -   
	Doppelganger    - 
	TransformSelf   -   
	TransformOther  -  
	Blister         - 
	BestowWards     -   
	Shatter         -  
	
	,      :
	set_ImmuneToAttack_Once({[Attack.Poison] = 1, [Attack.Fear] = 1})
	
	
	({[ability1] = value1, [ability2] = value2}) -       (ability) 
	   (value),   ability  value    (       )
	
	  (,   ,   Ability.Incorruptible):
	Incorruptible   - 
	Rod             -   
	WandScrollUse   -    
	WeaponArmorUse  -  
	BannerUse       -  
	JewelryUse      -    
	TravelItemUse   -  
	OrbUse          -  
	TalismanUse     -  
	
	,     :
	set_LeaderAbility({[Ability.WandScrollUse] = 1})
	
	({[moveAbiliy1] = value1, [moveAbiliy2] = value2}) -        (moveAbiliy) 
	   (value),   moveAbiliy  value    (       )
	
	   (,     ,   Ground.Forest):
	Plain   -    
	Forest  -   
	Water   - 
	
	,  :
	set_MoveAbility({[Ground.Water] = 1})
--]]


-- User functions list

-- 
set_baseHitPoint_Percent(value)

-- 
set_baseAttack1Power_Percent(value)

-- 
set_baseAttack2Power_Percent(value)

-- 
set_baseAttack1Damage_Percent(value)

-- 
set_baseAttack2Damage_Percent(value)

-- 
set_baseAttack1Heal_Percent(value)

-- 
set_baseAttack2Heal_Percent(value)

-- 
set_baseAttackInitiative_Percent(value)

-- 
set_baseRegen_Flat(value)

-- 
set_baseArmor_Flat(value)

-- 
set_baseNegotiate_Flat(value)

-- 
set_XpGain_Percent(value)

-- 
set_Movement_Percent(value)

-- 
set_Movement_Flat(value)

-- 
set_Attack1CritDamage_Flat(value)

-- 
set_Attack2CritDamage_Flat(value)

-- 
set_Attack1CritPower_Flat(value)

-- 
set_Attack2CritPower_Flat(value)

-- 
set_Attack1Drain_Flat(value)

-- 
set_Attack2Drain_Flat(value)

-- 
set_Scout_Flat(value)

-- 
set_Leadership_Flat(value)

-- 
set_LowerCost_Flat(value)

-- 
set_ImmuneToSource_Once({[sourceType1] = value1, [sourceType2] = value2, ...})

-- 
set_ImmuneToSource_Always({[sourceType1] = value1, [sourceType2] = value2, ...})

-- 
set_ImmuneToAttack_Once({[attackType1] = value1, [attackType2] = value2, ...})

-- 
set_ImmuneToAttack_Always({[attackType1] = value1, [attackType2] = value2, ...})

-- 
set_LeaderAbility({[ability1] = value1, [ability2] = value2, ...})

-- 
set_MoveAbility({[moveAbiliy1] = value1, [moveAbiliy2] = value2, ...})

-- 
set_FastRetreat(value)
