Skip to content

Changelog March 14th 2022

Vuthakral edited this page Mar 15, 2022 · 1 revision
  • Global: Moved convars to their own script, and are tied to the DRC table now so they can be called properly in lua.
  • Global: Added DRC.MapInfo.NavMesh table -- pulls the whole navmesh as the map starts. Useful so people can make addons without needing to frequently pull a function which on large maps can create a noticeable hitch every time it's run. By nature of the navmesh file this cannot be reloaded with drc_reload, and the map must be fully reloaded when generating a new navmesh.
  • Global Added lua function DRC:DLight(<entity or ent index> ent, <vector> position, <Color(0-255, 0-255, 0-255, 0-1) colour, <number> size, lifetime, emissive) -- Handles the DynamicLight structure for simple uses instead of having to define a whole ass table for a basic light.
  • Global Added DRC:IsVehicle(ent) -- Returns true/false if a given entity is a vehicle. Checks for standard, LFS, and SF, Halo Base, and Mech Assault vehicles currently. If there's anything else it needs to work with just let me know.
  • Global Added DRC:ConvertUnit(<number> input, <string> output) -- Converts gmod measurements from things such as tracelines into real-world units. Example usage: DRC:ConvertUnit(175935, "m")
  • Thirdperson: Completely rewrote / overhauled this system. Used to be SWEP specific, is now a fully fleshed out camera system. More below.
  • Thirdperson: Added NWString to players "Draconic_ThirdpersonForce", which can be read internally, and be set to "On" or "Off". Just set to anything else (other than nil) for it to go back to handling itself.
  • Thirdperson / Global Added sv_drc_disable_thirdperson to server configs, for disabling Draconic's Thirdperson entirely. (Does not affect SWEPs with this setting which require it to work)
  • Thirdperson: Added cl_drc_thirdperson 0/1 which can be toggled at any time by holding your use key and pressing a key bound to +alt1. Or by just putting it into the console.
  • Weapon Base / Thirdperson: Added SWEP.ThirdpersonOffset = Vector() -- adjusts idle offset for this specific weapon.
  • Weapon Base / Thirdperson: Just a reminder entry that the forced-thirdperson variable for SWEPs is SWEP.Thirdperson = true
  • Weapon Base: Fixed function SWEP:DoCustomSecondaryAttackEvents() -- Called only when a secondary attack is valid and occurs (Does not trigger with sight toggles)
  • Weapon Base: Added function SWEP:DoCustomSecondary() -- Is called regardless of whether or not CanSecondaryAttack passes, even if secondary is disabled.
  • Weapon Base: Added function SWEP:DoCustomPrimary() -- Same as bove.
  • Weapon Base: Added SWEP.Primary/Secondary.AimAssist = true/false -- Placeholder and currently does not do anything for "aim assistance" values, and is just used for tracking-enabled projectiles at the moment.
  • Weapon Base: Added SWEP.Primary/Secondary.AimAssist_Mul = 1 -- By default, aim assist is relative to the size of the spread cone (can be viewed with the debug mode crosshair). This value can be used to increase or decrease the aim assist cone. Bullets currently do not have aim assist implemented.
  • Weapon Base: Added SWEP.Primary/Secondary.AimAssistDist = (default 1000) -- Secondary currently unimplemented. Currently only really works with projectile stuff. See above.
  • Weapon Base: Added SWEP:GetShootPos() -- returns world vector position of the "muzzle attachment" on the weapon.
  • Weapon Base: Added SWEP:GetShootAng() -- Same as above, but the angle instead.
  • Weapon Base: Added SWEP:PassToProjectile(proj) -- For custom lua usage. Pass values / run lua from the weapon to the spawned projectile entity.
  • Projectile Base: Added a fix to projectiles which previously were not reacting on contact with combine gunships / dropships / striders / hunters.
  • Projectile Base: Added a tracking method which integrates with the SWEP base. See below for more info.
  • Projectile Base: Added ENT.Tracking = true/false -- Whether or not this projectile tracks targets natively.
  • Projectile Base: Added ENT.TrackType = "Tracking", or "Guided". -- "Tracking" just follows a given entity (ENT.TrackTarget = Entity). "Guided" makes the active projectile(s) always aim towards where the player is looking, a la the Half-Life 2 RPG.
  • Projectile Base: Added ENT.TrackFraction = -- A value of 1 will give this perfect precision tracking which can sometimes be hard to avoid, where a value of 0.5 will cause it to only re-orient halfway at most. 0.25 1/4, etc. Setting to values over 1 will produce infuriatingly accurate tracking that is nigh impossible to avoid the higher you go.
  • Projectile Base: Fixed an error that could sometimes occur when hitting a breakable prop which was broken one tick sooner than processing.
  • Projectile Base: Made code for setting the creator use the new IsVehicle function from the Draconic Library, making it properly compatible with a wide variety more vehicles.
  • Projectile Base: Added a minimum clamp of 0 to the handling of the supercombine counter. It's still not 100% consistent but it works well enough for the time being until I have the time to rewrite this system interally.
  • Debug: Added a new ring to the debug crosshair which is cyan. It represents the "Aim Cone". This is used to represent the aim assist system (to be further developed.)
  • Material Proxies: Added new material proxy: drc_ScrollPitch -- Scrolls the Y axis of a vector with the entity's Eye Angle pitch. (If used on a HUD element or non-entity it just pulls the local player)
Clone this wiki locally