From e84a19865dd092dd2d34932cf8231add0ee2282c Mon Sep 17 00:00:00 2001 From: BjossiAlfreds Date: Mon, 24 Feb 2025 15:54:16 +0000 Subject: [PATCH] Fixed doors being unusable with NULL activator --- src/g_func.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/g_func.c b/src/g_func.c index 6d2f32c..0d858d6 100644 --- a/src/g_func.c +++ b/src/g_func.c @@ -2266,7 +2266,7 @@ door_use(edict_t *self, edict_t *other /* unused */, edict_t *activator) edict_t *ent; vec3_t center; - if (!self || !activator) + if (!self) { return; } @@ -3443,13 +3443,22 @@ trigger_elevator_use(edict_t *self, edict_t *other, edict_t *activator /* unused */) { edict_t *target; + edict_t *train; if (!self || !other) { return; } - if (self->movetarget->nextthink) + train = self->movetarget; + + if (!train || !train->inuse || + !train->classname || strcmp(train->classname, "func_train") != 0) + { + return; + } + + if (train->nextthink) { return; } @@ -3469,8 +3478,8 @@ trigger_elevator_use(edict_t *self, edict_t *other, return; } - self->movetarget->target_ent = target; - train_resume(self->movetarget); + train->target_ent = target; + train_resume(train); } void