MAC Lift
Mouse
The Lighter Side of Pessimism Join Date: 2002-03-02 Member: 263Members, NS1 Playtester, Forum Moderators, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
The Lighter Side of Pessimism Join Date: 2002-03-02 Member: 263Members, NS1 Playtester, Forum Moderators, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
Give MACs the ability to pick up & carry almost any marine structure or item, apart from:
- Command Centers
- Resource Towers
- Medpacks
- Ammopacks
- Catpacks
- Other MACs
- ARCs
Structures/items would deactivate while they're being carried.
Normally, MACs spend most of their time just floating around until something needs building or welding. This MAC Lift ability would turn them into active support & supply units and give the marine comm a lot of interesting options.
- Command Centers
- Resource Towers
- Medpacks
- Ammopacks
- Catpacks
- Other MACs
- ARCs
Structures/items would deactivate while they're being carried.
Normally, MACs spend most of their time just floating around until something needs building or welding. This MAC Lift ability would turn them into active support & supply units and give the marine comm a lot of interesting options.
Comments
COUNT ME IN!
Rolling sentry deployment with two batteries. I wanna try that strat!
One thing that'd make that interesting is that if one of the MACs is destroyed you're left with a battery sitting in the middle of nowhere, until you recycle it or send another MAC to pick it up
Exactly! I love challenges
I dunno man, if my shotty was dropped somewhere and I sprint back to see a MAC basically stealing it for "the greater good". That MAC is going to be demoted to being my personal barista!
Ofc even cooler would be an actual Transformer-Mac Animation into a kinda Armory.
Carrying an Armory or other structures would be the first step to try this out, but a Transformer-Mac would be so much cooler ofc.
Macbucks - Catpack Latte?
edit:it appears that there's a mod on the workshop already for lerklift.
// ============================================================== // // Lerk Lift Mod v0.1 // by Hackepeter // // Date: 2011-10-28 // // Installation: place this file in ns2\lua and add to the beginning // of Alien_Server.lua: Script.Load("lua/LerkLiftMod.lua") // // Admins can turn the mod at anytime (also mid game) off/on // with lerklift 0/1 in the server console. // // ============================================================== // should the mod be enabled by default? Alien.kLiftEnabled = true Alien.kLiftInterval = 1 Alien.kLifterClass = "Lerk" Alien.kLiftedClass = "Gorge" Alien.kLifterTip = "You just lifted a Gorge. Press use-key to release." Alien.kLiftedTip = "You just lifted by a Lerk. Press use-key to release." Alien.kLifterOnSound = "alien_vision_on" Alien.kLifterOffSound = "alien_vision_off" function Alien:GetCanBeUsed() if self:GetIsAlive() then return true end return Player.GetCanBeUsed(self) end function Alien:OnUse(player, elapsedTime, useAttachPoint, usePoint) if Alien.kLiftEnabled and // don't trigger lifting to often (self.timeOfLastLift == nil or (Shared.GetTime() - self.timeOfLastLift) > Alien.kLiftInterval) then // if this is the Gorge used by a Lerk if self:isa(Alien.kLiftedClass) and player:isa(Alien.kLifterClass) then // if the Lerk is not yet lifting any Gorge if player.liftingToId == nil then // lift the gorge self:SetLiftingTo(player) self.timeOfLastLift = Shared.GetTime() return true // if the Lerk is already lifting this Gorge (me) elseif player.liftingToId == self:GetId() then // release self:ResetLifting() self.timeOfLastLift = Shared.GetTime() return true end // if this is the Lerk used by a Gorge elseif self:isa(Alien.kLifterClass) and player:isa(Alien.kLiftedClass) then // if the Lerk is already lifting this Gorge if self.liftingToId == player:GetId() then // release self:ResetLifting() self.timeOfLastLift = Shared.GetTime() return true end end end return Player.OnUse(self, player, elapsedTime, useAttachPoint, usePoint) end function Alien:PostUpdateMove(input, runningPrediction) // only do stuff if something is lifted if self.liftingToId ~= nil then if Alien.kLiftEnabled then local isLifter = self:isa(Alien.kLifterClass) local isLifted = self:isa(Alien.kLiftedClass) if isLifter or isLifted then local liftingTo = nil if self.liftingToId ~= nil then liftingTo = Shared.GetEntity(self.liftingToId) // check if there is a lifting if liftingTo ~= nil and liftingTo:GetIsAlive() then // if this alien is lifted copy position from lifter if isLifted then lifterPos = liftingTo:GetOrigin(); local liftedPos = Vector(lifterPos.x, lifterPos.y, lifterPos.z) self:SetOrigin(liftedPos) end else // reset if lifted alien is dead or vanished self:ResetLifting() end end end // if lifting has been disabled in midgame reset this lifting now else self:ResetLifting() end end end // enabled the lifting between two aliens if there is no other lifting function Alien:SetLiftingTo(otherAlien) if self.liftingToId == nil then self.liftingToId = otherAlien:GetId() self:TriggerEffects(Alien.kLifterOnSound) self:AddTooltip(ConditionalValue(self:isa(Alien.kLiftedClass), Alien.kLiftedTip, Alien.kLifterTip)) otherAlien:SetLiftingTo(self) end end // reset all linking between lifter and lifted alien function Alien:ResetLifting() if self.liftingToId ~= nil then local liftingTo = Shared.GetEntity(self.liftingToId) self.liftingToId = nil if liftingTo ~= nil then liftingTo:ResetLifting() end self:TriggerEffects(Alien.kLifterOffSound) end end // Admin function to enable/disable LerkLiftMod function OnCommandLerkLift(client, enable) if client == nil then if enable ~= nil then Alien.kLiftEnabled = tonumber(enable) ~= 0 end Print(string.format("LerkLiftMod is %d", ConditionalValue(Alien.kLiftEnabled, 1, 0), enable)) end end Event.Hook("Console_lerklift", OnCommandLerkLift)