Ravenfield

Ravenfield

Not enough ratings
Dangerous green head
   
Award
Favorite
Favorited
Unfavorite
Content Type: Mutators
File Size
Posted
Updated
878.767 KB
May 19, 2022 @ 9:39pm
May 20, 2022 @ 12:54am
2 Change Notes ( view )

Subscribe to download
Dangerous green head

Description
I wondered is it possible to make a sentry gun without using a bot, vehicle, and weapon. this gross thing is the result of the experiment.




behaviour("destructivehead")

function destructivehead:Start()
GameEvents.onActorSpawn.AddListener(self, "OnActorSpawn")
GameEvents.onActorDied.AddListener(self, "OnActorDied")
self.head=nil
self.tgt=nil
self.cooldown=0
end

function destructivehead:OnActorDied(actor)
if actor.isPlayer then
self.gameObject.Destroy(self.head)
self.head=nil
self.tgt=nil
self.cooldown=0
end
end

function destructivehead:OnActorSpawn(actor)
if actor.isPlayer then
self.head=self.gameObject.Instantiate(self.targets.head, Player.actor.transform.position+Vector3(0,2,0), Quaternion.Euler(0,0,0))
end
end

function destructivehead:Update()

if self.head~=nil then
self.head.transform.position=Player.actor.transform.position+Vector3(0,2,0)

self.tgt=nil
local ac=ActorManager.AliveActorsInRange(Player.actor.transform.position,500)
if #ac>0 then
for i = 1, #ac do
if ac.team~=Player.actor.team and ActorManager.ActorCanSeePlayer(ac) and (self.tgt==nil or Vector3.distance(ac.transform.position,Player.actor.transform.position)<Vector3.distance(self.tgt.transform.position,Player.actor.transform.position) ) then
self.tgt=ac
end
end
end

local gyrorot=Player.actor.transform.rotation

if self.tgt~=nil then

local tgtpos=self.tgt.transform.position+self.tgt.transform.up*0.65
local tgtspd=self.tgt.velocity
local bulletspd=300

local gyroguidepos=tgtpos
for i=1,5 do
gyroguidepos=tgtpos + (Vector3.distance(gyroguidepos,self.head.transform.position)/bulletspd)*( tgtspd )
end

if self.cooldown==0 and Vector3.Angle(gyroguidepos - self.head.transform.position, self.head.transform.forward) <= 1 then
local blt=self.gameObject.Instantiate(self.targets.bullet, self.head.transform.position,self.head.transform.rotation)
blt=blt.gameObject.GetComponent(Projectile)
blt.source=Player.actor
local snd=self.head.gameObject.GetComponent(AudioSource)
snd.play()
self.cooldown=0.15
end

gyrorot=Quaternion.LookRotation(gyroguidepos-self.head.transform.position,Player.actor.transform.up)

if self.cooldown>0 then
self.cooldown=self.cooldown-Time.deltaTime
if self.cooldown<=0 then
self.cooldown=0
end
end

end

self.head.transform.rotation=Quaternion.RotateTowards(self.head.transform.rotation, gyrorot, 180 * Time.deltaTime)

end

end
16 Comments
yogurt Mar 3, 2024 @ 6:12pm 
very cancerous head
THE CANDY CANE MAN Nov 10, 2023 @ 9:41pm 
Green Maurice
KODLIX_user1 Nov 30, 2022 @ 11:21am 
jolly rancher head
sleepydriedtomatoes Oct 23, 2022 @ 4:39pm 
Where did you learn to fly?
Mr Lunk May 21, 2022 @ 6:13am 
Skary head
Titanus May 20, 2022 @ 6:03pm 
Noice
Amon May 20, 2022 @ 2:15pm 
omg its god
W May 20, 2022 @ 7:22am 
Puffairfish May 20, 2022 @ 4:24am 
greer
SquidMann May 20, 2022 @ 4:23am 
Where did you learn to fly?