diff --git a/src/gs-entbase/server/trigger_changelevel.qc b/src/gs-entbase/server/trigger_changelevel.qc index 9eaed7d3..b4a29ec5 100644 --- a/src/gs-entbase/server/trigger_changelevel.qc +++ b/src/gs-entbase/server/trigger_changelevel.qc @@ -136,6 +136,14 @@ trigger_changelevel::Change(void) m_activator = find(world, ::classname, "player"); } + if (m_strLandmark) { + for (entity e = world; (e = find(e, ::classname, "trigger_transition"));) { + if (e.targetname == m_strLandmark) + if (IsInside(m_activator, e) == FALSE) + return; + } + } + /* a trigger_transition may share the same targetname, thus we do this */ for (entity e = world; (e = find(e, ::classname, "info_landmark"));) { info_landmark lm = (info_landmark)e; diff --git a/src/gs-entbase/shared/NSSurfacePropEntity.qc b/src/gs-entbase/shared/NSSurfacePropEntity.qc index 65c26d5d..3a8d0687 100644 --- a/src/gs-entbase/shared/NSSurfacePropEntity.qc +++ b/src/gs-entbase/shared/NSSurfacePropEntity.qc @@ -181,7 +181,8 @@ NSSurfacePropEntity::SpawnKey(string strKey, string strValue) { switch (strKey) { case "health": - health = stof(strValue); + int h = stoi(strValue); + health = (float)h; m_oldHealth = health; break; case "propdata":