<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://developer.quantumleapstudios.org/index.php?action=history&amp;feed=atom&amp;title=Hunter</id>
	<title>Hunter - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://developer.quantumleapstudios.org/index.php?action=history&amp;feed=atom&amp;title=Hunter"/>
	<link rel="alternate" type="text/html" href="http://developer.quantumleapstudios.org/index.php?title=Hunter&amp;action=history"/>
	<updated>2026-06-28T08:28:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.0</generator>
	<entry>
		<id>http://developer.quantumleapstudios.org/index.php?title=Hunter&amp;diff=13&amp;oldid=prev</id>
		<title>Rhosyn Celyn at 22:16, 1 May 2026</title>
		<link rel="alternate" type="text/html" href="http://developer.quantumleapstudios.org/index.php?title=Hunter&amp;diff=13&amp;oldid=prev"/>
		<updated>2026-05-01T22:16:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:16, 1 May 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= GPhys.Types.Objects.Hunter =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= GPhys.Types.Objects.Hunter =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hunter.png|thumb|right|300px|Hunter &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(placeholder image)&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hunter.png|thumb|right|300px|Hunter]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;GPhys.Types.Objects.Hunter&amp;#039;&amp;#039;&amp;#039; is a three-legged synth that is large enough to be imposing but small enough to enter buildings.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;GPhys.Types.Objects.Hunter&amp;#039;&amp;#039;&amp;#039; is a three-legged synth that is large enough to be imposing but small enough to enter buildings.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-wikiuser:diff:1.41:old-10:rev-13:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Rhosyn Celyn</name></author>
	</entry>
	<entry>
		<id>http://developer.quantumleapstudios.org/index.php?title=Hunter&amp;diff=10&amp;oldid=prev</id>
		<title>Rhosyn Celyn at 01:50, 29 April 2026</title>
		<link rel="alternate" type="text/html" href="http://developer.quantumleapstudios.org/index.php?title=Hunter&amp;diff=10&amp;oldid=prev"/>
		<updated>2026-04-29T01:50:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:50, 29 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l74&quot;&gt;Line 74:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 74:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Inherited from GNPC ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Inherited from GNPC ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GPhys.Abstracts.&lt;/del&gt;GNPC]] for inherited health, ragdoll, mind control, and utility methods.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See [[GNPC]] for inherited health, ragdoll, mind control, and utility methods.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;This page documents the Hunter NPC in GPhys.&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;This page documents the Hunter NPC in GPhys.&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-wikiuser:diff:1.41:old-7:rev-10:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Rhosyn Celyn</name></author>
	</entry>
	<entry>
		<id>http://developer.quantumleapstudios.org/index.php?title=Hunter&amp;diff=7&amp;oldid=prev</id>
		<title>Rhosyn Celyn: Created page with &quot;= GPhys.Types.Objects.Hunter =  Hunter (placeholder image)  &#039;&#039;&#039;GPhys.Types.Objects.Hunter&#039;&#039;&#039; is a three-legged synth that is large enough to be imposing but small enough to enter buildings.  == Accessible Variables ==  ; NpcClass : Always returns &quot;Combine&quot;. ; animator : The Animator controlling Hunter&#039;s animations. ; agent : The NavMeshAgent for pathfinding and movement. ; audioSource : The AudioSource for playing sounds. ; eyeBottom...&quot;</title>
		<link rel="alternate" type="text/html" href="http://developer.quantumleapstudios.org/index.php?title=Hunter&amp;diff=7&amp;oldid=prev"/>
		<updated>2026-04-29T01:40:42Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= GPhys.Types.Objects.Hunter =  &lt;a href=&quot;/File:Hunter.png&quot; title=&quot;File:Hunter.png&quot;&gt;thumb|right|300px|Hunter (placeholder image)&lt;/a&gt;  &amp;#039;&amp;#039;&amp;#039;GPhys.Types.Objects.Hunter&amp;#039;&amp;#039;&amp;#039; is a three-legged synth that is large enough to be imposing but small enough to enter buildings.  == Accessible Variables ==  ; NpcClass : Always returns &amp;quot;Combine&amp;quot;. ; animator : The Animator controlling Hunter&amp;#039;s animations. ; agent : The NavMeshAgent for pathfinding and movement. ; audioSource : The AudioSource for playing sounds. ; eyeBottom...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= GPhys.Types.Objects.Hunter =&lt;br /&gt;
