Editing
Talk:Projectile
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Reverse engineering == Behaviors common to all projectiles: * ''GetGravity'' - Gravity is always treated as 1.0 unless the projectile is a Missile (or arrow, given that arrows subclass missiles?). The different projectile types override these virtual functions on the base ''Projectile'' class: * Arrow ** ''ProcessImpacts'' ** ''GetGravity'': <code>return fArrowWeakGravity - (this->power * (fArrowWeakGravity - Projectile::GetGravity())))</code>. This computes to ''power'' × (''gravity'' - ''weak gravity'') + ''weak gravity''. Of course, the projectile's type is "arrow;" if that doesn't count as being a missile, then ''gravity'' should always be 1.0, so this would work out to ''weak gravity'' - (''power'' × ''weak gravity''). ** ''ShouldBeLimited'': True if the internal ''kProcessedImpacts'' flag is set on the projectile instance. ** ''AddImpact'': Among other things, tests whether the actor can be hit by the given projectile (e.g. they're not flagged as a "ghost"), and handles the Mod Shield Deflect Arrow Chance and Apply Combat Hit Spell [[Perk Entry Points|perk entry points]]. * Barrier ** ''ProcessImpacts'' ** ''GetKillOnCollision'': Always false. (The default is "always true.") * Beam ** ''GetKillOnCollision'': Always false. ** ''AddImpact'' * Cone ** ''ProcessImpacts'': No-op if the projectile has faded out or traveled past its range. ** ''GetKillOnCollision'': Always false. ** ''AddImpact'' ** ''HandleHits'' * Flame ** ''RunTargetPick'': Alternate logic; differences unknown. Modifies the ''fFlameProjectileLength'' animation graph variable on the projectile. ** ''AddImpact'': Avoids adding an impact if one already exists for the specified target. * Grenade ** ''ReportHavokDeactivation'' ** ''AddImpact'' ** ''OnTriggerEnter'' * Missile ** ''ProcessImpacts'' ** ''GetKillOnCollision'': True if the projectile's internal "result" value is set to "destroy." ** ''AddImpact'': If an impact is successfully added, sets the projectile's "result" value to the impact's own result value if it's non-"none," or to "destroy" otherwise. Out of energy to keep digging, for now. [[User:DavidJCobb|DavidJCobb]] ([[User talk:DavidJCobb|talk]]) 19:25, 16 August 2026 (EDT)
Summary:
Please note that all contributions to the CreationKit Wiki are considered to be released under the Creative Commons Attribution-ShareAlike (see
CreationKit:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit source
Add topic
View history
More
Search
Navigation
Landing page
Tutorials
Game Systems
Editor Reference
Scripting Reference
Recent changes
Help
Tools
What links here
Related changes
Special pages
Page information
Page values