Skip to content

Changelog October 3rd 2022

Vuthakral edited this page Oct 3, 2022 · 1 revision
  • Internal DRCCallGesture() -> DRC:CallGesture()
  • Internal Moved/rewrote even more old functions/code/etc from the original autorun file into the codebase itself.
  • Internal: Made DRC:CallGesture() function on anim type entities as well instead of just players.
  • Internal: Made DRC:EMP() set a NWBool for "EMPed" to true/false for the duration of the EMP which enables entities EMPed to have their own custom functionality tied to it. (User request)
  • Internal: Added function DRC:GetBaseName(entity). Returns a simple string for the base of the given entity. Currently can return: drc, astw2, tfa, arccw, mwb, lfs, and sphys. Added because I'm losing my patience having to write or copypaste long checks in my code to account for everyone's stuff. Returns nil if the given entity is not scripted or its base is not recognized by the function yet.
  • Internal: Added function DRC:Health(entity). Returns two things, the first being the given entity's health and the second being its max health if applicable. Usage example: local hp, maxhp = DRC:Health(entity). This was made because I'm tired of having to keep track of the like four different ways peoples' bases do health. Why people can't just use the standard health system I have no clue.
  • Debug: Fixed DRC:TraceDir() clientside debug render model to not happen when traceline debug rendering is turned off.
  • Debug: Changed DRC:TraceDir() debug start/end to use axis helper models instead of helicopter bombs & only made them draw for that given frame, greatly improving performance for their simplicity.
  • Debug/Menu: Added a debug setting to render lights created by the Draconic Base via DRC:DLight(). This renders their origin & radius. Accessible from the menu.
  • Debug/Menu: Added a debug setting which visualizes env_cubemap entities.
  • Debug/Menu: Sorted "Development Tools" page by "DRC Debug Tools" and "Source Debug Tools".
  • Debug/Menu: Moved "debug crosshair" dropdown to the bottom left of the "development tools" screen.
  • Debug/Menu: Added checkboxes for the following built-in debug tools in the engine:
    • Drawing portals
    • Drawing clips
    • Drawing entity messages
    • Drawing light information
    • Drawing entity render bounds
    • Drawing soundscape information
  • Menu: Updated c_arm selection code to fix the issue of the override not disabling.
  • Menu: Actually properly fixed hand addition model sorting without adding incorrect models to the "hands" category.
  • Menu: Updated credits page to have a less-space-wasting layout and use smaller fonts.
  • Menu: Added "Entropy Zero 2" to credits page, as I sampled some of their weapon foley to create the foley sounds added in this update.
  • Weapon Base: Weapons which start with drc_ in their class name are now automatically registered to the NPC weapon list. Additionally, SWEP.NPCSpawnable = true/false is now a thing. Set to false if you do not want your SWEP to appear in the NPC lists.
  • Weapon Base: Cleaned a lot of old code up & optimized older code I wrote back when I barely knew anything about lua.
  • Weapon Base: Added a check for weapon viewmodel to prevent the issue of the wrong viewmodel being set between map transitions & source tomfoolery with sendweaponanimation calls.
  • Weapon Base: Fixed & added more support for NPCs using battery-based weapons. They actually consume ammo (+ replenish to a random amount if running out), and overheat now.
  • Weapon Base: Disabled muzzle attachment warning for now due to inconsistency & amount of times of when it appears when it shouldn't.
  • Weapon Base: Added an animation call to the auto-vent code for overheat animations, so overheat animations finally loop properly.
  • Weapon Base: Fixed the ValveBiped check not functioning properly on weapons, which resulted in projectiles spawning at the player's/NPCs feet.
  • Weapon Base: Created foley sounds for a few holdtype sight ins & outs, and added code to the base to play the relevant code. This was done both to generally improve how weapons "feel" as well as sort out the problem of a lot of players not having tf2/cs:go mounted since the original generic sight in/out sounds were just referenced from them.
  • Weapon Base: Fixed an issue which resulted in secondary attacks on the melee base pulling settings from the previous attack.
  • Weapon Base/Inspection: Inspection mode now auto-sets to false when switching weapons.
  • Weapon Base/Inspection: Completely remade the inspection menu from the ground up. This sleek new menu will be developed further overtime, and currently already supports everything the old inspection menu showed and then some. The new inspection menu, on top of showing basic weapon info, also provides smaller more nitty-gritty details to the player such as:
    • The potential damage-per-second output
    • Full ammo display (i.e. x/y | Ammo InfoName (ammo pickup name)
    • Rounds-per-minute & Rounds-per-second
    • Spread range in degrees
    • Recoil gain per shot & recovery per interval rates
  • Weapon Base/Inspection: While not currently fully implemented as there is more to be done for this menu, down the line the inspection menu will feature a "Theme" system, allowing users to create their own UI themes for the inspection menu in the future. Much like VoiceSets, these will be clientside choice and server-enforcable.
  • Weapon Base/Internal: Removed DRCPlayerMelee net message and replaced its use in the gun base with DRC:CallGesture(), a change long overdue.
  • Crosshair: Made the default crosshair dynamically scale line lengths based on the weapons' handling.
  • Projectile Base: Changed how the Touch function works, preventing it from targeting the owner/entity that created the projectile. This fixes the issue of projectiles instantly colliding with their creator when using the Volt physics engine. It appears this is actually some kind of error/oversight with VPhysics that it didn't trigger there but did in Volt.
  • Projectile Base: Added ENT.RadialDamagesOwner = true/false
  • Material Proxies: Made the energy colour material proxy flicker when the entity it is applied to is dead (Health below 0.01)
  • Material Proxies: Fixed(?) an issue with SimpleWeather where disabling it in-session and having it installed still would result in the weather modifier for Draconic proxies becoming null.
  • Experimental First Person: Fixed compatibility with the Modern Warfare Base. (NOTE: MWBase crosshair is inaccurate and is not something I can fix from my end.)
  • Experimental First Person: Fixed CalcView not working when the player has no weapons at all.
  • VoiceSets: The calls in Slot1 & Slot2 (Help! & Let's go!) will now command the player squad in singleplayer, with slot2 sending the squad where the player is looking and slot1 making them return to the player. In singleplayer this will also trigger the player to play "forward" and "regroup" gestures.
  • VoiceSets: Added new secondary command for registering voicesets, DRC:RegisterVoiceSetDSPCopy(<table> VoiceSet Table, <number> DSP, <string> Subtitle). This lets you create a full copy of an existing VS with an added DSP filter. Useful for creating regular and radio-filtered or other effect versions of voices without needing to clutter your script.
  • VoiceSets: Fixed incorrect enum entry for taunts which prevented lines from working with the zombie taunt.
  • VoiceSets: Added three additional pain subcalls: Minor_Post, Medium_Post, and Major_Post. Sounds which play 1-3 seconds after the level of damage is taken. Intended to be used for exclamation lines post-injury. Has no effect if not defined. Simply use a scripted sound and apply a bunch of ""'s as the sound for dummy entries if you want to make it only a chance of playing.
  • VoiceSets: Added fall damage and fall damage post subcalls to the Pain category. These are Fall, Fall_Minor_Post, Fall_Medium_Post, and Fall_Major_Post respectively. See above note for explanation on "Post".
  • VoiceSets: Added shock damage post subcall to the Pain category. These will play instantly & override any regular pain sound. These are Shock_Minor_Post, Shock_Medium_Post, and Shock_Major_Post respectively.
  • VoiceSets: Added fire damage post subcall to the Pain category. These will play quickly into a regular pain sound, but not immediately. These are Fire_Minor_Post, Fire_Medium_Post, and Fire_Major_Post respectively.
  • VoiceSets: Added acid damage post subcall to the Pain category. These will play at a regular delay like any other post pain sound. These are Acid_Minor_Post, Acid_Medium_Post, and Acid_Major_Post respectively.
  • VoiceSets: Added radiation damage post subcall to the Pain category. These will play at a regular delay like any other post pain sound. These are Rad_Minor_Post, Rad_Medium_Post, and Rad_Major_Post respectively.
  • VoiceSets: Added plasma damage post subcall to the Pain category. These will play at a regular delay like any other post pain sound. These are Plasma_Minor_Post, Plasma_Medium_Post, and Plasma_Major_Post respectively.
  • VoiceSets: Added the ability to define entity-class-specific pain post responses. Simply list an entity's class and the sound(s) to pull for a response. Example: ["npc_zombie"] = {"vs_ez2_3650.damaged_by_zombieq"}
  • VoiceSets: Added new subcall category, Actions.
  • VoiceSets: Moved Reload sound call into the Actions category.
  • VoiceSets: Added subcall to Actions category Melee (Requires weapon base support from authors. Tell them they just have to add this: if Draconic then DRC:SpeakSentence(ply, "Actions", "Melee") end) Intended for use with vocalizations associated with melee attacks. Also called when base-game melee weaponry is swung.
  • VoiceSets: Added new subcall category, Reactions.
  • VoiceSets: Added subcall to Reactions category NoAmmo -- called when attempting to fire a weapon with an empty magazine.
  • VoiceSets: Added subcall to Reactions category Puke -- called by being under a barnacle when it dies.
  • VoiceSets: Added post-kill functionality to the Reactions category. Will be added to the wiki.
  • VoiceSets: Added new category Responses. -- Used to define reaction lines to specific characters' (entity classes) specific lines (filepath). Will be added to the wiki.
Clone this wiki locally