&lt;br /&gt;
[[File:Hunter.png|thumb|right|300px|Hunter (placeholder image)]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GPhys.Types.Objects.Hunter&amp;#039;&amp;#039;&amp;#039; is a three-legged synth that is large enough to be imposing but small enough to enter buildings.&lt;br /&gt;
&lt;br /&gt;
== Accessible Variables ==&lt;br /&gt;
&lt;br /&gt;
; NpcClass : Always returns &amp;quot;Combine&amp;quot;.&lt;br /&gt;
; animator : The Animator controlling Hunter&amp;#039;s animations.&lt;br /&gt;
; agent : The NavMeshAgent for pathfinding and movement.&lt;br /&gt;
; audioSource : The AudioSource for playing sounds.&lt;br /&gt;
; eyeBottom, eyeTop : Transforms for the Hunter&amp;#039;s lower and upper eyes.&lt;br /&gt;
; flechetteBottom, flechetteTop : Transforms for flechette firing points.&lt;br /&gt;
; flechetteMuzzleBottom, flechetteMuzzleTop : ParticleSystems for flechette muzzle effects.&lt;br /&gt;
; leftFootIK, rightFootIK, hindFootIK : IK controllers for Hunter&amp;#039;s feet.&lt;br /&gt;
; moveType : Current movement mode (Default, Prowl, Canter, DontChange).&lt;br /&gt;
; followPathType : Path following mode (Default, LookAtTarget, LookAtDestination, HandledElsewhere).&lt;br /&gt;
; currentTarget : The current target Transform.&lt;br /&gt;
; targetLookat : The position the Hunter is looking at.&lt;br /&gt;
; turnSpeed : Body turning speed.&lt;br /&gt;
; WalkSpeed, CanterSpeed, ProwlSpeed : Movement speeds for different gaits.&lt;br /&gt;
; centreOfBoundries : Center of the Hunter&amp;#039;s bounds.&lt;br /&gt;
; chargeSpeed, chargeTurnSpeed : Speed and turn speed while charging.&lt;br /&gt;
; isCharging : True if currently charging.&lt;br /&gt;
; canMove : True if the Hunter can move.&lt;br /&gt;
; isPlanted : True if the Hunter is planted (stationary for shooting).&lt;br /&gt;
; isShooting : True if currently shooting.&lt;br /&gt;
; plantedShootLength : Duration of planted shooting.&lt;br /&gt;
; shootDelay : Delay between flechette shots.&lt;br /&gt;
; lastShootEye : Alternates between top and bottom flechette.&lt;br /&gt;
; lastShootTime : Time of last shot.&lt;br /&gt;
; turnSpeedCurve : AnimationCurve for smooth turning.&lt;br /&gt;
; detectionRange, loseTargetRange : Ranges for detecting and losing targets.&lt;br /&gt;
; Alert, Angry, PreCharge, Idle, Gloat, FoundEnemy, FoundEnemyAck, Scan, FlankAnnounce, MeleeAnnounce, MeleeHit, TackleAnnounce, TackleHit, ChargeHitEnemy, ChargeHitWorld, Pain, Death, DefendStrider, HitByVehicle : Arrays of AudioClips for various events.&lt;br /&gt;
; FireMinigun : AudioClip for minigun fire.&lt;br /&gt;
; nearFarSourceManager : Manages near/far audio effects.&lt;br /&gt;
; lastBoundCheck, boundCheckInterval : Timing for updating bounds.&lt;br /&gt;
; currentFlechetteTarget : Current flechette target position.&lt;br /&gt;
; flechetteMoveSpeed : Speed at which flechette target moves.&lt;br /&gt;
; lastMeleeAnim : Tracks last melee animation used.&lt;br /&gt;
; everSawTarget, lastSawTarget, timeToStartScanning : Target tracking variables.&lt;br /&gt;
; lastScanSound, randomScanInterval : Scan sound timing.&lt;br /&gt;
; lastCheckedForStrider : Timing for strider defense checks.&lt;br /&gt;
; isDefendingStrider : True if defending a strider.&lt;br /&gt;
; currentStriderThreat : Current strider threat object.&lt;br /&gt;
; maxPlantShots, currentPlantShots : Plant shooting limits.&lt;br /&gt;
; burstCooldown, maxShotsPerBurst : Burst fire control.&lt;br /&gt;
&lt;br /&gt;
== Accessible Functions ==&lt;br /&gt;
&lt;br /&gt;
; Update() : Main update loop for movement, aiming, and shooting.&lt;br /&gt;
; AnimationUpdate() : Updates animation parameters.&lt;br /&gt;
; Plant() : Plants the Hunter for stationary shooting.&lt;br /&gt;
; ResetAnimationsMovement() : Resets movement animation state.&lt;br /&gt;
; MeleeTarget(bool stingers) : Performs a melee attack (optionally with stingers).&lt;br /&gt;
; DamageTarget(float damage) : Damages the current target.&lt;br /&gt;
; ChargeAtTarget() : Initiates a charge attack.&lt;br /&gt;
; HandleCharge() : Coroutine for handling the charge attack.&lt;br /&gt;
; PlayClips(params AudioClip[] clips) : Plays a random clip from the given set.&lt;br /&gt;
; PlayClip(AudioClip clip) : Plays a specific audio clip.&lt;br /&gt;
; SetDestination(Vector3 destination, MoveType moveType, FollowPathType followPathType) : Sets the Hunter&amp;#039;s movement destination and mode.&lt;br /&gt;
; SetDefaultWalk(), SetProwl(), SetCanter() : Sets movement mode and animation.&lt;br /&gt;
; ShootBothFlechettes(Quaternion direction) : Fires both flechettes in sequence.&lt;br /&gt;
; ShootFlechette(bool top, Quaternion direction) : Fires a single flechette.&lt;br /&gt;
; CanSee(Transform target) : Returns true if the Hunter can see the target.&lt;br /&gt;
; LookAt(Vector3 position, int type, float turnSpeed = 0f) : Rotates eyes/body/both to look at a position.&lt;br /&gt;
; HandleHunt() : Handles hunting behavior and combat logic.&lt;br /&gt;
; GetCurrentState() : Returns the current state as a string.&lt;br /&gt;
; HandleForceChangeState(string newState) : Forces a state change.&lt;br /&gt;
; HandleStateChange() : Handles state transitions.&lt;br /&gt;
; HandleMindControlCameraInput() : Handles camera input when mind controlled.&lt;br /&gt;
&lt;br /&gt;
== Inherited from GNPC ==&lt;br /&gt;
&lt;br /&gt;
See [[GPhys.Abstracts.GNPC]] for inherited health, ragdoll, mind control, and utility methods.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;This page documents the Hunter NPC in GPhys.&amp;#039;&lt;/div&gt;</summary>
		<author><name>Rhosyn Celyn</name></author>
	</entry>
</feed>