summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells1.h
Commit message (Collapse)AuthorAgeFilesLines
* Customisable clouds!Jude Brown2009-12-281-3/+6
| | | | | | | | | | | | | | | | | | | | | cloud_struct now has members for colour, name, and tile; colour will be used instead of the default colour of the cloud type, and will be used to recolour the tile of the cloud (if it exists). Name will be used to rebrand the cloud's description, and also alter the message generate while standing in a cloud. Finally, tile can be used to completely customise the tile used for the cloud. The value is stored as a string in order to maintain save compatibility across ASCII and tiles. A random tile (found using tile_main_count) from that set will also be used, however, no duration effects will be applied. Recoloured cloud tiles using just the colour code should be possible, though aren't yet fully tested. This commit bumps TAG_MAJOR_VERSION: changing marshalling of the FogMachine Lua code causes nasty crashes on reloading saved games. Otherwise, I don't think I broke anything else. :-)
* Flatten header dependencies a bit.Robert Vollmert2009-11-171-4/+0
| | | | | | This removes a couple of unnecessary includes from header files. I may have missed adding some tiles includes.
* Delay adjustments for ring of fireCharles Otto2009-11-151-1/+1
| | | | | Update ring of fire's duration, also fix one use of DUR_REPEL I missed previously.
* Make Chain Lightning a monster spell, add an user of it (Nikola).Adam Borowski2009-11-031-1/+1
|
* Greatly upgrade player hellfireStefan O'Rear2009-11-021-0/+1
| | | | It's now smite targetted with maximum 6d26 damage. Have fun.
* Drop obsolete CVS last-committed headers ($Author$).Adam Borowski2009-10-061-2/+0
|
* Properly disallow Elyvilon's "Heal Other" abilities when they're aimed dolorous2009-05-161-2/+2
| | | | | | | at the player, just as we do with Lugonu's "Banish" ability. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9778 c06c8d41-db1a-0410-9941-cceddc491573
* Make Trog's Hand grant both regeneration and magic resistance.dolorous2009-05-061-1/+2
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9741 c06c8d41-db1a-0410-9941-cceddc491573
* Implement a hack to differentiate between Ely's self healing and healingj-p-e-g2009-04-031-1/+2
| | | | | | | | | | | | | | | | | others. I've added a new targetting mode TARG_NOT_SELF that basically just forces the autotargetting to skip the player in favour of the previous target or, failing that, the nearest monster (no matter whether friendly, hostile or neutral). Both types of ability crop up at the same piety point, and the ability letters are changed accordingly (which is likely to wreak havoc on those relying on their finger memory, but makes more sense and is easier to remember in the long run). I haven't changed/added the ability descriptions. If someone could do that, please? git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9575 c06c8d41-db1a-0410-9941-cceddc491573
* Fix [2598159]: conjure flame not respecting range limits.haranp2009-02-141-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9068 c06c8d41-db1a-0410-9941-cceddc491573
* Fix debugging ray zaps (e.g. unknown wands) always setting obvious_effect byharanp2009-02-081-10/+2
| | | | | | | | | | | | | making ZAP_DEBUGGING_RAY no longer an obvious_effect. It might be more correct to restore obvious_effect on a tracer, or at least a player_tracer, but bug 2515082 [and r8500] makes me cautious. Fix healing being too generously identified. Fix wand of healing not working on enemies if you happen to worship Ely. Fixes [2580106]. Also some dead code elimination. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8982 c06c8d41-db1a-0410-9941-cceddc491573
* Add more player duration cleanups, and fix ouch() napalm death sources.dolorous2008-11-121-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7439 c06c8d41-db1a-0410-9941-cceddc491573
* Adapt Zin's old Divine Robustness into Elyvilon's Divine Vigour, dolorous2008-09-251-1/+2
| | | | | | | replacing the old Incredible Healing. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6980 c06c8d41-db1a-0410-9941-cceddc491573
* Remove pre-Stone Soup change history from source files, and push it allj-p-e-g2008-09-141-4/+0
| | | | | | | | | | into a file crawlhistory.txt in docs/obsolete. I used a perl script to do this under the assumption that all these change logs used the same system following the keyword "Change History". git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6930 c06c8d41-db1a-0410-9941-cceddc491573
* Rework Zin's Vitalisation to be simpler, based mostly on dploog's dolorous2008-08-191-3/+1
| | | | | | | | | suggestions. Note that divine robustness is no longer available from Zin, but the code for it is still in place, since it can be adopted later for Elyvilon. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6839 c06c8d41-db1a-0410-9941-cceddc491573
* Fix healing spell breakage.dolorous2008-08-041-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6769 c06c8d41-db1a-0410-9941-cceddc491573
* Massive overhaul to move towards coord_def().haranp2008-07-301-55/+5
| | | | | | | | | | This might have introduced some bugs: I now get intermittent crashes on startup (this might have to do with the changes to special_room.) Sorry about that - committing before I need to do any more big conflict resolutions. Fixes coming later. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6732 c06c8d41-db1a-0410-9941-cceddc491573
* Implemented monster spell miscasts. Spell miscasting is now handledzelgadis2008-07-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by the MiscastEffect class, which has helper methods to make most of the non-helper code agnostic with respect to whether the miscaster is the player or a monster. Mummy death curses now affect monsters, and Zot traps now directly affect friendly and good-neutral monsters. In wizard mode you can force the player or a monster to miscast by targeting it and pressing 'M'. Todo/issues/notes: * Clouds now have a killer_type in addition to a kill_category. * There aren't any divination monster miscast effects yet. * Many of the harmless message-only miscast effects are missing monster messages. * If a monster actually miscasts a spell (not getting a mummy death curse or setting off a Zot trap) and this kills both the monster and the player then the wrong monster will be listed in hiscore entry. Since monsters can't do true spell miscasts yet, this can wait. * There was old, non-functioning code making Zot traps heal, haste or turn invisible hostile monsters that triggered it. I fixed it and then commented it out. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6723 c06c8d41-db1a-0410-9941-cceddc491573
* Pan overhaul:dshaligram2008-07-201-23/+1
| | | | | | | | | | | | | | | Allow monsters (including player ghosts) to use fire storm and ice storm, give Lom Lobon ice storm and Cerebov fire storm. Lom Lobon also gets conjure ball lightning. Mnoleg gets Summon Horrible Things instead of polymorph/shadow creatures. Gloorx gets symbol of torment instead of summon demon. Hellion hellfire burst now behaves the same way for both hellion vs player and hellion vs monster. Merged monster vs player and m vs m handling for direct spell effects such as smiting. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6621 c06c8d41-db1a-0410-9941-cceddc491573
* Add more miscellaneous minor cleanups.dolorous2008-06-101-2/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5718 c06c8d41-db1a-0410-9941-cceddc491573
* Modify Evaporate and Stinking Cloud to prompt when firing throughj-p-e-g2008-06-101-1/+1
| | | | | | | | allies. Note: This does still not handle the actual clouds, just the basic beam. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5701 c06c8d41-db1a-0410-9941-cceddc491573
* Add spacing fix.dolorous2008-06-081-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5614 c06c8d41-db1a-0410-9941-cceddc491573
* Improve player beam tracer for firing through friendlies:j-p-e-g2008-05-221-1/+1
| | | | | | | | | | | | | | * name the monster you're firing through ("your goblin zombie") * use maximum possible range * make it work for spells and abilities, as well Still todo: * apply the same logic to firing missiles * don't prompt for monsters that wouldn't be harmed (e.g. living allies for Dispel Undead, etc.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5177 c06c8d41-db1a-0410-9941-cceddc491573
* Rename Zin's Revitalisation to Vitalisation.dolorous2008-05-151-3/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5060 c06c8d41-db1a-0410-9941-cceddc491573
* When placed under penance or excommunicated by Zin, remove divine dolorous2008-05-151-0/+2
| | | | | | | | stamina. Also, consolidate the routines for removing Zin's divine robustness, Zin's divine stamina, and TSO's divine shield. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5059 c06c8d41-db1a-0410-9941-cceddc491573
* Fix some fallthrough-related bugs in Zin's Revitalisation, and allow dolorous2008-05-081-0/+3
| | | | | | | chaining it. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4932 c06c8d41-db1a-0410-9941-cceddc491573
* Rework Zin's Revitalisation so that it remembers which step it was on dolorous2008-04-281-1/+1
| | | | | | | | after being used. Note that there is currently no check for its being used in succession yet. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4731 c06c8d41-db1a-0410-9941-cceddc491573
* In Zin's Revitalisation, make the type of revitalization done a dolorous2008-04-281-1/+1
| | | | | | | | parameter to cast_revitalisation(), instead of determining it randomly inside the function. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4730 c06c8d41-db1a-0410-9941-cceddc491573
* Take the first step toward improving Zin's Revitalisation: HP and MP are dolorous2008-04-241-1/+1
| | | | | | | now restored in greater amounts at high Invocation levels. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4599 c06c8d41-db1a-0410-9941-cceddc491573
* And clean up the previous attempt.dolorous2008-04-201-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4423 c06c8d41-db1a-0410-9941-cceddc491573
* Make Zin's Revitalisation easier to adjust in terms of power by making dolorous2008-04-201-1/+1
| | | | | | | | | the MP increase relative to the HP increase. As a side effect, the MP increase is a bit more powerful; at maximum power, it's now 7 instead of 5. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4422 c06c8d41-db1a-0410-9941-cceddc491573
* Add minor cosmetic fixes.dolorous2008-04-201-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4421 c06c8d41-db1a-0410-9941-cceddc491573
* Fixes to compile with Visual C++. Moved direct.cc and direct.h to directn.* ↵dshaligram2008-04-191-1/+1
| | | | | | to avoid conflict with VC++ direct.h header. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4390 c06c8d41-db1a-0410-9941-cceddc491573
* Add minor cosmetic fixes.dolorous2008-04-181-3/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4316 c06c8d41-db1a-0410-9941-cceddc491573
* Elyvilon will now rarely (5% chance) protect allies from harm.j-p-e-g2008-03-231-1/+1
| | | | | | | | | | | | | | | Since this only leaves them with 1 hp, they'll soon be dead anyway, so I consider it as a mixture of flavour and a warning to the player to heal the ally in question. Make the retribution healing hostiles effect only happen if you worship an evil god, as is done for the other retribution effects. Allow healing to choose a target rather than a direction, but allow Revitalisation (Zin!) to only work on the player. (That's how it was intended, I think.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3817 c06c8d41-db1a-0410-9941-cceddc491573
* Add Ely's pacifying monsters effect:j-p-e-g2008-03-221-1/+1
| | | | | | | | | | | | | | | | | When a follower of Elyvilon attempts to heal a hostile monster (via ability or wand) there's a chance, depending on the healing value, max monster hp and monster type, that Ely will make that monster become neutral. If this happens, Ely hands out a bit of piety and his follower gains half of the monster's xp value. If the pacifying attempt fails, the monster is never healed, though you still lose your ressources (mana, piety, charges). Killing neutral monsters currently means you won't get any xp. Also, Ely dislikes this and hands out penance for doing so. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3812 c06c8d41-db1a-0410-9941-cceddc491573
* [Bug 1907221] Add "Modified for Crawl Reference" statement and author to aj-p-e-g2008-03-081-1/+3
| | | | | | | | huge number of files. Also correct file name comments. No coding changes. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3539 c06c8d41-db1a-0410-9941-cceddc491573
* [FR 1903593] Change identification process of j-p-e-g2008-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | ?recharging, ?enchant armour and ?identify. If you read one of these scrolls and the type isn't known yet you are prompted with "Modify which item?" (better message needed!) and get to choose from the entire inventory. If the chosen item can be usefully "modified" by the scroll (unID'd item for identify, wand for recharging, enchantable armour for EA) the usual effect takes place and the scroll is identified. (Reading other scrolls of the same type will then only offer a more sensible selection of items.) Otherwise, nothing happens. Further, recharging and enchant armour now allow direct choice of the item in question, and it doesn't even have to be wielded or worn. I think this change actually makes the id game more interesting and also improves the interface. Gameplay might dictate that we reintroduce the "armour needs to be worn" rule, but that remains to be seen until after some more playtesting. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3514 c06c8d41-db1a-0410-9941-cceddc491573
* A completely reworked version of Zin as per the lengthyj-p-e-g2007-12-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | discussion in October/November. Zin effects: - protection from harm (like all good gods) - feeding when starving (as before) - mutation resistance (chance of piety/200) Zin restrictions: - no cannibalism (like all good gods) - no attacking friends - no eating of intelligent beings' corpses - no deliberate mutating Zin invocations: - Smiting (general priestly ability?) - Revitalisation (Minor Healing + 5 mp) - Sanctuary (protection from attacks) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3164 c06c8d41-db1a-0410-9941-cceddc491573
* Added fog machine Lua map markers. Needs a C interface to make it usablezelgadis2007-10-181-1/+1
| | | | | | | | | | | | | | | in level generation. Clouds now have a "spread rate" field, which by default uses the same per-cloud-type rate as before (normal spread rate for steam, grey smoke and black smoke, no spreading for other cloud types). Might want to make the spread rate decrease as the cloud spreads (currently it remains unchanged). Added new dungeon event type "entered level", to complement "entering level". git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2489 c06c8d41-db1a-0410-9941-cceddc491573
* Introduces three new wall types, translucent versions of the normalzelgadis2007-09-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rock wall, stone wall and permanent rock wall. These are for use in vaults, and are never randomly generated. Magically translucent versions of the normal wall types are used, rather than glass, so we don't have to figure out how glass would react to things like digging and Shatter, but can re-use the code for the normal wall types. I've tried to fix all the places where the old code assumes that any square which is visible to the player has no walls between it and the player, but I've probably missed lots; this will require a lot of play testing before its ready for non-developers. viewwindow() now has two calls to losight(), the second one determining what squares would be visible if all translucent walls were made transparent, so that there's a quick way to see if there's any translucent walls between the player and a square. This second call to losight() doesn't cause any noticeable slowdown for me, but it might on an older system. Other than viewwindow() making a second call to losight(), there shouldn't be any changes to game-play or game-logic if there aren't any translucent walls around. The wizard blinking command (&b) has been changed so that it ignores all normal restrictions except for needing to see the target square and not landing on monsters; if the player lands on a wall square it's changed to floor. Wizard blinking also doesn't increase magical contamination. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2145 c06c8d41-db1a-0410-9941-cceddc491573
* Split off portions of externs.h and enum.h into other files. Thezelgadis2007-09-151-0/+1
| | | | | | | | | | | | | crawl_environment, player and monsters classes have been left in externs.h, which necessitates that all of the enums references by those classes stay in enums.h, since you can't forward declare an enum. However, it's a start. Also, portions of misc.{cc,h} have been split off into traps.{cc,h}, place.{cc,h} and terrain.{cc,h} git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2095 c06c8d41-db1a-0410-9941-cceddc491573
* Drop Control Teleport and Controlled Blink by one spell level each.dshaligram2007-07-151-1/+1
| | | | | | | | [1750729] Controlled Blink (the spell) now decays to semi-controlled blink on levels that block teleport control and is less likely to be blocked by the Abyss. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1873 c06c8d41-db1a-0410-9941-cceddc491573
* Some more card implementations (resists in Helm, demon summoning.)haranp2007-06-231-1/+1
| | | | | | | More type-safety. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1624 c06c8d41-db1a-0410-9941-cceddc491573
* Conjuring flame onto a fire cloud now makes the fire yours and lengthensharanp2007-05-081-1/+1
| | | | | | | its duration. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1428 c06c8d41-db1a-0410-9941-cceddc491573
* Type safety, cast cleanups, etc.haranp2007-05-011-2/+2
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1401 c06c8d41-db1a-0410-9941-cceddc491573
* Cleaned up clouds and threw out the foo_MON values from the cloud enum. Thedshaligram2007-03-221-2/+3
| | | | | | | | | | | creator of the cloud is now remembered with the cloud, so kills from friendlies' poison clouds are credited appropriately. Increased MAX_CLOUDS to 180. Breaks save compatibility. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1076 c06c8d41-db1a-0410-9941-cceddc491573
* Added an invocable power to train Invocations for Lugonu (previously the firstdshaligram2007-03-191-1/+1
| | | | | | power that could train Invocations was the 7mp demon summon). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1061 c06c8d41-db1a-0410-9941-cceddc491573
* Move spell targeting before miscast check. Not everything is moved - spellsdshaligram2007-03-141-4/+4
| | | | | | | | | | with weird targeting (like Conjure Flame) still target after the miscast check. Tweaked targeting prompt slightly. Don't dock turn for zapping non-wand. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1039 c06c8d41-db1a-0410-9941-cceddc491573
* Merged stone_soup r15:451 into trunk.dshaligram2006-11-221-7/+7
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@452 c06c8d41-db1a-0410-9941-cceddc491573