share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/backstab.lua
changeset 15162 7416f6319de9
parent 15068 6f51c75994a4
child 15164 2ad1f0bdc1f3
equal deleted inserted replaced
15161:d20e52a646e7 15162:7416f6319de9
   156 wave2DeadAnim = {}
   156 wave2DeadAnim = {}
   157 wave3DeadAnim = {}
   157 wave3DeadAnim = {}
   158 
   158 
   159 vCircs = {}
   159 vCircs = {}
   160 
   160 
   161 trackedMines = {}
   161 trackedNonCyborgGears = {}
   162 -----------------------------Animations--------------------------------
   162 -----------------------------Animations--------------------------------
   163 function Wave2Reaction()
   163 function Wave2Reaction()
   164   local i = 1
   164   local i = 1
   165   local gearr = nil
   165   local gearr = nil
   166   while nativeDead[i] == true do
   166   while nativeDead[i] == true do
   936 
   936 
   937 function RestoreCyborg()
   937 function RestoreCyborg()
   938   if cyborgHidden == true then
   938   if cyborgHidden == true then
   939     RestoreHog(cyborg)
   939     RestoreHog(cyborg)
   940     cyborgHidden = false
   940     cyborgHidden = false
   941     -- Clear mines around cyborg
   941     -- Clear mines and crates around cyborg
   942     local vaporized = 0
   942     local vaporized = 0
   943     for mine, _ in pairs(trackedMines) do
   943     for gear, _ in pairs(trackedNonCyborgGears) do
   944        if GetHealth(mine) and GetHealth(cyborg) and gearIsInBox(mine, GetX(cyborg) - 50, GetY(cyborg) - 50, 100, 100) == true then
   944        if GetHealth(gear) and GetHealth(cyborg) and gearIsInBox(gear, GetX(cyborg) - 50, GetY(cyborg) - 50, 100, 100) == true then
   945           AddVisualGear(GetX(mine), GetY(mine), vgtSmoke, 0, false)
   945           AddVisualGear(GetX(gear), GetY(gear), vgtSmoke, 0, false)
   946           DeleteGear(mine)
   946           DeleteGear(gear)
   947           vaporized = vaporized + 1
   947           vaporized = vaporized + 1
   948        end
   948        end
   949     end
   949     end
   950     if vaporized > 0 then
   950     if vaporized > 0 then
   951        PlaySound(sndVaporize)
   951        PlaySound(sndVaporize)
  1096   CheckEvents()
  1096   CheckEvents()
  1097 end
  1097 end
  1098 
  1098 
  1099 function onGearAdd(gear)
  1099 function onGearAdd(gear)
  1100   local gt = GetGearType(gear)
  1100   local gt = GetGearType(gear)
  1101   if gt == gtMine or gt == gtSMine or gt == gtAirMine then
  1101   if gt == gtMine or gt == gtSMine or gt == gtAirMine or gt == gtCase then
  1102     trackedMines[gear] = true
  1102     trackedNonCyborgGears[gear] = true
  1103   end
  1103   end
  1104 end
  1104 end
  1105 
  1105 
  1106 function onGearDelete(gear)
  1106 function onGearDelete(gear)
  1107   local gt = GetGearType(gear)
  1107   local gt = GetGearType(gear)
  1108   if gt == gtMine or gt == gtSMine or gt == gtAirMine then
  1108   if gt == gtMine or gt == gtSMine or gt == gtAirMine or gt == gtCase then
  1109     trackedMines[gear] = nil
  1109     trackedNonCyborgGears[gear] = nil
  1110   end
  1110   end
  1111 
  1111 
  1112   for i = 1, 7 do
  1112   for i = 1, 7 do
  1113     if gear == natives[i] then
  1113     if gear == natives[i] then
  1114       if nativeDead[i] ~= true then
  1114       if nativeDead[i] ~= true then