Marco Cawthorne
4b69949385
Server: Ensure r_meshpitch gets set to 1 on init.
2023-11-18 21:16:52 -08:00
Marco Cawthorne
fa4f77aae0
NSMonster: SetOrigin() during Respawn at least once so monsters don't die in the same spot during multiplayer respawns, inside hurt triggers or whatever.
2023-11-18 20:30:10 -08:00
Marco Cawthorne
277b453c40
Server: when skill is invalid (0) then default to 2 (medium)
2023-11-18 19:58:29 -08:00
Marco Cawthorne
faba64ad28
Menu-FN: Broadcast in Chat when a player is joining a server, and handle ACTION (/me) text output
2023-11-18 15:47:37 -08:00
Marco Cawthorne
af4212987f
Menu-FN: Make Chat Rooms and Controls accessible from other menus, keeping track of where we originated from
2023-11-18 14:34:16 -08:00
Marco Cawthorne
1ccb640ce6
Menu-FN: List ping for ICE servers correctly, View Game Info will now return to the appropriate menu
2023-11-18 14:10:24 -08:00
Marco Cawthorne
602fa9fd93
Menu-FN: Hide menu upon connecting to a server, and automatically refresh serverlist when opening the Internet Games menu
2023-11-18 14:00:42 -08:00
Marco Cawthorne
07173b3c7b
Platform: add menu debug command 'listGameLibrary' to output all the currently indexed games/mods
2023-11-18 13:31:33 -08:00
Marco Cawthorne
29e7b84e4b
NSMonster: handle the check for MSF_MULTIPLAYER inside Spawned() instead of the constructor
2023-11-18 12:09:49 -08:00
Marco Cawthorne
0cd5d0e5a7
MapCycle: Initialize g_mapCycle with mapcycle.txt, handle empty mapcycle slightly better.
2023-11-18 12:02:41 -08:00
Marco Cawthorne
22460c5aa0
BotLib: new commands - 'offset [vector]', 'flipx', 'flipy', 'flipz', 'merge [filename.way]', 'loadpb [podbotwaypoint.pwf]', 'loadrich [jumbot.jrf]', 'loadfb [foxbot.fwp]'
...
Also make the bots use the soundDef when pressing '+use'.
2023-11-17 18:58:24 -08:00
Marco Cawthorne
32f9d974bb
New commands: listClientSoundDef, listServerSoundDef
...
Merge various trigger fields from Source entities into NSTrigger
Rename default player related sounds to the Source Engine style for more parity with Half-Life 2 and later games
Various player physics code fixes, such as being unable to jump higher when pushing against solids and faster noclip speed
2023-11-17 18:54:46 -08:00
Marco Cawthorne
bf705a9e31
speaker: now shared between client/server game
...
NSTalkMonster: Remove game specific PREDISASTER flag from the code, implement GAG instead
New entities: env_cascade_light (wip), logic_achievement, env_instructor_hint (wip)
2023-11-15 09:52:11 -08:00
Marco Cawthorne
4790e9d230
NSItem: Position entity after everything else has spawned, to avoid entity lump ordering messing with droptofloor() calls
2023-11-15 00:14:06 -08:00
Marco Cawthorne
038265dd64
trigger_teleport: Special offset rules for players when choosing their final teleport destination.
2023-11-14 23:45:43 -08:00
Marco Cawthorne
801742dd4c
Platform: add MAPINFO_PREVIEW query type to MapLibrary_GetInfo() so interfaces can get a proper preview for levels.
2023-11-06 14:27:05 -08:00
Marco Cawthorne
e67d1b0da4
Server: add cvars mp_td_dmgToWarn and mp_td_dmgToKick
2023-11-06 08:46:22 -08:00
Marco Cawthorne
25cfc4938e
game_team_master/NSTrigger: GetValue() is now aware of who is querying for said information. Required for game_team_master.
2023-10-30 16:37:45 -07:00
Marco Cawthorne
d65ab07cf1
NSProjectile: revert the default setting for the various detonate modes
2023-10-29 23:25:40 -07:00
Marco Cawthorne
a6fb7767dc
Implement cycler_weapon, cycler_wreckage, game_end, game_player_hurt, game_score, game_team_master, game_team_set, game_player_team, game_zone_player
2023-10-25 00:46:04 -07:00
Marco Cawthorne
75d03f27fe
Add missing definitions for ENT_FUNNEL and ENT_SMOKER
2023-10-24 09:50:59 -07:00
Marco Cawthorne
97c2fdd778
env_smoker: Initial implementation.
2023-10-24 00:30:42 -07:00
Marco Cawthorne
01ebb973f2
env_funnel: Initial implementation.
2023-10-23 21:36:58 -07:00
Marco Cawthorne
ca04a7d637
func_platrot: Cleanup and rewrite the essential parts. Now inherits most of func_plat.
2023-10-23 14:38:02 -07:00
Marco Cawthorne
29b6a200b8
NSProjectile: Quick support for light_color/light_radius
2023-10-23 00:17:02 -07:00
Marco Cawthorne
73bec53034
PropData: read info from Source Engine .phy files
2023-10-22 23:30:31 -07:00
Marco Cawthorne
8cd6d3967d
Shared: sanity check for when decalgroups are attempted to be placed, but not available.
2023-10-18 07:47:24 -07:00
Marco Cawthorne
b7167a553e
Shared: don't mess with sound def names when precaching them.
2023-10-17 18:27:59 -07:00
Marco Cawthorne
11deea5b3d
Add the following physics entities from Source: phys_ballsocket, phys_constraint, phys_constraintsystem, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint & env_physexplosion
...
Add new class phys_rope, which will handle move_rope and keyframe_rope from Source.
2023-10-17 16:49:01 -07:00
Marco Cawthorne
81a498d49e
Client: update viewmodel bone count directly after switching models, needed for getting the right attachment positions
2023-10-13 08:23:12 -07:00
Marco Cawthorne
ab9d66b2e4
BotLib: for goals and goalitem route search, use WorldSpaceCenter() and not their origin to deal with brush triggers and non-existant origins properly
2023-10-13 08:22:31 -07:00
Marco Cawthorne
900cf43bd0
!!! Mods/games should now remove modelevent.qc and view.qc from their csprogs !!!
...
env_muzzleflash: Initial implementation of this Half-Life 2 entity
Client: model events are for viewmodels are now handled by NSRenderableEntity.
2023-10-12 14:45:27 -07:00
Marco Cawthorne
05ed789f9a
trigger_camera: Hacks that'll make it work (for now)
2023-10-11 01:05:40 -07:00
Marco Cawthorne
f96b41bc2e
NSSurfacePropEntity: Ignore view_ofs in GetEyePos() when we're a spectator.
2023-10-11 01:05:37 -07:00
Marco Cawthorne
b37afb1362
BotLib: break func_breakable entities within their path.
2023-10-11 01:05:35 -07:00
Marco Cawthorne
1bf829920f
NSRenderableEntity: Simplify RM_SOLID in RenderFXPass()
2023-10-11 01:05:34 -07:00
Marco Cawthorne
a623b1e301
NSTalkMonster: pathfinding fixes that benefit following players around the maps. More failsafes.
2023-10-11 01:05:28 -07:00
Marco Cawthorne
7d9de3a2cc
NSEntity: new method GetNearbySpot() which will return a free position close to the entity.
2023-10-11 01:05:26 -07:00
Marco Cawthorne
9602d5eac8
Client: add new cheat cvar: r_skipWorld
2023-10-11 01:05:19 -07:00
Marco Cawthorne
1d7b6fe25f
PMove: added pm_noclipSpeed and pm_noclipAccelerate cvars which serve an obvious purpose.
2023-10-11 00:39:31 -07:00
Marco Cawthorne
f183bfc571
ambient_generic: fix regression in the old style sound mechanism
2023-10-06 21:19:46 -07:00
Marco Cawthorne
a5ecd18047
env_model: Initial implementation of this SoHL entity
2023-10-06 00:21:17 -07:00
Marco Cawthorne
9896b652c8
env_shockwave: Initial implementation of this SoHL entity
2023-10-06 00:20:48 -07:00
Marco Cawthorne
818a1a2155
scripted_sequence: support for 'killtarget' key
2023-10-04 14:55:02 -07:00
Marco Cawthorne
662e01c84d
monster_generic: Set alliance to neutral.
2023-10-04 08:56:46 -07:00
Marco Cawthorne
6f3b07ed34
NSNavAI: ensure everything is properly nulled when an empty chase path target is set.
2023-10-04 08:56:21 -07:00
Marco Cawthorne
07e70aa4c4
NSMonster: disable yaw interpolation for now.
2023-10-04 08:55:53 -07:00
Marco Cawthorne
47eb4fb88f
func_tracktrain: fixes to the way the angle delta is calculated, and restore the train to a position relative to its last target post level transition.
2023-10-04 08:55:03 -07:00
Marco Cawthorne
40adc77d66
scripted_sequence: Don't call FreeStateMoved() when SS_NO is set.
2023-10-04 08:53:07 -07:00
Marco Cawthorne
b37893e660
Client: fix the typewriter text effect timing, where fadein controls the time for each character to fade in.
2023-10-04 07:55:55 -07:00
Marco Cawthorne
11797717ef
scripted_sentence: Use targets when triggered (fixes city2a in Gunman)
2023-10-04 07:55:18 -07:00
Marco Cawthorne
aadc23356d
trigger_transition: Call method TransitionComplete() onto entities when applicable.
2023-10-04 07:54:43 -07:00
Marco Cawthorne
31553d9b5c
scripted_sequence: Fix the angles being overriden when move mode NO is set.
2023-10-03 23:33:09 -07:00
Marco Cawthorne
3f0f6b2d0f
NSMonster: add new alliance type: MAL_NEUTRAL
2023-10-03 20:18:10 -07:00
Marco Cawthorne
a48498e5cf
env_glow: Fix warning.
2023-10-03 11:05:38 -07:00
Marco Cawthorne
c59a76a53d
NSMonster: add the ability to chase path_corners and things.
2023-10-03 11:05:14 -07:00
Marco Cawthorne
19d6f22dc4
NSIO: add TransitionComplete() method for easier handling of entities post level-transition.
...
NSRenderableEntity: Default renderamt to 0.
Also use Read*() methods within all of the base classes their SpawnKey() methods.
2023-10-03 11:02:47 -07:00
Marco Cawthorne
9110da2cec
trigger_once/multiple/teleport/camera, prop_rope: Save/Restore fixes
2023-10-03 11:00:28 -07:00
Marco Cawthorne
367289df84
scripted_sequence: Play animation immediately when movetype is SS_NO.
2023-10-03 10:59:25 -07:00
Marco Cawthorne
ae1f768689
path_corner: Only fire its targets when a message is actually set...
2023-10-03 10:57:20 -07:00
Marco Cawthorne
51f572378f
func_pushable: Save/Restore naming fixes
2023-10-03 10:56:36 -07:00
Marco Cawthorne
7d69ab96fc
func_door: Save m_waterType
2023-10-03 10:56:05 -07:00
Marco Cawthorne
6f2115c45f
GS-EntBase: Fix formatting in a few class definitions
2023-10-03 10:54:49 -07:00
Marco Cawthorne
530f25667b
func_smokevolume: fix warning in predraw.
2023-10-03 10:52:22 -07:00
Marco Cawthorne
c531efaaf9
func_dustcloud: Fix warning in predraw.
2023-10-03 10:52:08 -07:00
Marco Cawthorne
c1d6324153
VGUI: Redo the way input is handled, address focus changes between Windows etc.
2023-10-01 01:19:20 -07:00
Marco Cawthorne
5c5eedb665
NSGameRules: add method 'Title' which returns the print name for a given gamerule.
2023-09-29 16:10:21 -07:00
Marco Cawthorne
70bb77d2bb
trigger_changelevel/logic_auto: avoid use of the 'readcmd' builtin.
2023-09-28 23:25:26 -07:00
Marco Cawthorne
2fb002aab1
NSPhysicsEntity: Create identifier .isPhysics unique to physics based entities
2023-09-28 18:43:22 -07:00
Marco Cawthorne
ee820f3ed1
logic_case: Initial implementation, missing from last commit.
2023-09-28 18:41:15 -07:00
Marco Cawthorne
4b36ec3bb0
trigger_transition: Handle the carrying-over of entity information based on 'globalname'.
2023-09-28 18:40:06 -07:00
Marco Cawthorne
f76c169671
NSTrigger: read 'globalname' key, used for level transitions.
2023-09-28 18:38:16 -07:00
Marco Cawthorne
7d37cc228c
NSMoverEntity: fix mistake that prevents spawn values from being read properly
2023-09-28 18:37:08 -07:00
Marco Cawthorne
7420df0ec6
worldspawn: set 'gametitle' serverinfo when applicable
2023-09-27 14:07:08 -07:00
Marco Cawthorne
2dbfeb06b6
env_fade: fix bogus reading of key names in SpawnKey()
2023-09-27 13:31:50 -07:00
Marco Cawthorne
3d92491e54
NSMonster/NSTalkMonster: update bone count on the client whenever the modelindex changed.
2023-09-27 13:08:39 -07:00
Marco Cawthorne
9d6133054c
NSRenderableEntity: add inputs SetAnimation and SetBodyInGroup
2023-09-27 13:07:53 -07:00
Marco Cawthorne
4dcaefe368
trigger_changelevel: extra checks for funky behaviour
2023-09-27 13:03:03 -07:00
Marco Cawthorne
cd8825c02a
ambient_generic: quick and dirty soundDef support
2023-09-27 13:02:04 -07:00
Marco Cawthorne
4ec4877360
Server: add new server command 'spawndef'.
2023-09-27 13:01:30 -07:00
Marco Cawthorne
abea931460
trigger_once/multiple/teleport: Support for Source Engine game specific trigger filters
2023-09-27 13:00:46 -07:00
Marco Cawthorne
3ea74c3c3d
logic_auto/logic_relay/logic_timer: add some QUAKED comments
2023-09-27 12:59:41 -07:00
Marco Cawthorne
a4693ff0f8
item_generic: add missing Save/Restore method declarations inside the class
2023-09-27 12:59:15 -07:00
Marco Cawthorne
91519b2706
func_tracktrain: Fix them automatically starting up. Differentiate between GoldSrc and Source engine spawnflags.
2023-09-27 12:58:51 -07:00
Marco Cawthorne
854c5907a6
NSTrigger: add method CanBeTriggeredBy() which filters out various entity types.
2023-09-27 12:57:25 -07:00
Marco Cawthorne
e820e74dbc
logic_relay: Initial implementation of this Source SDK entity.
2023-09-27 00:32:16 -07:00
Marco Cawthorne
e8a64da700
logic_timer: Initial implementation of this Source SDK entity
2023-09-27 00:30:13 -07:00
Marco Cawthorne
5b52c57a56
NSIO: new method CheckOutput(string), which will see if a given Output is ready to fire again.
2023-09-27 00:25:25 -07:00
Marco Cawthorne
9518a23f03
NSIO: Prevent firing an output when no activator is set
2023-09-27 00:14:44 -07:00
Marco Cawthorne
d7ddfc1c87
SoundDef: add helper function int Sound_GetID(string)
2023-09-27 00:12:28 -07:00
Marco Cawthorne
49408b1342
NSMoverEntity: add 'movedir' key support for Source Engine based maps
2023-09-26 22:24:13 -07:00
Marco Cawthorne
01a7ffa56f
SoundDef: Parse 'scripts/game_sounds_manifest.txt' if present
2023-09-25 16:44:56 -07:00
Marco Cawthorne
33179a555d
Server: add `sv input [INPUTNAME] [DATA]` command to debug I/O system
2023-09-25 16:12:32 -07:00
Marco Cawthorne
d749241081
func_monsterclip: Initial implementation
2023-09-22 17:08:02 -07:00
Marco Cawthorne
0be11bd948
NSMonster: call setorigin_safe after DropToFloor to get entities out the ground, if they're stuck in it (of1a1)
2023-09-22 16:34:08 -07:00
Marco Cawthorne
a91122ccbe
item_generic: initial implementation of this Opposing Force entity
2023-09-22 16:21:40 -07:00
Marco Cawthorne
e1fd04de05
trigger_once: spawnflag TO_PUSHABLES should also affect other func_ entities, it appears.
2023-09-22 16:21:01 -07:00
Marco Cawthorne
b50b803b55
scripted_sequence: Only .ReleaseThink() when we're actually moving the entity...
2023-09-22 14:45:02 -07:00
Marco Cawthorne
6298688e05
worldspawn: Change the way worldspawn keys are read, and shared with the client.
...
Avoiding the need to read the world on the client-side altogether.
2023-09-22 14:39:45 -07:00
Marco Cawthorne
069557f350
func_wall/func_illusionary: get rid of this optimisation that messes with odd world data
2023-09-22 14:38:52 -07:00
Marco Cawthorne
a90296864b
scripted_sequence: Call .ReleaseThink() before moving monster within InitIdle()
2023-09-22 14:37:43 -07:00
Marco Cawthorne
4f699aae6e
Monster spawning position and scripted sequence fixes. Also leave movetype of LEAVECORPSE scripted sequence entities alone or else it breaks of1a1's G-Man
2023-09-20 22:42:11 -07:00
Marco Cawthorne
5f7ea594b8
scripted_sequence & NSMonster: support for spawnflags LEAVECORPSE. Also safely position monsters upon spawning to avoid them getting stuck in the floor.
2023-09-20 20:54:13 -07:00
Marco Cawthorne
f5308f6e08
env_beam/env_laser: Add ::RendererRestarted to fix textures upon video memory refreshes
2023-09-20 20:53:13 -07:00
Marco Cawthorne
a1500166be
NSEntity: add method ::Relink()
2023-09-20 20:50:54 -07:00
Marco Cawthorne
65400fea2c
scripted_sequence: DropToFloor() after teleporting, and also only teleport in ::InitIdle when move mode is not 0
2023-09-20 20:08:08 -07:00
Marco Cawthorne
c314e880fd
Client: Fix the parameter order on a few classes' ReceiveEntity methods
2023-09-20 15:40:13 -07:00
Marco Cawthorne
724523ce2c
Server: Increase ENTITYDEF_MAX to 256
2023-09-20 15:10:49 -07:00
Marco Cawthorne
4a8df93395
PropData: debris/gibs can now create decals upon impact with a surface
2023-09-20 15:10:29 -07:00
Marco Cawthorne
d9d3220833
NSRenderableEntity: various tweaks to networking, env_glow
2023-09-20 15:09:23 -07:00
Marco Cawthorne
b7126fbadb
env_glow: from client-side only entity to shared. also support other rendermodes (accurate to GoldSrc)
2023-09-19 23:01:59 -07:00
Marco Cawthorne
e44f56a56d
func_areaportal: Make work on Source Engine BSP by shoving the "portalnumber" key into .style
2023-09-18 19:37:36 -07:00
Marco Cawthorne
c3f5e7a1c2
NSPhysicsEntity: move .geomtype into ODE ifdef
2023-09-18 19:36:15 -07:00
Marco Cawthorne
c920dc2df0
NSMonster: add spawn key 'reserve_ammo', which should be self explanatory. See docs otherwise.
2023-09-18 17:57:47 -07:00
Marco Cawthorne
c8d29078da
NSMonster: Add 'dead' boolean spawn key. Will decide if the monster starts 'dead'
2023-09-18 15:51:35 -07:00
Marco Cawthorne
c71daa033e
NSTalkMonster: add detailed class documentation
2023-09-18 15:35:05 -07:00
Marco Cawthorne
4f35c7b6bf
NSMonster: Explicitly reset animation time before attack acts happen, add class documentation
2023-09-18 15:34:44 -07:00
Marco Cawthorne
9d29ad6635
point_spotlight: Optimize viewing angle alpha code a little bit
2023-09-13 12:32:51 -07:00
Marco Cawthorne
8150f0c080
env_steam: fix typo
2023-09-13 10:40:01 -07:00
Marco Cawthorne
5db3db539a
Client/Server: Handle 'skyname' universally and guess on the client whether we're using a Source Engine style skybox path
2023-09-13 07:56:11 -07:00
Marco Cawthorne
b77ec906f6
env_steam: initial implementation of this Half-Life 2 entity.
2023-09-13 00:29:31 -07:00
Marco Cawthorne
5f070fa8c9
point_spotlight: give it a better texture (thanks Maxwell) and optimize some bits
2023-09-12 19:39:51 -07:00
Marco Cawthorne
54b73b3386
func_wall: add small alias to make func_reflective_glass entities show up
2023-09-12 15:59:04 -07:00
Marco Cawthorne
6957ff67b7
func_monitor: Network code cleanup
2023-09-12 15:58:40 -07:00
Marco Cawthorne
62426ba5d3
point_servercommand: initial implementation of this Half-Life 2 entity
2023-09-12 15:03:41 -07:00
Marco Cawthorne
59748adf86
point_spotlight: initial implementation of this Half-Life 2 entity; also fix env_projectedtexture, func_dustmotes and func_smokevolume not rendering
2023-09-12 15:00:56 -07:00
Marco Cawthorne
f1141d3b11
Menu-FN: Throw up a panel for when you get disconnect from a server for one reason or another
2023-09-01 12:34:20 -07:00
Marco Cawthorne
b7346e6593
Menu-FN: main buttons are now cut-up into different segments, using fallback text when using shorter btns_main files (like in older releases)
2023-08-31 15:40:05 -07:00
Marco Cawthorne
0dc3f19b1a
Menu-FN: Added the slightly buggy 'View game info' function. I now need to write a cache for the server entries, because the engine might clear its own cache by the time we want to display entries.
2023-08-23 08:21:53 -07:00
Marco Cawthorne
ae8c2f16ba
Platform: refresh update strings more often while they're pending state changes.
2023-08-21 08:53:01 -07:00
Marco Cawthorne
9871e93a10
Platform: Documentation improvements.
2023-08-21 08:39:54 -07:00
Marco Cawthorne
061cdbd257
Platform/Menu-FN: Move map library loading into platform/ to keep things simple for menu modules
2023-08-19 10:28:36 -07:00
Marco Cawthorne
412c8f984e
Platform/Menu-FN: Overhaul of game update handling. New Nuclide specific API to query update package states that avoids string comparisons and much more.
2023-08-18 17:49:10 -07:00
Marco Cawthorne
8422ddd26b
Menu-FN: Avoid poking the games[] struct directly
2023-08-16 21:27:37 -07:00
Marco Cawthorne
2576f803cd
Menu-FN/Platform: Move all the custom game parsing/install code into platform/, also clean up a bunch of routines in there
2023-08-16 15:28:41 -07:00
Marco Cawthorne
050db32a81
Platform: Improve the recommended package selection code
2023-08-15 15:00:48 -07:00
Marco Cawthorne
410e3fc34e
Menu-FN: Adjustments to the Updates menu, move code into platform/updates.{h,qc}
2023-08-15 14:24:46 -07:00
Marco Cawthorne
60128c6b1e
Server: add "Cheaters Lament", a proof of concept detection mechanism for suspicious player behaviour
2023-08-07 13:14:49 -07:00
Marco Cawthorne
0ea41d9304
Platform: functions Master_GetInternetServers() and Master_GetLANServers() return cached values now to avoid the engine touching the cache which may drop servers.
2023-08-07 12:54:55 -07:00
Marco Cawthorne
0bf9374016
SoundDef: implement `pointparticle` key, so that particle calls can happen within sound defs (lowering networking footprint further)
2023-08-07 12:53:47 -07:00
Marco Cawthorne
83202a6174
NSMonster: add spawn key "leap_damage", to define the sort of damage the monster can apply when leaping towards you.
2023-07-30 08:12:56 -07:00
Marco Cawthorne
571ef536a1
NSProjectile: add spawn key "decal_detonate" which can spawn a DecalGroup definition upon detonation.
2023-07-29 18:45:36 -07:00
Marco Cawthorne
35b427b84d
NSTalkMonster: bone controller for head turning is handled server-side now, so remove this code in predraw.
2023-07-29 18:20:19 -07:00
Marco Cawthorne
762d1667d0
NSProjectile: Fix how fuseOffset was applied in Launch()
2023-07-29 18:16:57 -07:00
Marco Cawthorne
c9bd1eb514
NSRenderableEntity: Fix frame1time not being evaluated for networking
2023-07-29 18:00:42 -07:00
Marco Cawthorne
f93f79e18c
NSProjectile: Respond to Trigger()
2023-07-27 23:47:22 -07:00
Marco Cawthorne
9a1f5e3af1
NSProjectile: Respect 'offset' spawn key.
2023-07-27 23:19:48 -07:00
Marco Cawthorne
2656593203
NSRenderableEntity: Respect traileffectnum only when a previous position is known
2023-07-27 23:19:24 -07:00
Marco Cawthorne
183d343701
NSProjectile: respect 'frame' and add new boolean spawn key 'inherit_velocity'
2023-07-27 14:14:30 -07:00
Marco Cawthorne
f1e47f9ea4
NSProjectile: SpawnDef/SpawnDefAtPosition/SpawnDefAttachment will now return the resulting NSProjectile
2023-07-27 13:44:28 -07:00