function Create(self) self.rechargeTimer = Timer() self.rechargeDelay = 100 self.manualmaxammo = 15 self.Magazine.RoundCount = self.manualmaxammo self.AIChargeRounds = 5 self.AIChargeTimer = Timer() self.AIChargeDelay = self.rechargeDelay * self.AIChargeRounds end function Update(self) if self.z ~= nil then if MovableMan:IsActor(self.z) then if self.Magazine ~= nil then if MovableMan:GetMOFromID(self.RootID):IsActor() then self.z = ToActor(MovableMan:GetMOFromID(self.RootID)) if self.z:IsPlayerControlled() == false then if self.AIChargeTimer.ElapsedSimTimeMS < self.AIChargeDelay then self.z:GetController():SetState(Controller.WEAPON_FIRE,false) end if self.Magazine.RoundCount == 1 then self.AIChargeTimer:Reset() end else self.AIChargeTimer:Reset() end end if self:IsActivated() then self.rechargeTimer:Reset() else if self.Magazine.RoundCount < self.manualmaxammo and self.rechargeTimer:IsPastSimMS(self.rechargeDelay) then self.rechargeTimer:Reset() local ammoCheck = self.Magazine.RoundCount + 1 self.Magazine.RoundCount = ammoCheck end end if self.Magazine.RoundCount == 1 then self:Deactivate() end end end else self.z = MovableMan:GetMOFromID(self.RootID) end end