guyde
Chieftain
Yes, It's Combat-Hook Lua Script. and this script design to fired 'all players' turn for my religion mod 'Golden Apple'.
Lack of my grammer... It's hard to explain how it actually works. ( or answer your question )
but I'm sure one thing, It works fine both AI player and Active player.
Here is Example function
You can use those LuaEvents and function with include method.1.LuaEvents.CbHk_UnitSelected.Add ( pPlayer, pUnit )
--It's fired when unit is selected.
2. LuaEvents.CbHk_CityRangedAttack.Add ( pActPlayer, pActCity, pDefPlayer, pDefUnit, iDefDamage, iDefPreviousDamage )
--It's fired when unit damaged by selected city.
3. LuaEvents.CbHk_UnitAttackUnit.Add ( pActPlayer, pActUnit, pDefPlayer, pDefUnit, iDefDamage, iDefPreviousDamage )
--It's fired when unit damaged by selected unit.
4. LuaEvents.CbHk_UnitAttackCity.Add ( pActPlayer, pActUnit, pDefPlayer, pDefCity )
--It's fired when city damaged by selected unit.
5. LuaEvents.CbHk_UnitCaptureCity.Add ( pActPlayer, pActUnit, pCity, iOldOwner, bIsCapital, iX, iY, iNewOwner, iPop, bConquest )
--It's fired when city captured by selected unit.
function
1. CbHk_TextDelay()
-- it return 'g_iFloatingDelay'
-- NOTE : You must use this fuction to PREVENT floating text is MESSED UP with other mod using this script.
Lack of my grammer... It's hard to explain how it actually works. ( or answer your question )
but I'm sure one thing, It works fine both AI player and Active player.
Here is Example function
include("FLuaVector.lua");
include("CombatHook.lua");
function FaithFromCityAttack( pActPlayer, pActCity, pDefPlayer, pDefUnit )
local iFaith = ( pDefUnit:GetBaseCombatStrength() / 5 );
local sText = "[COLOR_WHITE]+" .. iFaith .. "[ENDCOLOR][ICON_PEACE]";
pActPlayer:ChangeFaith( iFaith );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
end
LuaEvents.CbHk_CityRangedAttack.Add( FaithFromCityAttack );
*Result
Spoiler :![]()
function FaithFromKill( pActPlayer, pActCity, pDefPlayer, pDefUnit )
if ( pDefUnit:IsDead() == false ) then
return
end
local iFaith = ( pDefUnit:GetBaseCombatStrength() * 2 );
local sText = "[COLOR_WHITE]+" .. iFaith .. "[ENDCOLOR][ICON_PEACE]";
pActPlayer:ChangeFaith( iFaith );
if ( pActPlayer:IsHuman() ) then
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
Events.AddPopupTextEvent( HexToWorld( ToHexFromGrid( Vector2( pDefUnit:GetX(), pDefUnit:GetY() ) ) ), sText, CbHk_TextDelay() );
end
end
LuaEvents.CbHk_UnitAttackUnit.Add( FaithFromKill );
*ResultSpoiler :
![]()