1632 //lua_pushnil(L) |
1632 //lua_pushnil(L) |
1633 lc_addteam:= 0;//1; |
1633 lc_addteam:= 0;//1; |
1634 end; |
1634 end; |
1635 |
1635 |
1636 function lc_dismissteam(L : Plua_State) : LongInt; Cdecl; |
1636 function lc_dismissteam(L : Plua_State) : LongInt; Cdecl; |
|
1637 var HHGear: PGear; |
|
1638 i, h : LongInt; |
|
1639 hidden: boolean; |
1637 begin |
1640 begin |
1638 if CheckLuaParamCount(L, 1, 'DismissTeam', 'teamname') then |
1641 if CheckLuaParamCount(L, 1, 'DismissTeam', 'teamname') then |
1639 ParseCommand('teamgone ' + lua_tostring(L, 1), true, true); |
1642 begin |
1640 lc_dismissteam:= 0;; |
1643 if TeamsCount > 0 then |
|
1644 for i:= 0 to Pred(TeamsCount) do |
|
1645 begin |
|
1646 // skip teams that don't have matching name |
|
1647 if TeamsArray[i]^.TeamName <> lua_tostring(L, 1) then |
|
1648 continue; |
|
1649 |
|
1650 // destroy all hogs of matching team, including the hidden ones |
|
1651 for h:= 0 to cMaxHHIndex do |
|
1652 begin |
|
1653 hidden:= (TeamsArray[i]^.Hedgehogs[h].GearHidden <> nil); |
|
1654 if hidden then |
|
1655 RestoreHog(@TeamsArray[i]^.Hedgehogs[h]); |
|
1656 // destroy hedgehog gear, if any |
|
1657 HHGear:= TeamsArray[i]^.Hedgehogs[h].Gear; |
|
1658 if HHGear <> nil then |
|
1659 begin |
|
1660 // smoke effect |
|
1661 if (not hidden) then |
|
1662 begin |
|
1663 AddVisualGear(hwRound(HHGear^.X), hwRound(HHGear^.Y), vgtSmokeWhite); |
|
1664 AddVisualGear(hwRound(HHGear^.X) - 16 + Random(32), hwRound(HHGear^.Y) - 16 + Random(32), vgtSmokeWhite); |
|
1665 AddVisualGear(hwRound(HHGear^.X) - 16 + Random(32), hwRound(HHGear^.Y) - 16 + Random(32), vgtSmokeWhite); |
|
1666 AddVisualGear(hwRound(HHGear^.X) - 16 + Random(32), hwRound(HHGear^.Y) - 16 + Random(32), vgtSmokeWhite); |
|
1667 AddVisualGear(hwRound(HHGear^.X) - 16 + Random(32), hwRound(HHGear^.Y) - 16 + Random(32), vgtSmokeWhite); |
|
1668 end; |
|
1669 HHGear^.Message:= HHGear^.Message or gmDestroy; |
|
1670 end; |
|
1671 end; |
|
1672 // can't dismiss more than one team |
|
1673 break; |
|
1674 end; |
|
1675 end; |
|
1676 lc_dismissteam:= 0; |
1641 end; |
1677 end; |
1642 |
1678 |
1643 function lc_addhog(L : Plua_State) : LongInt; Cdecl; |
1679 function lc_addhog(L : Plua_State) : LongInt; Cdecl; |
1644 var temp: ShortString; |
1680 var temp: ShortString; |
1645 begin |
1681 begin |