-Now supported by SDL 2.0, thanks to the generous programming efforts of Michael Bonfils and Emil LaineFire subsystem mk 1 Solids no longer sparkle when they are burnt, but do again when they are repaired. N.B.: There are no sparkly solids that burn!!! So this is for posterity only. Found that materials no longer sparkle if dipped in fluids, and no longer resume sparkling even after the fluid has evaporated - which is a BUG! Invented a function that resets the thermal energies and included this function call wherever Extinguish() is called (some tidying up). Fixed a provisional bug where scrolls and books could be dipped without being on fire Merge remote-tracking branch 'remotes/origin/master' into warheck-sandbox Made it so that books and scrolls catch fire like normal items do, but only after being tested for instantly burning away. Changed the in-game messages accordingly. Scrolls are no longer readable if they are burnt (burnt scrolls are unusable if they are not wholly legible.Burnt scrolls are illegible, unless you are intelligent enough to decipher themBurning books and scrolls should be dippable into various liquids now, and thus assist in frantic firefightingRemoved changes to dipping beartraps in poison etc, because this is not related to the fire subsystem, and it was a little half-baked IMOMade it possible to fix burnt items, albeit via the Tailor alone, for things like burnt leather (Ikiros only fixes items made of metal).Burnt limbs are as expensive as rusted limbs to fix (at the time of writing, bodyparts do not burn).Made it more likely for raindrops, vomit to put out fires. Needs quite a lot of raindrops, and at the moment, normal items do not accumulate raindrops via this mechanism, only gears etc. This is because of this line in stack.cpp: ItemVector[c]->AllowFluids()You can actually put the flames out on f. ex. a burning wooden sword, by using it against blood spilling foes (blood puts out flames). Intoduced new material variables of Transient and Steady State thermal energy. Transient is responsible for enabling damage from multiple explosions to accumulate, triggering higher thresholds of activation energy for materials like dragon hide, etc. Transient stored energy de-accumulates with the Be() function. Steady state stores the accumulated energy and is decremented only when the burning object is in contact with a fluid, f. ex. water. once Steady State reached zero, then the flames on the object are extinguished.There is an extinguish function for putting out flames on objects that are on fire. Extinguish() needs to be properly generalised so that the thermal energies reach zero when this function is called (another thing for the to-do list).Phoenix feather materials "rise from the ashes" upon complete combustionMeleeweapons can be dipped when on fire, no fluid, and not both.Armors can now be dipped but only when on fire and no other fluid is present (interesting to check this during actual melee, when blood is spilled, does it put out flames?)Beartraps can be dipped in liquids (poison/acid for instance). Don't know if this is a good idea... BOOM! Graded charring in the bitmap, achieved by selecting the RGB colour with the max intensity, RSHIFT max intensity by 2, RSHIFT old RGB by 3 and then add these together with Max>>2 to form the new 'burnt' RGB values Merge branch 'warheck-sandbox' of https://github.com/Attnam/ivan into warheck-sandboxConflicts:Script/material.dat Updated the Activation energy threshold to the following formula:ActivationEnergy = 0.5 x MaterialStrength + 5 x MaterialFireResistance + FireResistanceItemEnchantmentRevised the FireResistance of all materials Different materials now have different burn times. Introduced a BurnModifier() which determines the duration of burning based on material strength, fire resistance and density, according to the formula (500 + Den + ((Str * FR) >> 1))Made it so that the words "(on fire)" appear in the post-fix of meleeweapons and armors that are on fire, a la fluids (covered in ...)Prevented wooden flaming swords from catching fire. Achieved this via CanBeBurned in item.h and item.dat and test condition in item::ReceiveDamageCaused burning phoenix feather to reset and stop burning once it gets completely burnt. Wondering if this needs a separate message.Introduced code for extinguishing flames via the function Extinguish() (opposite function to Ignite()) - wielded equipment graphics still do not extinguish for some reasonGhosts, powder, fluids were all burning. Even the snow in Attnam was on fire! This was fixed by adding "virtual int IsBurning() const { return 0; }" to liquids (therefore powders) and gasses. Not an ideal means of fixing this. it should really be fixed at the level of object.h Updated the Activation energy threshold to the following formula:ActivationEnergy = 0.5 x MaterialStrength + 5 x MaterialFireResistance + FireResistanceItemEnchantmentRevised the FireResistance of all materialsDifferent materials now have different burn times Objects are destroyed once they are completely burnt up, as per spoiling, rusting subsystems.Also provisionally revised the activation energy formula for triggering flame ignition via explosions. This still needs to be balanced out properly. Added the visuals for items after they ignite. Only ignition source is due to explosions so far. Not sure if the Activation Energy for items should be lowered, but if it is too low then the whole dungeon will ignite.Wood materials, Balsa wood up to and including ebony wood, can now burn (interaction flags in material.dat have been updated to include CAN_BURN).In this commit, it seems the random boot or gauntlet in a wished pair is no longer burning, so that provisional bug is provisionally fixed. (see changes to object.h) In this edition, an individual item's activation energy is tested when an item receives FIRE damage (i.e. due to an explosion). If the damage done is greater or equal to (2MaterialStrength + 10(MaterialFireResistance + ItemFireResistance)), then there is a chance that it will "catch fire".Fire resistances have been added for materials. Merge branch 'master' of https://github.com/Attnam/ivan into warheck-sandbox Minor commit replacing some tabs with spaces In this commit, the strength value of the material decreases according to its degree of burnedness (NOT_BURNT, MODERATELY_BURNT etc.). This function works in the same way as it does in the rust system. Items now acquire the appearance of accumulating charring on the surface, while they are burning. Merge branch 'warheck-sandbox' of https://github.com/Attnam/ivan into warheck-sandboxConflicts:Main/Source/materias.cpp Warning: this revision has a bug somewhere!Commit for the sake of saving a version. Need to revert back to an earlier version to check why the changes in this version are giving bugs.Right now, the changes are about causing an item to burn while it is on fire, using a mixture of Spoiling which needs a Be() for "burning" things over time and rusting, which stores the rust data for a material efficiently. Materials now "Burn", if they are burning, and go through the stages not burnt, slightly burnt, moderately burnt and heavily burnt.This approach uses a mixture of Spoiling which needs a Be() for "burning" things over time and Rusting, which stores the rust data for a material efficiently. There was an earlier bug because of missing line in bodypart.h:virtual truth AddBurnLevelDescription(festring&, truth) const { return false; }This paves the way for the bitmaps to be manipulated as per RustData.There is also a change to the way items become burnt. The material gets burnt instead. This means it is now conceptually correct.Known issue:With the changes to the Burn level description, things are no longer piling properly anymore, so this needs to be attended to at some point. Added some code to enable the following functionality: objects now have a property where they are burning. It is a kind of state sticks can be (a)pplied and when they are, they commence burning when an object is burning, flames appear burning objects cannot be piled together with objects that are not burning an object that is burning will emit light in ivandef.h and define.dat added the following to denote in how far an item is burnt: #define NOT_BURNT 0 #define SLIGHTLY_BURNT 1 #define MODERATELY_BURNT 2 #define HEAVILY_BURNT 3known bugs include that the second item of an item generated in pairs (f.ex. boot, gauntlet) does not have its burning state set to zero initially. Not a dreadful problem at the moment. It just looks like it is on fire, but does not emit light... funny. Update and rename releasing to releasing.md Create releasing Merge pull request #9 from emlai/masterMade hunger/burden/tiredness state printing code more elegant Made hunger/burden/tiredness state printing code more elegant English Update README.md Merge pull request #8 from waylon531/masterFixed window bug Fixed window bugI couldn't find the root cause of the bug, but I was able to add a checkto see if the tile had a window or not. This may cause problems if thereare walls that need to be able to see under, but I don't think that is alikely case. Fixes #3 Merge pull request #7 from waylon531/masterRemoved test1 and test2 sirens Removed test1 and test2 sirensI removed the names for the 2 asian sirens, they should default to siren now Fixed typo in Atavus XMas messageAtavus "gives you banana" changed to "gives you a banana"Merry Christmas everyone! Lycanthropy Polycontrol Prompt FixIf a character other than the player had polycontrol and lycanthropy,then the player would be prompted to decide whether the lycanthropiccharacter would polymorph or not.The LycanthropyHandler() function will now check whether thelycanthropic character is the player before prompting. Important fix for 64-bit systemsPrevents segfault when loading a save file.There are likely more bugs lurking in 64-bit land (such as one involvingmemory allocation issues/leakage when loading full highscore files), butat least this makes the game playable in 64-bit environments. Screenshot fix for LinuxScreenshots will be saved to ~/IvanScrshot/ (this directory can bechanged to preference at line 308 of whandler.cpp)May only work in full screen mode, as some window managers take ascreenshot of the desktop when pressing Print Screen. More typo fixes Typo fixesin gods.cpp, lterras.cpp, char.dat, and item.dat Generalization of cycleoptionFixed cycleoption to be more generic (thus usable for other configoptions), rather than having code for the DirectionKeyMap option withinits functions. Added Blob's drawing of Ivan and Vlad to GC8 entryIVlad.pcx can be replaced if someone creates a better version. Bugfix for off-center loading animation Typo fixesin stack.cpp, char.dat, gods.cpp Total equipment weight shown in equip screen Expanded Screenshot FunctionRather than the old screenshot function that would overwrite the same"Scrshot.bmp" file every time you hit the print screen key, screenshotswill now be saved in the Scrshot/ directory as "Scrshot000.bmp","Scrshot001.bmp", etc. Added NetHack Keybinding OptionAdded option to cycle between Normal, Alternative, and NetHack movementcontrol schemes.If necessary in the future, the cycleoption type used for the controlscheme setting can be tweaked for use with other cyclical options. CHA affects Wand of Resurrection TamingWhen resurrecting a corpse, the player must have CHA equal to or greaterthan half of the creature's TamingDifficulty in order to successfullytame them. Spider Retrieval Side QuestBringing a tamed spider to the Child Tourist in New Attnam who asks theplayer to bring him a demon spider will grant a reward. Typo fixesFixed typos in command.cpp, human.cpp, and char.dat Fixed omission of LastPray counter for V+MFixed bug in gods.cpp that caused game to not display the last time theplayer prayed to Valpurus and Mortifer, as well as several typos (everyinstance of "comfort" was spelled with an 'n'...) Cleaned up Silva fixSearching through completely uncommented code for helpful functions is(queue Spongebob rainbow) fun.Messing with the script for the sake of a bugfix bothered me from thestart; this is how I should've done it. Fixed Silva Earthquake crashing on GC6Silva can now trigger earthquakes on GC6 without the game crashing. Revert "Fixed Silva earthquake crashing bug in GC6"This reverts commit 7336861. Fixed Silva earthquake crashing bug in GC6Silva can now trigger earthquakes in GC6 without the game crashing. "Fixed" Silva Earthquake crashing on GC6Really more of a workaround than an actual fix, but better than a crash.Wolves will spawn when praying to Silva on GC6 rather than an earthquaketriggering. Fixed crashing bug in GasExplosion()Player or NPC being struck by mine-activated mustard gas no longercauses a crash. 12 March 2014: Gas immunity bones message bug (thanks Pent, Eagle V): Fixed(?) and needs testing Fixed the shop door creation bug (dungeon script files) "Fixed" Elite guard taming: TamingDifficulty = 30; Double checked that Ommel Cerumen cannot be wished for (this is therefore fixed) Fixed the library exploit Fixed the banana room exploit Holy hand grenade arm and drop in cathedral now go to dwarf room. Mustard gas hostility bug fixed. Still facilitates masochism, and fixes the NPC staying in the gas cloud by virtue of the hostility change. Instances of GasExplosion() in miscitem.cpp, level.cpp, gear.cpp, level.h were also harmed. Fixed the drinking pea soup in the world map bug by including a check to avoid attempting to place a gas cloud in over world. Thanks to Mathieu Bratcher for this.You still hear a small puff though... put the makefile back on. Figured I had to keep a local copy handy and just leave the original on master. in confdef.h: Changed ANTITODE_LIQUID to ANTIDOTE_LIQUID in char.cpp: fixed void character::Slow() so that it now gives effect SLOW instead of HASTE (thereby fixing the wand of slow bug) fiddled with the makefile, not sure if I'm allowed. Removed spurious (?) semicolons from save.h, bodypart.h, char.h and char.cpp. Valdemar spawn rate and base unarmed skill for humanoids bug fixes Initial commit with CVS code modified by nukes to support 64-bit systems Initial commit
Some changes: Screenshot directory now created before taking screenshot Lanterns ignite the square they break in Fire damage only explosions added Female head sprites added Toggle option for smart open/close/apply functions Explosions only cause bleeding if they cut you Can no longer eat or drink burning objects Body parts are warm if they're burning - Infravision Ghosts now resemble the deceased Fixed a bothersome problem with pet movement Coffin sprite now used in the Attnam Catacombs
Changes: Green Valpurium! Users can add dungeons in a generic way to the world map by scripting alone, there are 32 slots available for this SDL_UpdateTexture is replace with texture locking + pixel memcpy Dungeon data files now appear as individual files in Script/dungeons, one file per dungeon These files are found automatically Game automatically counts the number of dungeons World terrains now appear in data files gwterra.dat and owterra.dat Screenshot directory is automatically created Player can talk to Ivan Gorovits again without the game crashingSee https://github.com/Attnam/ivan/compare/v0505...master for a list of changes since 0.50.5
New multi-platform build system: instructions can be found in INSTALL. New music system - TAKE DAMAGE!!!1! - you can contribute music and the spec is here. New dungeon: the Tomb of Xinroch - in testing phase, be sure to post your suggestions here. Priests and priestesses can heal burns on body parts, and also put out the character if they're on fire. Full screen bug is 99% solved! (you'll need the opengl renderer) Enner Beast now has a place to catch fish. Maze rooms! Attribute penalties to burnt limbs have been scaled back. Players will now find a holy book. Players can sever ghost limbs, which subsequently disappear.
IvanWin0508 New Christmas trees in Attnam!!!* New Grand Stollen Knife of Attnam!!! New Message when sitting on an Iron Maiden!? Periodic warnings for leprosy. Fountain dipping works like other dipping. Significant re-balancing of prayer effects. Quest items can no longer be sold. As usual, multifarious grammatical corrections Lots of rearranging of the Tomb of Xinroch (TX) New world map icon for TX. Sun shines on TX level 1. Vampires. Vampirism. Vampire bats. Vampires and werewolves hate each other. Significant updates to priests and priestesses.For devs: Now with Travis Continuous IntegrationCan now restrict monsters and items to generate only in specific dungeons. (This can be specified in the script files)See v0507...v0508 for a list of changes since 0.50.7*Only during Christmas (24th & 25th of December)