Many Quoth monsters have been rebalanced to increase the contrast between nightmare skill and other difficulties.
Enraged Droles are easier to juke while charging, and have slower missiles (outside of nightmare).
Edie’s nail attack duration has been adjusted and takes player range into account.
Defender shotgun blasts experience more falloff at long range.
Change to Gug earthquake prevents player being attacked in a way that precludes reprisal.
Scourge’s custom attack AI has been restored.
The interaction between the Trinity and the Quad has been revised. Quad gives +300% base damage and Trinity +200% on nail weapons, which now add to give +500% damage, or effectively x6 damage when both are active. Still good, no longer excessive.
Quoth 2.2 adds SDA-style precise exit time printed in the console.
A new config file called quoth.cfg is supported. This lets you keep your autoexec.cfg from ID1 and then add to or override it in the new file.
The scratch1 cvar allows players to override the map’s model optimisation settings. Setting “scratch1 1” turns all model optimisations off – set this if you know you are using an engine where the model limit is high enough to not worry/network performance is not a concern. Setting “scratch1 2” forces all model optimisations on, which can be useful for testing, or if running a map which breaks model limits in an old engine.
Another flag has been added to developer: developer 8 causes all target->targetname interactions to be logged to console. This can help diagnose issues with events failing to trigger.
The mod comes packaged with launcher.bat, which lets you install and run a custom map just by dropping a pak file on it.
Doors, Buttons, Platforms and
trigger_push support overriding sounds.
Doors and Platforms with external models now spawn triggers and link correctly.
Two new point classes have been added:
info_logic_inopen These operate like
trigger_relay, but first test whether they are within a solid object and only/never fire if so. These entities are intended primarily for creating logic gates with, and are best paired with
info_logic_random operates like a
trigger_relay which only activates some percentage of the time. It can also be used to select between two events to trigger at random.
info_gug_seismometer allows mappers to have events which are triggered by nearby gug quake attacks, such as rubble falling.
mapobject_waterfall class has been added. This entity goes further than a standard mapobject as the waterfall effect can be triggered on and off, with accompanying sound effect.
A new class called
ambient_triggered extends the idea of
ambient_driveshaft to arbitrary sounds.
info_command and related entities now terminate commands with “\n” by default to eliminate a common class of bugs in maps. A new spawnflag DO_NOT_TERMINATE=8 has been added to these entities to opt-out of the automatic termination in the rare cases this would be necessary.
info_trap class has been extended to function without a target set. In this case it simply fires in the direction of the entity’s angles.
play_sound... classes now support a “target” field. This makes the sound originate from the entity with a matching targetname.
Some rubble templates set non-zero defaults on numeric fields. Since unset fields are assigned 0 on spawn, this meant it was impossible to override these defaults with an explicit zero value. These templates now treat any negative value as being zero, allowing mappers to override defaults with 0.
Marsh light colour can be set with the frame key for map editors which dislike color as a key name.
Default size for point triggers without mangle specified is reduced to ‘8 8 8’ as this minimises conflicts with vanilla Quake maps.
Extra developer messages have been added, among them are warnings for mismatched spawnflags, missing values on
func_ladder entities and wrongly configured
info_command type entities.
Previous versions of Quoth added features to the
path_corner entity, but these new features changed the way existing
path_corner entities behaved. This broke some vanilla maps, so Quoth 2.2 has made changes.
Two distinct classes are available in Quoth to make explicit which behaviour a mapper desires:
path_corner_contact behaves exactly like
path_corner does in ID1 quake, monsters head to the next path corner as soon as they make contact with their current target. No waiting, no angles.
path_corner_precise supports all the Quoth features like “wait” and “angles”, and monsters have to line up with its precisely before going for the next one.
path_corner could be from a classic map, where the former behaviour is expected, or from a Quoth map pre-dating 2.2 where the latter was default. Quoth will attempt to detect if any of the Quoth
path_corner features are used. Until it detects their use,
path_corner is treated as
path_corner_contact. Once the Quoth features are needed this behaviour is reversed.
Bugfixes and tweaks
Quoth 2.2 includes fixes for many bugs. Among them:
- Leaping monsters can no longer inflict an “instakill”.
- Killing a player with the hammer/plasma gun now prints an obituary.
- Grenades do a minimum amount of contact damage to monster they strike, which avoids issues with very large monsters.
- Save games now track the version they were saved under, to warn players when they load a game that’s no longer compatible.
- Fixed error in SUB_NormalizeAngles which caused some rotating entities to spin round “the long way”.
- func_door_button recovers from parent door being blocked.
- Fixed bug where mangle key on mapobject entities was treated as unset if the _x component was zero.
- Fixed regression where multispawn monsters are not woken up.
- Fixed issue where gaunts would ignore players on ladders.
- Fixed gaunt telefrag bug in some engines relating to takedamage being set early.
- Resolved crashes where long chains of triggered entities overflowed the stack in Quoth but not vanilla Quake.
- Workaround for conflict between flashlight meter and obituaries in some engines.
- Engines that advertise .alpha explicitly get alpha-faded corpses.
- Sinking monsters detect cases where they will be visible emerging into room below.
- Fixed rare bug where a monster spawns as a frozen statue.
- Fixed erroneous precache for eliminator when head optimisation is turned on.
- Flashlights in backpacks deliver the correct amount of charge when collected.
- More inert entities are removed after spawn.
- Fixed bug where monsters repeatedly woke if player died during the delay to trigger the monster.
light_globecan now be made dynamic.
info_command_spawncommands are run for coop players at the moment they connect.
- Cross of deflection now supports respawning.
- Rubble uses an alpha fade.
- play_sound defaults have been set to more sensible values.
- info_trap projectiles now default to lifetime of 3 seconds.
- Fixed cases where func_train was spawning late and causing compatibility issues.
- Fixed issue where some platforms tried to play uncached sounds.
trigger_laddercopes better with not having an angle set.
- Rogue trigger detection is less aggressive for better compatibility with classic Quake maps.