Releases: kiedtl/roguelike
v1.0.11 (RC 2)
Fixes:
- Fix: don't eat items if trying to put it into a full pack
- Fix: Laboratory mapgen stuck in infinite loop when unable to place monsters
- Fix: some edge cases where rings aren't spawned on levels.
Changes:
- Reduce HP of goblin prisoner and remove weapons/armor.
- Rationale: Goblin prisoners could literally 1v1 a spark mage squad and win.
- Buf player's HP (14 -> 20).
- Give sentinels and guards reaching weapons, and give patrols ordinary
bludgeons.- Rationale: Having a group of 3 monsters with reaching weapons descending on
you at once is a bit mean.
- Rationale: Having a group of 3 monsters with reaching weapons descending on
- Remove destroyers, and only place executioners in the mid-to-late game.
- Rationale: executioners are just far too strong to put on -8/Prison, and we
don't really need an enhanced version of them for later floors.
- Rationale: executioners are just far too strong to put on -8/Prison, and we
- Reduce most monster's FOV reach (from 5 -> 4).
- Don't spawn iron wasps from Laboratory/1.
- Rationale: a pack of speedy, disorientation-inducing monsters that do 2
damage each turn (due to extra speed) is too much for such a low floor.
- Rationale: a pack of speedy, disorientation-inducing monsters that do 2
Additions:
- Lunge now confers Fear for 7 turns.
- Rationale: previously Lunge was essentially useless, and you'd nearly
always want to use Charge instead.
- Rationale: previously Lunge was essentially useless, and you'd nearly
- Rework the ring of extermination -> distraction, and add amnesia status
effect- Rationale: the ring of extermination was quite difficult to use, required a
space between you and foe and also requiring that you line up enemies for
maximum effect, which was just too hard. Instead, the ring of distraction
does an AoE effect that confersamnesia
, which forces all affected
monsters to forget about your presence (even if you walk right in front of
them).
- Rationale: the ring of extermination was quite difficult to use, required a
v1.0.10 (RC 1)
Additions:
- Eyepunch pattern movement was added.
Changes:
- Add potions to starting area
- Investigating mobs no longer rest intermittently while traveling to noise
- Stabs now make a small amount of noise.
- Sound radii was tweaked for the umpteenth time.
- Enraged status no longer gives speed boost.
- Corruption no longer causes you to take extra damage from undead.
- The ring of damnation now does 1 initial damage to targets.
- Burning brute's fireballs now deal 3 initial damage.
- The ring of teleportation's pattern was revamped to be similar to the old counterattack pattern.
- Ring of electrocution:
- Now deals 3 damage (instead of 2).
- Also generates a loud noise (previously no noise was created).
- Explosions of all kinds (potion of decimation, etc) now deal a flat 3 damage.
- Explosions now have a simple blink animation, similar to DCSS.
- Monster HP's were reduced across the board.
- Statues now only attack if you're in a cardinal direction relative to them.
- Stalker stations:
- Now only spawn up to 3 stalkers.
- Stalkers won't attack if there's more than one enemy in view.
- Slightly flatten map dimensions
- Formulas for electric propagation were tweaked slightly.
- Game no longer crashes for certain small bugs, instead opting to apply a fix and continue.
- Fewer items are added into chests.
- The game no longer crashes when rummaging a chest(!)
- Shriekers and watchers no longer have extra speed.
- Lunge pattern now does triple damage instead of double damage.
- Guards now investigate noises more competently.
Removals:
- The counterattack pattern was removed in favor of
eyepunch
.
Fixes:
- Fix: when choosing direction for the ring of damnation, choose the direction to go near the wall, not the other way around
- Fix: Tiles that used a sprite showing up as a blank (black) tile in map memory
- Fix: crash when monster dies on its own turn (e.g. via Spikes backlash)
- Fix: closed melee effect accidentally assigned open melee effect
v1.0.9
v1.0.8
-
Additions:
- SDL/tile display
-
Changes:
- Statues are now much more dangerous, attacking even if there are no nearby
allies that are aware of you. - Mapgen will now refuse to connect rooms if their neighbors are connected to
that room, reducing excessive looping. - Desaturate color of copper ground to make it less red, to disambiguate it
from floor that is in a guard's view (which is colored red). - Clear linked FOV's when ascending (i.e. stalkers).
- Statues are now much more dangerous, attacking even if there are no nearby
v1.0.7
(Note: this includes changes for Aug 6-12 as well as last week.)
Internal changes:
- Mob's HP is now represented internally as an integer.
- Rewrite bits of UI to use subconsole architecture.
Fixes:
- Don't spam death squads when coroner checks multiple corpses
- Statues ignoring all enemies instead of the opposite
- Incendiary potions doing nothing when thrown
Changes:
- Wait until fire is going out before destroying terrain
- Rename confusion effect to disorientation
- Buf disorientation (diagonal attacks are no longer prohibited)
- Poisoned items changed to disorient effect (javelins, iron wasps)
- Remove poison effect
- Monsters that inflicted poison (javelineers, iron wasps, etc) now inflict
disorientation.
- Monsters that inflicted poison (javelineers, iron wasps, etc) now inflict
- Overhaul of Pain effect
- Instead of moving randomly when resting, prohibit resting at all for
player
- Instead of moving randomly when resting, prohibit resting at all for
- Tweak mob speeds to make their movements more predictable
- Some monsters got a buf, others got sharp nerfs as a result of this
changes. Will need a few weeks of playtesting to sort this all out...
- Some monsters got a buf, others got sharp nerfs as a result of this
Additions:
- Add 'M' screen to view past messages
- Add loading screen
v1.0.6
Changes:
- Make statue's spells more dangerous (effects are more pronounced and last longer)
- Increase chance of corruption from 10% to 33%
- Increase spawn rate of defenders across middle-late game, and make more rare in Lab
- Willpower tweaks (to make Torment Undead viable):
- Decrease willpower of undeads (to make Torment Undead viable)
- Decrease willpower penalty of Corruption to 1 (from 2) (to make Torment
Undead viable) - Allow overpowering will if both willpower values are the same
- List flee-trigger effect in Examine mode when examining monster
Additions:
- Auxiliary items:
- Miner's map (Echolocation)
- Orb of Wolfram (rElec)
- Dispel Undead (Torment Undead)
- Buckler, Spiked Buckler
- Detect Heat
- Detect Elec
- Spikes mechanic
- Spiked buckler
- Spiked leather armor
- Cloak of thorns
- Monsters: hunters and stalkers
- Stalker Stations to get allied stalkers
- Alerts and coroners
v1.0.5
Underlying changes:
- Level data, including stairs info, is now loaded from a data file (data/levelinfo.tsv)
- zig-sentry: fix OS tag
- Add RL_NO_SENTRY environment variable to disable crash-reporting
Nerfs:
- Reduce executioner's and destroyers HP (10 -> 7, 12 -> 8)
- Nerf bone rats (60% hit -> 50% hit)
- Nerf bone mages:
- 50% hit -> 40% hit
- appears with fewer bone rats (1-2 instead of 2-3)
- Nerf flamethrower:
- Ignite only a single tile instead of creating a 3-tile fiery explosion.
- 4 charges -> 3 charges
- 7 max distance -> 4 max distance
Additions:
- Add morale system (for intimidation potion)
- Players won't notice too much of a change, except that mobs will now take
into account their allies' condition (status effects, health, etc) as well as
their own (and their enemies') when deciding whether to flee.
- Players won't notice too much of a change, except that mobs will now take
- Add potion of intimidation
- Add potion of leavenation
- Add capacitor arrays
- Add thrashing sculptor
- Needs playtesting.
- Add brazier wand
- Add leap pattern (given by default)
- New animations, stolen from TGGW:
- On picking up item
- On rummaging through chests
- When prompted for confirmation (flashing '?' around player)
- On discarding a useless item
- Loot containers
- Containers that might contain loot are placed around dungeon
- Shown with a golden color if it might contain loot and isn't empty
- Bumping into them spills contents for inspection
- Sometimes containers will only contain useless items (hammers instead of
weapons, socks and undershirts instead of armor, alcohol instead of potions).- Moving over these items automatically discards them.
- Risk vs reward situation when deciding whether to visit a room with
containers.- Amplified because Oathbreaker is a stealth-based game.
Fixes:
- AI: mobs only shout for help when fleeing if they're on the Necromancer's side
- No point in shouting for help if it'll only draw more enemies!
- Print message when swapping weapons.
- Don't attack with backup weapon.
- Make undead and constructs immune to various status effects (e.g. seizures,
dazing, confusion, paralysis) - Don't prevent equipping items if pack is full.
- Holdover from when equipment was considered part of the inventory.
- Make gases unable to pass through vault doors, braziers, etc
- Prevents players from casting a poison potion at a vault door without
opening it first to kill everything inside with no risk.
- Prevents players from casting a poison potion at a vault door without
- Serious bug in bresenham line-drawing coord that screwed straight,
vertical lines.- It's been in there a while, at least since blinkbolt was implemented and I
added the ability to draw the line past the goal coordinate. - Affected throwing, line-of-sight, line-of-fire, mob AI, lots of stuff.
- This is why you need unit tests :/
- It's been in there a while, at least since blinkbolt was implemented and I
- Fix bug that prevented fires from spreading.
- Fix red-hot poker and burning coal consumable
Removals:
- Remove mob opacity
- No reason for it to exist, made it unnecessarily difficult for player when
surrounded
- No reason for it to exist, made it unnecessarily difficult for player when
- Remove door jamming
- Less useful in Oathbreaker because of looping pathways.
- Added a lot of complexity to the codebase relative to how often it was used.
- Iron spikes were fairly rare.
- Could possibly be reworked and re-added later on.
- Remove malfunctioning machines
- I liked the idea, but problematic implementation.
- Sparking was overpowered, and engineers disabling them after a while was a
band-aid fix. - The ability to use machines against enemies should be explicit, not a
hidden property of every machine.- I never remembered to use it while playing.
- Sparking was overpowered, and engineers disabling them after a while was a
- I liked the idea, but problematic implementation.
- Remove leather armor, scale mail
- Nothing to set them apart from similar armor items.
- Remove Fast, OI_Fast, Mana upgrades
- Upgrades that conferred extra speed hampered use of ring patterns, as it
made it harder to predict where monsters would move.- I'm looking into nerfing/nuking the entire monster speed system, as it
would drastically reduce gameplay complexity and code complexity.
- I'm looking into nerfing/nuking the entire monster speed system, as it
- Mana upgrade was useless, as I didn't end up using mana for rings as I
intended to.- Might be re-added later on.
- Upgrades that conferred extra speed hampered use of ring patterns, as it
Other changes:
- Tweaked weapons to increase desireability over the initial dagger weapon.
- Remove quarterstaff entirely.
- Remove mace from loot drops, as it's pretty boring.
- Tweak damages/stats for some boring weapons, like monk's spade
- Give monk's spade 2 knockback instead of 1, and remove extra speed.
- Give sword open-melee effect (extra hit% when in open area).
- Give glaive closed-melee effect (extra hit% when in closed area).
- Rework cavern mapgen to make it more cave-like. (TODO: screenshot)
- Make caverns branch optional
- Allows removal of most common monsters from the level to provide for
stronger theming. - Add extra -5/Prison level to make up for it.
- Allows removal of most common monsters from the level to provide for
- Tweak mapgen for Quarters:
- Don't add too many corridors.
- Make rooms smaller.
- Make copper wires impassable
- Looks ugly when in view of enemy.
- Passable copper wires looks weird when hostiles walk through them.
- No reason for them to be passable anyway.
- Make recharging station bump-to-use
- More intuitive, and more consistent with other in-game objects (like
water barrels and stairs).
- More intuitive, and more consistent with other in-game objects (like
- Fire changes:
- Make fire permanently destroy flammable terrain.
- Engineers no longer repair burnt-out areas.
- Make most in-game terrain/machines/objects more flammable.
- Fires would go out too quickly.
- Make fire permanently destroy flammable terrain.
- Remove engineer monsters entirely.
- No reason for them to exist now that malfunctioning machines and repairable
terrain was removed.
- No reason for them to exist now that malfunctioning machines and repairable
- Make eldritch lantern behaviour more consistent with description.
- Daze for 8 turns, not 10.
- Daze all mobs in sight, not just ones that can see you.
v1.0.4
Fire:
- Make fire explosions create longer-lived fire, even if tile isn't flammable
- Give 100% change for mobs to catch fire when engulfed in flames
Nerfs:
- Defender:
- HP: 10 -> 8
- Emberling:
- Melee%: 60% -> 50%
- Sparkling:
- Move at normal speed now
- Blinkbolt cooldown: 7 -> 14
New rings:
- Damnation ring
- Teleportation ring
- Electrification ring
- Insurrection ring
- Magnetization ring
Ring overhauls:
- Require announcement of use
- Add hints to guide player's usage of ring's pattern movements
- Place rings as loot
- Allow rings to be equipped
- Show available rings/patterns on HUD
v1.0.3
-
Fixed bugs:
- Copper hornets doing physical damage, not electric.
- Leaderless underlings standing still like traumatized ducklings.
-
Additions:
- Add golden vaults
- Add marble vaults
- Add tavern vaults
- Add bloats
-
Changes:
- Don't make all mobs avoid dark areas
- Disable announcement of items
- Average shaved (due to resists) damage across three rolls
- Add crash-reporting via Sentry
- Work on enemy fovs (they're now colored red)
- Revamp charging movement pattern
- Make carpets more visually distinct (different color + glyph)
v1.0.2
Release for July 1st, 2022.
Release notes from the related Sharing Saturday:
Added or changed mechanics
Copper weapons were added
Essentially if you're on "copper" terrain (represented by an orange-red :
floor), any copper weapons you use get a nice damage boost (they otherwise deal
reduced damage). This was discussed
here
previously.
Bone weapons got a slight nerf
Now, if you're Corrupted
(a status you get from being near undead monsters too
long), you no longer get extra damage from bone weapons (which have a damage
boost when used on the living, but do less damage to the undead). (Most of the
bone-weapon wielders are nice amiable monsters in the company of servile undead,
so this isn't a rare situation.)
Make Ancient Mages and Death Mages wield bone weapons
While these spellcasters usually prefer to keep their distance while blasting
the player, when cornered they don't mind fighting. This change makes them a lot
more dangerous in those situations, to compensate for them not having good melee
stats.
Add treasure vaults
Inspired by golden rooms in TGGW, treasure vaults will be generated on various
levels. They're marked by distinctive walls and a locked doorway that only the
player can open (the game warns you if you try).
For now the only treasure vault are Iron Vaults
that spawn with rust-colored
walls and are filled with (relatively) weak monsters. More kinds of treasure
vaults will be implemented in the coming weeks.
Removed "flanking" mechanic
I was experimenting with giving a sharp evasion nerf to monsters/players that
are surrounded by more than one hostile. I wasn't impressed: when you're
surrounded, taking 20 instead of 15 hits isn't noticeable if you have only 15 HP
in the first place, and if you're surrounded you've most likely lost the game
anyway. Plus, it was an additional complexity to the combat system.
Squads were reworked
I finally got around to reworking squads like I planned almost a year
ago.
Essentially I created a Squad
object that both the squad leaders and members
know about, and which allows them to share knowledge of enemies easily:
pub const Squad = struct {
members: List<Mob>,
leader: Optional<Mob>,
enemies: List<EnemyRecord>,
};
This refactoring fixed a lot of subtle bugs that were caused by the previous
implementation (discussed in the above link), like investigating monsters that
don't have anything to investigate (and crash the game) or squads where the
leader is forcing its attacking members to return to work. Of course, it
introduced a bunch of bugs of its own (like where each member is decrementing
the "memory" counter on the enemies list, causing enemies to be forgotten too
quickly).
Special thanks to everyone who gave advice in the above-linked discussion.
Rework watchers
Watchers, annoying non-combatants that keep their distance while shouting for
help, no longer directly tell nearby allies about you (as that made them too
hard to deal with on early floors). That behaviour was moved to Shriekers (see
below).
Removed wardens
Wardens were originally supposed to be the main gimmick of the Vaults branch, as
patrolling guards that blew warning horns at the sight of the player.
Problems:
- They're not that different from watchers. (The only differences are that they
patrol around and move in predictable ways, while watchers glance around
randomly while staying put.) - They didn't fit the theme well when the Vaults branch was renamed to Quarters.
I do intend to add Wardens back to the game eventually, though, as special level
wardens that call for reinforcements from other floors if it notices a lot of
guards suddenly dropping dead. Ominous music
UI changes
qweadzxc
keys
Usage of the qweadzxc
keys is now allowed. To that end, the following
conflicting keys were rebound:
x
for eXamine mode is nowv
s
for toggling auto-wait is nowt
a
for activating terrain is nowA
Special thanks to /u/oneirical for feedback and advice in this area.
Auto-wait
Auto-wait was noticeably buggy, waiting even while surrounded by a dozen enraged
skeletons or when trying to move into invalid locations. I haven't smoked all
the bugs yet, but a bunch of the most embarrassing ones have been fixed.
However, since I don't believe it's ready yet for general use (it's still my
habit to disable it when starting a game), I've disabled it by default for now.
:wq!
Turns out I forgot to add Esc
as a key to exit examine mode. Oops.
New mobs
Nine(!) new monsters were added this past week.
Spires
The Spire
class of monsters are immobile spellcasters, themed as mechanical
contraptions. Like statues, they'll only attack if allies are nearby; unlike
statues, they never forget about the player. They function as a kind of "area
denial" for players who accidentally wander into their FOV, preventing them from
retreating into those rooms (since that'd only be more dangerous). Spires are
only found on higher levels, though.
-
Iron spires hurl iron bolts for 3 damage (which is fairly high).
- "A metal contraption. The thick iron plates covering it muffle an ominous
whirring from within."
- "A metal contraption. The thick iron plates covering it muffle an ominous
-
Torpor spires slow the player. (The player can resist this with
willpower. Which is weird for a mechanical monster, I know.)- "The top of this brass spire rotates slowly."
-
Lightning spires hurl bolts of lightning, doing anywhere from 1 to 4
damage.- "A tall steel contraption. You seem to hear a buzzing sound from its top,
punctuated by intermittent clicks."
- "A tall steel contraption. You seem to hear a buzzing sound from its top,
-
Calcite spires "call" for an existing undead monster on the level to come
to the spire's location. The spire's relative danger depends very much on what
mapgen cared to through on the level -- it could be a harmless bone rat, or it
could be an extremely dangerous skeletal axemaster. (There might even be no
undead on the level at all!)- "Engraved on this deathly white spire are the words: "Death to the enemies
of the Necromancer."
- "Engraved on this deathly white spire are the words: "Death to the enemies
Death knights and skeletons
His bone longsword is inscribed with crude engravings of torment and death.
Death knights are competent necromancy-themed warriors sporting good armor and a
bone weapon. They spawn with a pack of skeletons.
A mouldering skeleton.
Skeletons don't have much to them. They're flammable, they're not very tanky,
and they don't have especially good stats. They were mainly added for theming,
as well as having a potential source of Corruption near a death knight (since,
as noted above, that reduces damage from the death knight's bone weapon). That
said, I hope to eventually add some unique ability to skeletons to make them
stand out more.
Bone mages
She may not be as experienced as the dreaded Death Mages she is apprenticed
to, but she quite capable of killing you all the same.
Bone mages are the player's "introduction" to necromancy-themed spellcasters on
lower levels of the dungeon. They have a limited ability to haste the (already
speedy) bone rats they spawn with, and they carry a bone weapon which they wield
readily in battle (unlike the death mage, which attempts to keep its distance).
However, they have terrible stats (to compensate for the bone weapon).
Shriekers
Shriekers are an upgrade to watcher-type mobs for higher levels of the dungeon.
They're faster, more evasive, constantly alert nearby allies of you (unlike
watchers), and cannot be easily lured into dark areas where they can be
one-shotted with a lunge attack (which is my main tactic for dealing with
watchers). However, they're far more fragile, and can be one-shotted with a
strong ranged attack or a solid melee weapon.
Copper hornets
A tiny buzzing insect, seemingly forged out of thin metal sheets. Its
copper-colored entrails wrap around its silver abdomen.
Found in the Laboratory, copper hornets follow the theming of mechanical
monsters that spawn dormant, becoming active only if they hear a sound. Copper
hornets, as the name suggests, carry a copper stinger, which deals a ton more
damage on copper ground. (They're not smart enough to actively lure you onto
copper ground, though I'd like to make a monster that occasionally tries to do
so.)
Misc
I updated the mace description.
-
Old: "A simple mace, with a smallish but very heavy leaden head."
-
New: "The leaden head on this heavy mace menaces with hardened steel flanges."
The new description is more, uh, descriptive of a typical mace, more flowery
language, etc. Plus it makes me look like a learned military historian for using
the word "flanges".
Not sure why I'm even mentioning it here.