Releases
2.14.0
DrVrej
released this
25 Jan 18:40
New
New AI Updates:
Can now hear other NPCs! They now react to sounds created by other NPCs! (Works the same way as it did with players)
Attacks are now seeded!
Attacks with multiple repetitions now support different animation speeds! (Playback rate)
Humans no longer back away if the enemy is defenseless - Ex: Civilian, passive animal (Tied to behavior VJ_BEHAVIOR_PASSIVE
)
They no longer target Combine Turrets that are self-destructing
When humans are firing a secondary weapon attack, they now fire at the last hidden position
FIXED humans occasionally standing in place for 15-18 seconds after an interruption from their covered position!
Fixed when NPCs move back to open a door, they continue playing footstep sounds even though they are not moving
Fixed NPCs with leap attacks not properly aiming for the center of the enemy
Fixed humans not performing a diamond formation when moving to a hurt allies position
Fixed timer-based attacks not always properly stopping the attack when cut off by another animation
Fixed sometimes when an attack is cut off, the NPC is unable to preform that type of attack again
New Menu Changes:
Developer Menu Additions: print number of NPCs in the map, reload sounds, reload materials, reload textures, reload models, reload spawn menu
Redid the information menu, it now gives much better and important info and it's now properly organized
All clean up buttons are now controlled by a single command (vj_cleanup) and work much better in dedicated servers
Removed convars: vj_cleanup_all, vj_cleanup_snpcscorpse, vj_cleanup_snpcs, vj_cleanup_s_npcs, vj_cleanup_vjgibs, vj_cleanup_spawners, vj_cleanup_groundweapons, vj_cleanup_props, vj_cleanup_decals, vj_cleanup_playerammo, vj_cleanup_playerweapon
General Changes & Improvements
Updated muzzle flash particles for all weapons
Updated trail and explosion particles for RPG rocket, tank shell and grenade
Many optimizations were applied throughout the base and many old code has been cleaned up!
Number of Lua files has decreased by almost a dozen!
Updated and shortened the welcome message
VJ Test NPC is now admin only
General Fixes
Fixed weapons by default having secondary ammo, causing HUDs to think there is a secondary attack
Fixed tank NPCs missing a "running over" sound
Fixed a rare error appearing in multiplayer when a VJ NPC dies
Notable Developer Changes
New NPC State: VJ_STATE_ONLY_ANIMATION_NOATTACK
New NPC Weapon State: VJ_WEP_STATE_HOLSTERED
Removed the parameters stoplatestsound
, sounddsp
and added customFunc
to VJ_CreateSound
Deglobalized NPC Functions (Now only exist for VJ NPCs): self:VJ_DecideSoundPitch(), self:DecideAttackTimer(), self:VJ_PlaySequence(), self:FaceCertainPosition(), self:FaceCertainEntity(), self:VJ_SetSchedule(), self:VJ_CheckAllFourSides(), self:VJ_ForwardIsHidingZone()
SNPC Bases:
Common functions are now inside a new folder lua/vj_base
New: self:GetSightDirection(), self.CurAttackSeed
New (Humans): self:CustomOnGrenadeAttack_ThrowVelocity(grEnt, grTargetPos), self:CustomOnGrenadeAttack_SpawnPosition(), self:CustomOn_PoseParameterLookingCode(pitch, yaw, roll)
New (Creatures): self.LeapAttackAngleRadius, self.AlreadyDoneLeapAttackJump
New client function: self:MatFootStepQCEvent(data)
Revamped self:CreateGibEntity()
and self:CreateExtraDeathCorpse()
All AA move type functions have been renamed!
self:DoAddExtraAttackTimers(name, time, func)
has been completely remade
All the *_BeforeStartTimer
and *_AfterStartTimer
attack functions now have a seed
parameter
self.LeapAttackAnimationFaceEnemy
can now accept 2
which sets it to face the enemy until it jumps and is now set by default!
self:CustomOnLeapAttackVelocityCode()
can now accept true
as a return to override the default velocity code
Renamed self:VJ_GetAllPoseParameters()
to self:GetPoseParameters()
Renamed self:VJ_ReturnAngle()
to self:GetFaceAngle()
Renamed self:DoFormation_Diamond()
to self:DoGroupFormation(formType, ent, it, spacing)
Renamed self:CustomOnGrenadeAttack_BeforeThrowTime()
to self:CustomOnGrenadeAttack_BeforeStartTimer()
Renamed self.UsesBoneAngle
to self.DeathCorpseSetBoneAngles
Merged self.ExtraMeleeSoundPitch1
and self.ExtraMeleeSoundPitch2
to self.ExtraMeleeSoundPitch
Merged self.NextSoundTime_Alert1
and self.NextSoundTime_Alert2
to self.NextSoundTime_Alert
Merged self.NextSoundTime_Idle1
and self.NextSoundTime_Idle2
to self.NextSoundTime_Idle
Merged self.NextThrowGrenadeTime1
and self.NextThrowGrenadeTime2
to self.NextThrowGrenadeTime
Removed self.HasMeleeAttackDSPSound
, just set self.MeleeAttackDSPSoundType
to false
to disable it
Removed: self:AlertSoundCode(), self:DeathSoundCode(), self:BeforeRangeAttackSoundCode(), self:VJ_HasActiveWeapon(), self.LeapAttackUseCustomVelocity, self.DoneLastHiddenZone_CanWander, self.GrenadeAttackVelUp1, self.GrenadeAttackVelUp2, self.GrenadeAttackVelForward1, self.GrenadeAttackVelForward2, self.GrenadeAttackVelRight1, self.GrenadeAttackVelRight2
Projectile Base:
Merged self.NextSoundTime_Idle1
and self.NextSoundTime_Idle2
to `self.NextSoundTime_Idle
Merged self.StartupSoundPitch1
and self.StartupSoundPitch2
to `self.StartupSoundPitch
Merged self.IdleSoundPitch1
and self.IdleSoundPitch2
to `self.IdleSoundPitch
Merged self.OnCollideSoundPitch1
and self.OnCollideSoundPitch2
to `self.OnCollideSoundPitch
Merged self.OnRemoveSoundPitch1
and self.OnRemoveSoundPitch2
to `self.OnRemoveSoundPitch
Renamed self.ShakeWorldOnDeathtDuration to self.ShakeWorldOnDeathDuration
Spawner Base:
Merged self.IdleSoundPitch1
and self.IdleSoundPitch2
to `self.IdleSoundPitch
Merged self.SpawnEntitySoundPitch1
and self.SpawnEntitySoundPitch2
to `self.SpawnEntitySoundPitch
Merged self.NextSoundTime_Idle1
and self.NextSoundTime_Idle2
to `self.NextSoundTime_Idle
Weapon Base:
Added self.NPC_SecondaryFireEnt
Merged self.DryFireSoundPitch1
and self.DryFireSoundPitch2
to self.DryFireSoundPitch
Merged self.Primary.DistantSoundPitch1
and self.Primary.DistantSoundPitch2
to self.Primary.DistantSoundPitch
You can’t perform that action at this time.