Decay: Solo Mission support #4

Open
opened 2026-05-11 05:45:00 +00:00 by AmbientImpact · 2 comments
AmbientImpact commented 2026-05-11 05:45:00 +00:00 (Migrated from codeberg.org)

This is mostly working after fixing a few issues and converting entities. There are still some blockers; descriptions TBD but scroll down and read through comments.

Remaining issues


Older content/discussion

In theory this should be possible given that Featureful supports Keller and Rosenberg. So far I'm able to load the first map and run all the way to where Keller and Rosenberg are supposed to show up, but nothing happens:

20260511013320_1

Running around with developer 2, I'm seeing that the map is expecting monster_keller but the SDK is providing Keller via monster_wheelchair which may be the main issue:

Can't init monster_keller

Firing: scripted_sequence (dk_greetz, USE_TOGGLE, called by 'trigger_once', activated by 'player')
Firing: func_door (dk_greetz, USE_TOGGLE, called by 'trigger_once', activated by 'player')
script "dk_greetz" can't find monster "wheels" (nonexistent or out of range)

The best solution here may be to export the entities, replace any instances of monster_keller with monster_wheelchair, then import them and try again. See #3.

Links

This is mostly working after fixing a few issues and converting entities. There are still some blockers; descriptions TBD but scroll down and read through comments. # Remaining issues - [ ] Fix unexpected crash going from `c2m3` to `c3m1`. - [ ] Convert all `multi_kill_manager` to `multi_manager` with `#kill` entries; see https://github.com/FreeSlave/halflife-featureful/issues/49#issuecomment-4919338078 ---- # Older content/discussion In theory this should be possible given that Featureful supports Keller and Rosenberg. So far I'm able to load the first map and run all the way to where Keller and Rosenberg are supposed to show up, but nothing happens: ![20260511013320_1](/attachments/8e7722fc-d7f9-47a0-8141-38aca0d8118d) Running around with `developer 2`, I'm seeing that the map is expecting `monster_keller` but the SDK is providing Keller via [`monster_wheelchair`](https://freeslave.github.io/halflife-featureful/docs/entity-guide/entities/monster_wheelchair/) which may be the main issue: ``` Can't init monster_keller Firing: scripted_sequence (dk_greetz, USE_TOGGLE, called by 'trigger_once', activated by 'player') Firing: func_door (dk_greetz, USE_TOGGLE, called by 'trigger_once', activated by 'player') script "dk_greetz" can't find monster "wheels" (nonexistent or out of range) ``` The best solution here may be to export the entities, replace any instances of `monster_keller` with `monster_wheelchair`, then import them and try again. See #3. # Links - https://freeslave.github.io/halflife-featureful/docs/configuration/entity-templates/
AmbientImpact commented 2026-05-12 05:55:44 +00:00 (Migrated from codeberg.org)

Update: replacing the entity did the trick and I was able to get all the way to the hazard course firing range and then to the elevator you have to manually crank. Some additional issues have cropped up however:

  1. After the resonance cascade, when you go back to the control room, Keller is in an unexpected location and oriented in the wrong direction relative to Rosenberg.
  2. Alien warps don't seem to trigger correctly. The visual effect plays, but no sound plays and no alien is spawned.
  3. Required using noclip and moving up to the firing range bridge to trigger it to fall.
  4. I was able to crank the elevator with Rosenberg to the top, but then the vent on top of the elevator didn't open and noclipping into the elevator didn't trigger anything - elevator interior wasn't rendered and Rosenberg was in his braced position floating in the air.
Update: replacing the entity did the trick and I was able to get all the way to the hazard course firing range and then to the elevator you have to manually crank. Some additional issues have cropped up however: 1. After the resonance cascade, when you go back to the control room, Keller is in an unexpected location and oriented in the wrong direction relative to Rosenberg. 2. Alien warps don't seem to trigger correctly. The visual effect plays, but no sound plays and no alien is spawned. * Sound can be fixed by ~~copying `sound/debris/alien_teleport.wav` from the sample Featureful mod~~ or rather setting `alien_teleport_sound false` in `featureful_server.cfg`. * Why aliens are not spawned is another issue that may need more investigation. * Tried copying `warpball.json` from the sample mod, didn't fix it. https://freeslave.github.io/halflife-featureful/docs/configuration/warpball-templates/ * https://twhl.info/wiki/page/env_warpball_%28Half-Life%3A_Blue-Shift%29 3. Required using `noclip` and moving up to the firing range bridge to trigger it to fall. 4. I was able to crank the elevator with Rosenberg to the top, but then the vent on top of the elevator didn't open and `noclip`ping into the elevator didn't trigger anything - elevator interior wasn't rendered and Rosenberg was in his braced position floating in the air.
AmbientImpact commented 2026-05-23 10:34:01 +00:00 (Migrated from codeberg.org)

Tested another hypothesis for why the env_warpballs aren't producing monsters: tried to edit the origin of one of them to be higher above the floor in case that was preventing the monster spawn but all it did was play the effects at the new location without a monster spawn.

After taking a look at the Blue Shift maps compared to the Decay maps, I've noted these differences:

Decay maps have the trigger point directly to the env_warpball, which is what defines what monster it spawns. In Blue Shift, the trigger points to a multi_manager, which then points to both a monstermaker and an env_warpball; in this case, the monstermaker defines the monster to spawn, not the env_warpball.

Visually speaking, this is Decay:

    graph TD;
    A(trigger)-->B[env_warpball];

Whereas Blue Shift has:

    graph TD;
    A(trigger)-->B[multi_manager];
    B-->C[monstermaker];
    B-->D[env_warpball];

Most likely, Featureful only supports the Blue Shift pattern, so we're going to have to work out a process to update the entities via lazyripent, either in a way that updates an arbitrary number of instances, or failing that, a manual approach in newbspguy and then writing each instance in a rule; the former method would be ideal, since they're all just entities that we can access the properties of (targets, origins, etc.).

Tested another hypothesis for why the [`env_warpball`](https://twhl.info/wiki/page/env_warpball_%28Half-Life%3A_Blue-Shift%29)s aren't producing monsters: tried to edit the origin of one of them to be higher above the floor in case that was preventing the monster spawn but all it did was play the effects at the new location without a monster spawn. After taking a look at the Blue Shift maps compared to the Decay maps, I've noted these differences: Decay maps have the trigger point directly to the `env_warpball`, which is what defines what monster it spawns. In Blue Shift, the trigger points to a [`multi_manager`](https://twhl.info/wiki/page/multi_manager), which then points to both a [`monstermaker`](https://twhl.info/wiki/page/monstermaker) and an `env_warpball`; in this case, the `monstermaker` defines the monster to spawn, not the `env_warpball`. Visually speaking, this is Decay: ```mermaid graph TD; A(trigger)-->B[env_warpball]; ``` Whereas Blue Shift has: ```mermaid graph TD; A(trigger)-->B[multi_manager]; B-->C[monstermaker]; B-->D[env_warpball]; ``` Most likely, Featureful only supports the Blue Shift pattern, so we're going to have to work out a process to update the entities via lazyripent, either in a way that updates an arbitrary number of instances, or failing that, a manual approach in newbspguy and then writing each instance in a rule; the former method would be ideal, since they're all just entities that we can access the properties of (targets, origins, etc.).
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
unforeseen-consequences/featureful-campaigns#4
No description provided.