Din's Legacy cover
Din's Legacy screenshot
Linux PC Mac Steam Gog
Genre: Role-playing (RPG), Indie

Din's Legacy

Din's Legacy patch 1.013

This patch fixes a few performance issues introduced by the last huge patch.

1.013 change list:


  • fixed if ever get above max armor/weapon penalties it getting really slow because constantly trying to add penalties but failing (rabidjawa)
  • now only recalculate stats in removeStatusEffect if something was actually removed (causing some slow downs) (rabidjawa)
  • fixed trying to do things with hull (causing it to slow down some) (rabidjawa)
  • fixed ProjectileSpeedX missing translation (Fulano)

Din's Legacy patch 1.012

This huge patch fixes several potential crashes, fixes some slowdowns, improves NAT punchthrough, adds clan icons next to clan name in most places, and fixes a ton of other minor issues.

1.012 change list:


  • fixed a potential crash in Area::getGateName
  • fixed a bug that can lead to infinite loop in GameShared::generateWorldSaveName
  • fixed a potential crash in Level::getNumMonstersToSpawnPerBlock
  • fixed a possible crash in MonsterType::getRandomUniqueVersion
  • fixed a potential crash in Vendor::generateItem
  • fixed a crash in getCurrentIdentifier (not bounds checking)
  • fixed a crash when player stats are recalculated when item penalties change (DysDaemoN/Dromi)
  • now when run out of fake entities for effects, put particle back on free list instead of deleting
  • fixed emitters from fake entities never being removed (very likely a slowdown over a long play session) (happens because fake entities are never deleted but added to a reuse list) (Jean)
  • fixed a crash in PlayerClient::notEnoughPowerWarning that could happen if you pressed a mouse button at the right time while loading
  • changed server registration time from 120.0 to 20.0 seconds so NAT routes don't time out
  • server now tries port guessing so NAT punchthrough is a bit more robust
  • now take into account NATs that decrement port numbers by 1 or another small number
  • now always send local address for assisted join
  • fixed respawn time when level not loaded
  • fixed MaxCount on sounds not working correctly
  • fixed sometimes relation dropping to 0.0 when a treaty is cancelled
  • fixed high frame rate + trying to use item/skill every frame overflowing the networking
  • no longer broadcast sound events for non-players
  • broadcast sound is now limited to once each frame
  • now can put clan icons in text
  • clan list on map screen now show clan icons
  • added clan icon to clan relation list when highlighting a clan icon/portrait
  • now show clan icons almost everywhere clan name is displayed
  • put icons next to final line end on power comparison screen so much easier to tell which line is which
  • sped up a bunch of get npc type functions
  • fixed _longshot not initialized correctly
  • fixed some data not getting reset on client when abandoning a sector (Darke)
  • now player quests will update their seed and other info if the main quest seed has changed for some reason (Annex/Boink)
  • fixed a bug in Time::operator=( seconds ) (this bug's probably only been there for ~17 years) (not sure how many bugs this caused, but it was doubling the long war value)
  • fixed getting gate unlocks in multiplayer when going to a new sector (phoagne)
  • now if a treaty in a trade fails to go through, entire trade is cancelled (Excellion/Sent Ernit)
  • clans will now reject all demands if at war with trader
  • fixed after deleting a ship the list not correctly selecting the next ship in the list (Jean)
  • now if near a monster when it is destroyed, player has higher chance of getting the credit for the kill (Destro)
  • fixed BestQuestBonus values not working correctly (being read in as bool)
  • fixed moving a component to a cargo bay and most of the time it getting moved to a different cargo bay (firecat666)
  • viewing current treaties will now show cease fire and time remaining (firecat666)
  • now make sure to cancel any trade agreements if go back from ceasefire to war (firecat666)
  • fixed a few places that clans could get above the max amount of credits (firecat666)
  • bounty hunter quest now fails if the bounty hunter kills the player
  • now shouldn't be able to get stealth and stealth surprise bonus at the same time
  • fixed a couple problems with clans getting credit for destroyed clans (Boink)
  • fixed failing quests in multiplayer when a player has a can't die with quest but another player dies (Dreepa)
  • added a max xp debt so not quite so high at high levels (lechuck1)
  • now clans won't declare wars on clans they've recently discovered (phoenix_54d)
  • made sabotage options much more reliable do something
  • fixed sabotage quests not applying to the correct clan sometimes (LotusBlade)
  • fixed passive skills on items not being able to update stat multipliers
  • fixed ai not trying to get another enemy once first one was killed sometimes
  • fixed swapping 2 same type items numbers increasing each time (Alstein/floofyfunster)
  • fixed weapon speed on weapons getting counted multiple times in DPS (Annex/Darkness)
  • now defaults to highest resolution up to monitors current resolution (so probably the current resolution)
  • now it is harder to get a clan to declare war on someone they have a treaty with (Sharp)
  • added a Text Size option in advanced graphics options (Tchey/Agitated Ice)
  • now take into account a clan's spy resistance when showing rumor, propaganda, sabotage, espionage, and plant spy chances (Kurama Kitsune)
  • should no longer be able to target invisible enemies (at least directly) (fabulousfreep)
  • now stop the fighting correctly if go straight from war to a non-peace treaty
  • now long war relation change gets applied a second time at 2X max war time
  • now long war relation change gets applied a third time at 4X max war time
  • now delete map file when user tells game to delete wld file (sector) (firecat666)
  • now targeting prioritizes monsters some
  • fixed fighters still attacking things unprovoked when using defensive stance (Fulano5321)
  • now mention Magic Find Chance bonus on each achievement achieved
  • fixed a interactWithEntity fall back position using hardcoded slot index instead of correct left or right slot
  • fixed weapon stop firing when client/server get weapon timing out of sync
  • small optimization to updateMapPixel (now only divide if above 1 instead of 0)
  • fixed weird minimap issue (out of level color on edge of fading out)
  • no longer show relation line between 2 covenants that haven't met yet
  • now clan icons on relation screen shrinks if too many on screen at once (starts at 7)
  • now show a ? for relation numbers when the clan hasn't actually met the other clan
  • now makes sure war is going to go through before announcing honors treaty by declaring war (Excellion)
  • fixed a case sensitive code issue on Linux build
  • names are now drawn on top of blips on map so you can see the names better (Darke)
  • clans now save their definition by name instead of index (save games more stable when I add new clans)
  • fixed clan trait saving (now by name instead of index) (Exgene)
  • fixed a slowdown when adding waypoints on map (it was saving cfg each time for temporary change) (Darkness)
  • no longer save cfg file immediately after zooming in/out to prevent slowdown (Darkness)
  • sped up Emitter::draw a little if no particles to draw
  • made teleport detection on client a little better
  • now smooth entity movement better - gets rid of a lot of hitches (Bluddy/ScrObot/Mark)
  • fixed some problems with mouse button 5 (Tchey/roykela)
  • now quest update messages go through the normal center print system so don't overlap other messages
  • now most loop sounds fade out instead of abruptly ending (this is mostly engines and projectiles)
  • fixed World::getRoomName returning bad value if level index out of range
  • now automatically pause if you have used a controller and it is unplugged
  • now can recognize a controller plugged in while game is running
  • now if a widget blocks entire screen and blocks mouse, it automatically sets DoesntLetInputThrough
  • highlight text no longer overlaps highlight icon (ScrObot/Takarias)
  • now draw - and + characters an extra time and slightly larger to make them a bit more clear
  • now ambient music fades out when the game is paused (Bluddy)
  • Offer Trade and Demand now do nothing if empty offer (Eris Shrugged)
  • now can lock color in text
  • fixed non-right mouse button clicks on map from leaving waypoints (Dreepa)
  • can now highlight clan name on system/sector maps to get clan info
  • can now click on clan names in system/sector maps to talk to that clan
  • now make sure player has met at least one of the clans in question when message is sent about a rejected peace treaty offer
  • now when dropping a stackable item on a vendor slot it tells you how many are going to get transferred (1 normally, entire stack of ctrl down)
  • fixed most powerful clan changing every other calculation because of come from behind bonuses
  • fixed a filename issue in TextureCtx::load
  • now when highlighting a contact that you have met show clan info
  • now money highlight on buy/sell screen will use commas if necessary
  • widgets can now draw a shadow
  • quest available and completed icons in relations screen now have a shadow (Destro)
  • added some alpha to background when highlighting clan icons in relation screens so a bit easier to see what is going on
  • now will automatically split items if spawned in greater amounts than the max stack (PhoAgne)
  • now eliminated by text can handle random clan names and specific monster names
  • now map will scroll if you move mouse cursor to edge of screen
  • teleport just clears the target instead of destroying incoming proectiles (The DevoMiezer)
  • no longer send clan messages to stop attacking a friend when they haven't even met them yet
  • now mention that can hold ctrl to sell an entire stack (Tyrax Lightning)
  • can no longer add 0 gold to a trade (firecat666)
  • updated donators
  • moved entering system print down a little to not overlap lose timer info (firecat666)
  • made player status bars 50% larger so a bit easier to see among other status bars
  • fixed getting multiple object is farther than it appears messages sometimes
  • now if you hold down the ctrl key when selling a stack of components with the space bar it will sell the entire stack (kerzainuhamster9)
  • key names can now be translated
  • mouse button 3-5 are now MB3, MB4, MB5 (so they fit better)
  • added translations for leftcontrol, rightcontrol, leftalt, rightalt, pagedown, and pageup
  • can no longer remove original text from a quest generated waypoint (Tnega)
  • now if ctrl buy on an consumable in essential components section, only buy 1 instead of buying until you're out of credits (derpenstein)
  • added clan icons to power ranking bars
  • fixed not getting some pickup sounds (sounds now come from player instead of item)
  • now get modifier icon when highlighting on system/sector map
  • moved MapLevelMaxZoom to database instead of hardcoded
  • now check that quest title has some text before overriding biggest accomplishment text
  • now if successfully demand something print says demanding instead of trading (firecat666)
  • added SoundCullingDistance (1500.0) and change skill and combat sounds to use this instead of 400.0/500.0
  • now highlight text box will be at least the size of the icon (if there is an icon) (ScrObot)
  • no longer show damage numbers in fake game
  • no longer show health bars in fake game
  • now health bars of planets/ships from clans you have a mutual protection pact or alliance with are dark green
  • no longer get multiple buzzes for a warning that is already displaying on the screen
  • now filter random names a little
  • now when highlight component/object text, it also highlights the entity and shows the highlight text for that component/object
  • made it so static models with alpha model data gets cached correctly (will speed somethings up some)
  • now give warning can't add socket to a component more reliably (Annex)
  • can no longer click on list items that aren't displayed (Eris Shrugged)
  • center print now uses value from database correctly instead of old hardcoded value
  • now smooth object angles a little better (Bluddy)
  • added sound when component gets a rarity bump when identifying it (Redsovietz)
  • fixed joystick button names not being translated correctly on widgets
  • dpad on controller now moves mouse to next clickable widget in the specified direction
  • now dpad works on lists
  • now left controller stick can scroll scrollbars/lists
  • now left controller stick can scroll sliders
  • now dpad works on drop down boxes
  • added menu priority to have better control of always on top stuff
  • now "Can't increase durability more" warning is a little more clear (Darke)
  • dynamic music no longer plays on opening screen since it already has music (DysDaemoN)
  • can now solve quests from clan diplomacy for accept in person quests (Annex/Verdusk)
  • now if switch out a component of the same type it will automatically update user slot to new component (Fulano)
  • now if remap up/down it will work consistently on quest screens (firecat666)
  • now when a menu that pauses is up and you hit the pause button it doesn't unpause client side of things for a frame (DysDaemoN)
  • now show "accept only in person" quests in clan quest list so know they exist (Varkon)
  • fixed talk icon sometimes getting stuck above NPC heads
  • now damage numbers will use commas if needed
  • now large stats from most components have commas
  • now dps on skills from components has commas if necessary
  • check mark ui text is now centered better
  • changed TextInput to be automatically centered left
  • now widgets can override parent alignment
  • item rarity is now color coded correctly in loot filter
  • text in drop down box centered better
  • fixed a lot of text alignment with different sized text
  • updated copyright date
  • changed PROTOCOL_VERSION to 125
  • changed save version to 260
  • fixed port in getAddressString (just a developer thing)
  • added showBoundingBox so I could see where bounding boxes are exactly
  • simplified ActorCovenant::shouldBreakTreaty quite a bit
  • removed a "No fake entities left" message, just slows things down when things are already probably slow
  • added cheat_noLose so I could test some things for longer periods of time with cheats
  • improved cheat_playTestTeleport to vary teleport position better
  • added a more generic hasAbility/providesAbility system
  • fixed 32 variables set but never used warnings from Linux compiler
  • fixed a potential clearing problem in StatusEffectBase::build
  • fixed a String/char* conversion warning from Linux compilter in PlayerClient::savePlayer
  • fixed GameShared::optimizeSkillDatabaseEntry removing statMults accidentally
  • fixed 2 places in geometry.cpp where //* was causing warnings in Linux compiler
  • fixed using add instead of push_backUnique in Level::getFullLevelsMakeUpLevel
  • fixed a possible crash in reloadMenus (just a develop or modder thing)
  • changed graphics string code to an enum
  • simplified text code lock stuff
  • now quests/clans are smart enough to only remove world modifier if not being applied by another quest/clan
  • moved getValidLocation from UIHelp to UISystem so could use other places
  • added showRadius command so I can see collision stuff better
  • added a way to apply multipliers to percents and always stay within 0 and 1 range
  • fixed UI_CONDITION_ARE_REPAIRING spelling
  • added cheat_giveExperience
  • simplified per game #defines a little

Din's Legacy patch 1.011

This patch fixes a big slowdown on the map screen, fixes some quest item spawn issues, improves targeting, and fixes a few other minor issues.

1.011 change list:


  • fixed map going slowly (was saving cfg each frame) (wierdbob/Invader Xom)
  • fixed levels items being spawned in an adjacent level (Baines)
  • right click auto target next thing will now only auto target monsters (Baines)
  • added switch places to vendor UI (Baines)
  • now get a message when fill up an empty vial (Faya AOP)
  • made braziers in dungeons that are along railings usable (Baines)
  • renamed 2nd Whey to Quality Whey (Faya AOP)
  • removed taking screenshots to png format on Linux to remove dependancy on libpng12.so.0 (Ubuntu 18.04 and up don't include)
  • added teleportToDatabaseEntry command so I can easily teleport to problematic entities if I don't know where they are

Din's Legacy patch 1.009

This patch fixes a crash, a couple item issues, and a couple sound issues.

1.009 change list:


  • fixed a rare crash in Game::needMonsterOnLevel
  • now when an item is removed or broken that provides a passive status effect, the status effect is removed (Kori)
  • fixed not getting dynamic stat changes from passive bonuses on skills on items (chesse20)
  • fixed teleport sounds being too loud (was a duplicate calling wav file directly)
  • made declared war sound quieter

Din's Legacy patch 1.008

This patch fixes some balance issues, adds resistances to a bunch of monsters, and fixes a bunch of smaller issues.

1.008 change list:


  • fixed a couple issues with not getting new important NPC quest in some scenarios (Mithur)
  • fixed another way that strength mult could get added an extra time (in this case player Deep Wounds) (Carnage)
  • now NPCs in town will attack clan raiders (the raiders would already start fights might this will make town defenders more aggressive)
  • skills now wrap better on skills screen so they don't get nearly as small when you gain a lot of skills
  • sped up buying an entire stack of items at once quite a bit (Excellion)
  • added Cold Resistance to Ragnars, Cold Towers, and Cold Totems
  • added Elemental Resistance to Amorphs and Elemental Totems
  • added Fire Resistance to Torva Shamans, Fire Throwers, Fire Towers, and Fire Totems
  • added Lightning Resistance to Lightning Towers, Lightning Totems, and Lightning Elementals
  • added Poison Resistance to Poison Towers, Poison Totems, Dark Elf Assassin, Wampir, Zombie Wampirs, Scorpion, Scorpid, and Zombie Scorpion
  • added Magic Resistance to Ghosts, Death Knights, Liches, and Dark Elf Wizards
  • updated donation lists from Patreon
  • Exploding Arrow is now considered a spell (DL only)
  • now reduced enchanting price shows up correctly on item if you have enchanting skill (chesse20)
  • added special abilities and variants info to Scorpid bestiary entry
  • changed PROTOCOL_VERSION to 86

Din's Legacy patch 1.007

This patch adds textures/models for 2 mutations, fixed players getting stunned too long, and fixes a bunch of smaller issues.

1.007 change list:


  • added models/textures for quills mutation
  • added models/textures for thorns mutation
  • now there is a max stun time on players (7.5 seconds) (davidb11/Soldad)
  • now skills on items no longer use mana
  • fixed Unholy Vitality skill on Bevan's helmet not using the correct level data (Kori)
  • fixed skills on items not setting the parent item (may or maynot be breaking some skill stuff on items)
  • fixed Blade of Darkness skill on Dagger of Night not using the correct level data (Kori)
  • fixed per level data of StatusEffectUnholyArmorTimed
  • fixed summoning altars not working if you already had some minions (cheese20)
  • put some more checks in various quest types to make sure don't pick a bulletin board as a target (oserge2)
  • changed PROTOCOL_VERSION to 85
  • fixed a possible infinite loop in test_StressQuests stuff (developer thing)

Din's Legacy patch 1.006

This patch adds a No rival clans world option, increases crafting item drops, and fixes a bunch of smaller issues.

1.006 change list:


  • added No rival clans world option (Mischief Maker)
  • increased crafting drops by 20%
  • fixed problem where clan raiders weren't attacking NPCs
  • you will now win the prey scenario if you complete all of the quests before time runs out (Brysos)
  • monsters can no longer hide in Duel scenario (or any other that monsters are supposed to always wander) (Kori)
  • decreased AttackPerDex Reaper skill from 6.0 to 2.5
  • fixed some status effects from items using item level instead of skill level when item leveled up (Excellion)
  • fixed a problem where raid gates could end up in a bad location (Excellion)
  • now Soul Harvest and Devastating Blow work correctly together (Excellion)
  • clans no longer try to steal food while raiding
  • fixed stalker feet placement on female model (Excellion)
  • fixed Malice status effect icon not matching skill (Excellion)
  • now grab glsl pointers needed (Windows only)

Din's Legacy patch 1.005

This patch fixes a high level slowdown, makes it much easier to find uprising targets, fixed a couple major DOT issues, and fixes a bunch of smaller issues.

1.005 change list:


  • now instead of damaged clan members staying awake for chance to heal, they just slowly heal (speeds things up a lot, especially high levels with lots of clans)
  • now uprisings keep their numbers up better in small areas
  • fixed a few status effects (like deep wounds) that had difficulty multiplier applied twice
  • fixed another way could lose a follower across worlds (liren)
  • added textures for exoskeleton mutation
  • increased CriticalStrike per level DamageMultPhysical from 0.125 to 0.2 (AuraForLaura)
  • now PreciseStrike's PowerAdded goes up per skill level (AuraForLaura)
  • doubled Hex damage debuff and now can stack up to 4 instead of just 1 (AuraForLaura)
  • doubled spell damage bonus from staves (now same as wands) (Misfit)
  • can now fight vendors (BorkFate)
  • now dots display takes into account higher difficulty damage mult correctly (Soldad)
  • no longer eliminate other clans when win (chesse20)
  • now getting hit and Pain Delay changing everything to damage over time still gets counted as a hit so when hit things trigger properly (Swal)
  • now zombie infection description tells possible way to cure (Bluddy)
  • simplified saveBaseColor stuff in generateColors some (probably a tad faster also)
  • when talking to a player an NPC will no longer patrol, adenture, or do activities (Notorious)
  • changed full mutation description to match new chances (ulk_underscore)
  • fixed Carek's bonus display numbers being incorrect (ulk_underscore)
  • fixed Player::damageNotice skipping Sentient stuff

Din's Legacy patch 1.004

This patch fixes a higher level slowdown, balances a bunch of things better, and fixes a bunch of smaller issues.

1.004 change list:


  • fixed player town not being able to be raided by clans
  • fixed a problem where attacks from keys could ignore a valid target like a chest and attack something else nearby (JackintheBox)
  • fixed really high level clans being really slow (capped their initial number of members) (Alma Elma)
  • dying in the Last Man Standing scenario is now a lose condition (Brysos)
  • bonus for Freeze set is now cold damage instead of poison (cheese20)
  • now max of 5 wisp buff on wisps (DestroTheGod)
  • sped up summoned skeletons
  • now summoned monsters will use their parents sight position as well as their own for finding enemies (in general will make them more aggressive)
  • fixed skills triggering off of a status effect (like Energizing Block) not leveling up correctly (Logorouge)
  • blade of darkness, unholy armor, void shield, unholy vitality, and focus skills that come from skill mutations now benefit from extra status time (Swal)
  • removed attack speed boost from champion buff
  • now limit max damage taken mechanisms (like Lucky skill) take into account mana shield
  • Gaseous Form time length can no longer be buffed
  • Fire Mastery, Cold Mastery, Earth Mastery, Lightning Mastery, and Illusion Mastery now applies to all of the fire skill status effects also (ulk_underscore)
  • decreased Major Cold Imbued frost nova damage by 50%
  • decreased bounty hunter damage (Redsovietz)
  • will no longer hear about internal rumors in Empire scenario (Brysos)
  • made health gargoyle have a little more contrast between background version
  • made sure reward chests aren't locked, don't spawn secret levels, or are trapped (Brysos)
  • no longer get welcome message from newly discovered clan if they are based in the same level as you
  • fixed command mastery description skill list (Penguin Blender)
  • fixed don't die typo
  • fixed armor value on character screen not fitting very well when number is pretty large (Soldad)
  • rearranged stuff so damage numbers fit better on character screen (Soldad)

Din's Legacy patch 1.003

This patch fixes a crash, strength bonus being applied more than once in many cases, several level generation issues, and a bunch of smaller issues.

1.003 change list:


  • fixed a crash in Combat::applyStatusEffect
  • fixed strength being applied twice for many attacks
  • fixed lightning blade getting strength applied an extra time (on top of already getting it an extra time)
  • decreased most monsters health some to compensate for strength fix
  • fixed a couple town generation issues that didn't guarantee a path from door to level exit (Notorious)
  • fixed incorrect open edge settings in forestDL4.ara, forestDL3.ara, forestDL6.ara, grasslandDL4.ara, graveyard4.ara, and tropicsDL2.ara - these errors can make it generate non-connected levels (Espr)
  • fixed another way bridges could be placed without their corresponding other blocks
  • fixed duel levels not generating properly sometimes (davidb11)
  • fixed another way that entities could get placed in invalid areas (Notorious)
  • fixed Viedonna's blessing having a per level health percent restored when not meant to (AvaLanCS)
  • made small amorph, tiny amorph, imps, zombie imps, plaguebringer larva, and zombie parasite easier to click on
  • fixed not being able to hit neutral NPCs that you choose to fight with projectiles
  • fixed passive skills that can proc on items not working correctly (Kori)
  • using a vial (to fill it with something) now gets rid of the equipment UI since it is probably in the way (beatsh4ck)
  • no longer show item better or can't use item icons on non-vendor NPCs (Notorious)
  • toned down yellow mold spread some
  • fixed ModificatioDamageOverTimePrefix typo that was preventing translation from working (chesse20)
  • fixed missing DefendingStunningBlow translation
  • fixed temple ruins not having monster rarity set correctly