# HG changeset patch # User Wuzzy # Date 1517957314 -3600 # Node ID 4ea0691d0ad5083597f1263564ae2a227570c76e # Parent 06791c62c75960abc79253bafa3288ab79580c03 ASA: Fruit03: Show collected ammo diff -r 06791c62c759 -r 4ea0691d0ad5 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua Tue Feb 06 06:33:32 2018 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua Tue Feb 06 23:48:34 2018 +0100 @@ -171,15 +171,42 @@ end end +-- Display ammo icon above gear. i = offset (start at 1) +local function displayAmmoIcon(gear, ammoType, i) + local x = GetX(gear) + 2 + local y = GetY(gear) + 32 * i + local vgear = AddVisualGear(x, y, vgtAmmo, 0, true) + if vgear ~= nil then + local vgtX,vgtY,vgtdX,vgtdY,vgtAngle,vgtFrame,vgtFrameTicks,vgtState,vgtTimer,vgtTint = GetVisualGearValues(vgear) + local vgtFrame = ammoType + SetVisualGearValues(vgear,vgtX,vgtY,vgtdX,vgtdY,vgtAngle,vgtFrame,vgtFrameTicks,vgtState,vgtTimer,vgtTint) + end +end + function onGearDelete(gear) if (isHog(gear)) then local availableTeleports = GetAmmoCount(hero.gear,amTeleport) local availableSniper = GetAmmoCount(hero.gear,amSniperRifle) + local ammolist = "" + local tele = false if availableTeleports < 2 then AddAmmo(hero.gear, amTeleport, availableTeleports + 1 ) + displayAmmoIcon(hero.gear, amTeleport, 1) + tele = true + ammolist = ammolist .. string.format(loc("%s (+1)"), GetAmmoName(amTeleport)) end if availableSniper < 4 then AddAmmo(hero.gear, amSniperRifle, availableSniper + 1 ) + displayAmmoIcon(hero.gear, amSniperRifle, 2) + if tele then + ammolist = ammolist .. " • " + end + ammolist = ammolist .. string.format(loc("%s (+1)"), GetAmmoName(amSniperRifle)) + end + -- Show collected ammo + if ammolist ~= "" then + PlaySound(sndShotgunReload) + AddCaption(ammolist, GetClanColor(GetHogClan(hero.gear)), capgrpAmmoinfo) end end end