summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-cast.cc
Commit message (Collapse)AuthorAgeFilesLines
* Rename transfor.{cc,h} to transform.{cc,h}.Adam Borowski2010-01-071-1/+1
|
* Continuation of the range combat overhaul: branding spells.Jude Brown2010-01-011-40/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As outlined in dpeg's ranged combat overhaul, branding spells should no longer be permanant, nor apply directly to the ammunition. This commit removes all previous "<X> Ammunition" spells, including the original "Poison Ammunition" spell. Instead, branding ammunition is now done via the launcher and the currently existent weapon branding spells. Currently, those that can be applied to a launcher are: Fire Brand, Freezing Aura and Poison Weapon. There is the capacity of Excruciating Wounds to also be applied, but this would require the addition of the Pain ego for missiles, of which the mechanics would need to be decided upon first. Like temporary brands on weapons currently, these brands on launchers are permanantly affixable by using a scroll of vorpalise weapon. This commit also overhauls the Arcane Marksman class. It began by removing the non-existent ammunition spells; this left Devastating Missiles with two spells: haste and deflect missiles. On reflection, I decided to delete the book instead. The Book of Elemental Missiles was easily adjusted by replacing the three branding spells by the existent (and aforementioned) branding spells. As there are no (according to the 0.6 ranged combat overhaul spec) spells intended for use with translocation effects on missiles, this left The Book of Warped Missiles rather empty. Attempts were made (with discussion with Eronarn on IRC) to work out something else to fill up the Book of Warped Missiles with, but I made the decision to get rid it instead, as the only good suggestions basically made it the Book of Spatial Translocations, and in that case, the player may as well select the warper class. We also discussed whether or not to remove Poison Weapon from the Elemental starting book; I decided it was best to leave it now, but increase its level from 2 to 3, to give the book more of a range of levels (starting a Spriggan Arcane Marksman had all the spells listed as "excellent" or "very good"; more on this shortly). I also decided that Repel Missiles is over-used in this context, and upon Eronarn's suggestion and sorear's agreement, have replaced it with Cause Fear. I think this will provide for interesting game play, and that the level of the spell is suitably high enough for it to not be abused. I also made the executive decision that "Elemental Missiles" was no longer an appropriate title, as it didn't contain any ammunition-specific spells any longer, and have renamed the book to the "Book of Brands". It is now: Book of Brands Level 1, Corona Level 2, Swiftness Level 2, Fire Brand Level 2, Freezing Aura Level 3, Poison Weapon Level 5, Cause Fear As the Arcane Marksmen class is now launcher-specific, rather than ammunition-specific, I have adjusted it to no longer give Hill Orcs, Sludge Elves and Merfolk javelins and throwing nets (they get bows like everyone else), and made the decision to ban Trolls and Ogres from the class altogether. The reasoning here is that they have bad launcher aptitudes, and as they are described as "marksmen", it makes no sense to give them a book full of launcher-specific spells and some large rocks and throwing nets. This change could, of course, be reverted, and they could simply be given bows, crossbows or slings as relevant, in line with all other races being given launchers and ammunition. I have adjusted the starting skill levels for enchantments, spell- casting and dodging to that of Crusaders. I have also removed Poison Ammunition from the Book of Envenomations, and replaced it with Poison Weapon instead. Finally, I have increased TAG_MAJOR_VERSION to 14.
* Merge branch 'master' into ioodAdam Borowski2009-12-301-1/+7
|\
| * Merfolk (water/ice) elementalists join the Shoals guard.Darshan Shaligram2009-12-291-0/+6
| |
| * Rename MF_CREATED_FRIENDLY to MF_NO_REWARD, since that's all it's used for ↵Stefan O'Rear2009-12-281-1/+1
| | | | | | | | these days.
* | Use dprf().Adam Borowski2009-12-201-7/+2
|\|
| * Replace long debug message calls with dprf(), except for cases where a dumb ↵Adam Borowski2009-12-201-7/+2
| | | | | | | | | | | | compiler could call unnecessary functions. For paranoia, I left even any uses of std::string.
* | Iskenderun's Orb of DestructionAdam Borowski2009-12-201-0/+8
|/
* Make passwall use standard targetting system.Robert Vollmert2009-12-011-1/+3
| | | | This means it's properly abortable now.
* Remove further header-include. env.h now always directly included.Robert Vollmert2009-11-271-0/+1
|
* Add new targetting flag SPFLAG_TARG_OBJ for object targetting.Robert Vollmert2009-11-241-5/+5
| | | | | Also make apportation use this. Apportation now doesn't target out-of-sight objects anymore.
* tiles: spell_list() now shows spell tilesMatthew Cline2009-11-211-1/+12
| | | | Also, spell_list() now always displays in tiles mode for tiles builds.
* Move silenced(pos) to areas.cc.Robert Vollmert2009-11-211-0/+1
|
* Properly ignore all conducts when a god makes you cast a spell.David Lawrence Ramsey2009-11-191-8/+4
|
* Split chaotic things into unclean and chaotic things.David Lawrence Ramsey2009-11-191-1/+4
| | | | | | | | | | Chaotic things are now shapeshifters, mutators, etc., while unclean things are diseasing things, rotting things, etc. Zin still hates both. As good gods treat both unholy and evil monsters as evil, he'll treat both unclean and chaotic monsters as chaotic. Note that silver will only do extra damage to chaotics, as before.
* list_spells(): tiles menu, selector callbackMatthew Cline2009-11-181-11/+14
| | | | | | | | The list_spells() menu can now optionally be a tiles menu, and it can be passed a callback to select which spells to list or not (and to select which spells should be greyed-out). Also made _calc_spell_range() a globally available function.
* Flatten header dependencies a bit.Robert Vollmert2009-11-171-0/+1
| | | | | | This removes a couple of unnecessary includes from header files. I may have missed adding some tiles includes.
* Simplify out-of-range darkening.Robert Vollmert2009-11-161-5/+5
| | | | | | | | | | | | | | | Also fixes the range_view_annotator destructor clobbering option "darken_beyond_range". Options.target_range is now really an option, and called Options.darken_beyond_range. Current darkening range is now stored in crawl_state.darken_range. I can't reproduce SIGHUP retaining darkened range (BR 2151183) (why would it be saved?), so range_view_annotator is not a crawl_exit_hook anymore. crawl_exit_hook is not used anymore, but still present.
* Simplify the message when Kiku forces necromancy miscasts.David Lawrence Ramsey2009-11-151-8/+9
|
* Kikubaaqdgha finetuning.Alex MacDonald2009-11-161-0/+13
| | | | | | | | | | | Kiku corpse invocation now costs less piety and hunger. Kiku accepts all forms of killing, now including demons. Kiku wrath buffed severely; player can expect miasma, titan zombies, and necromantic miscasts. Casting necromantic spells will also incur miscast effects (but not cause the spell to fail). Kiku '?/G' flavor text updated. Signed-off-by: David Ploog <dploog@users.sourceforge.net>
* Remove now-inaccurate comment.David Lawrence Ramsey2009-11-151-2/+0
|
* Move the brand_ammo() failure messages to the spellcasting routine.David Lawrence Ramsey2009-11-151-8/+16
|
* Rename cast_brand_ammo() to brand_ammo(), for consistency.David Lawrence Ramsey2009-11-151-8/+8
|
* Fix a few whitespace errors.Adam Borowski2009-11-151-1/+1
|
* Merge Johnny Shelley's arcane marksman patchStefan O'Rear2009-11-151-5/+1
|\
| * Remove the Divinations school.Adam Borowski2009-11-151-1/+1
| |
| * Remove #include <conio.h> from all over the place. Convert COLORS to an enum.Adam Borowski2009-11-141-4/+0
| |
* | Warper Overhaul - Renamed to Arcane Marksmanjohnny shelley2009-11-141-1/+29
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Missile Changes -- electricity missiles are now an option - they are always destroyed reaping / dispersal ammo is now always destroyed as it can be created by players poison ammo can again affect rocks / bullets etc - still no nets. Apparently this is a contact poison, but mainly it's to close the gap between sling users and archers. SKILLS -- Ranged weapon 3 Dodging 2 Spellcasting 2 Enchantments OR Translocations 3 EQUIPMENT -- Robe Ration Scroll of blink Some ranged weapon options as Hunter No melee weapon! Either book of elemental missiles or warped missiles The book of Elemental Missiles Spells Type Level a - Corona Enchantment 1 b - Swiftness Enchantment/Air 2 c - Repel Missiles Enchantment/Air 2 d - Flame Ammunition Enchantment/Fire 3 e - Frost Ammunition Enchantment/Ice 3 f - Poison Ammunition Enchantment/Poison 4 The book of Warped Missiles Spells Type Level a - Apportation Translocation 1 b - Portal Projectile Translocation 2 c - Repel Missiles Enchantment/Air 2 d - Blink Translocation 2 e - Returning Ammunition Enchantment/Translocation 3 f - Warp Ammunition Enchantment/Translocation 5 The book of Devastating Missiles Spells Type Level a - Poison Ammunition Enchantment/Poison 4 b - Warp Ammunition Enchantment/Translocation 5 c - Shocking Ammunition Enchantment/Air 5 d - Haste Enchantment 6 e - Deflect Missiles Enchantment/Air 6 f - Exploding Ammunition Enchantment/Fire/Air 7 g - Reaping Ammunition Enchantment/Necromancy 7 Signed-off-by: Stefan O'Rear <stefanor@cox.net>
* Convert a bunch of coordinate loops to new radius_iterator.Robert Vollmert2009-11-131-8/+1
|
* New monster spell: Sleep. Give sleep to Aizul.Jude Brown2009-11-131-0/+5
| | | | | | Unlike Ensorcelled Hibernation, Sleep checks MR only, rather than MR and cold resistance. It also does not check monsters having SLEEP_WEARY. It will not act on something that is already sleep.
* Add summoner and non_actor_summoner to mgen_dataStefan O'Rear2009-11-121-2/+2
| | | | | Monsters now know who summoned them. This will be important later. Probably breaks something; saves are not one of them.
* Rename SPELL_BACKLIGHT -> SPELL_CORONA, and relevant ZAP/BEAM/DUR.Jude Brown2009-11-121-2/+2
|
* Rename SPELL_MASS_SLEEP -> SPELL_ENGLACIATION.Jude Brown2009-11-121-1/+1
|
* Rename SPELL_SLEEP -> SPELL_HIBERNATE, and relevant ZAP/BEAM.Jude Brown2009-11-121-2/+2
|
* Use get_free_monster in other places.Robert Vollmert2009-11-121-10/+4
|
* Rename monspeak/monplace/monstuff to mon-speak/place/stuff.Jude Brown2009-11-121-1/+1
| | | | | I'm pretty sure I've managed to replace every instance of a reference to these files, so I hopefully haven't missed anything.
* Properly split up unholy and evil items, reworking is_(unholy|evil)().David Lawrence Ramsey2009-11-101-6/+1
| | | | This is mainly for Fedhas, who hates the latter but not the former.
* Replace actor::is_unholy() with actor::undead_or_demonic().David Lawrence Ramsey2009-11-101-2/+2
|
* Use wrapper functions properly when checking for holy spells.David Lawrence Ramsey2009-11-101-1/+1
|
* Remove a few obsolete includes.Robert Vollmert2009-11-101-2/+0
| | | | Also add a few previously indirect includes.
* Split shouting and stealth code from view.cc.Robert Vollmert2009-11-101-0/+1
|
* Remove option draw_it from viewwindow.Robert Vollmert2009-11-091-2/+2
| | | | | | The only use was just removed. Also move the draw check closer to where it's used.
* Replace mons_wont_attack with monsters::wont_attack.Vsevolod Kozlov2009-11-091-1/+1
|
* Move see_cell_no_trans into player.Robert Vollmert2009-11-081-1/+1
| | | | Also collect actor/player LOS code in actor-los.cc.
* Replace uses of spelltype_name with spelltype_long_name.Vsevolod Kozlov2009-11-081-1/+1
|
* Split map knowledge and FPROPs.Robert Vollmert2009-11-081-1/+2
| | | | | | | | map_cell no longer has the field "properties", which has been replaced by the unsigned long array env.pgrid. env.map has been renamed to env.map_knowledge. It should really be moved into player.
* Remove unused SPELL_DISRUPT and ZAP_DISRUPTION.Vsevolod Kozlov2009-11-081-5/+0
|
* Replace player_weapon with player::weapon.Vsevolod Kozlov2009-11-071-1/+1
| | | | Signed-off-by: Jude Brown <bookofjude@users.sourceforge.net>
* Move checks for the berserk state into actor::berserk().David Lawrence Ramsey2009-11-061-1/+1
|
* Add actor::set_position.Robert Vollmert2009-11-061-1/+1
| | | | | | | | | | | | This should be used instead of setting position directly. actor::position could be made "protected" except for the arena's unwind_var(you.position), which is too difficult for me to fix. The reason behind this change is that actors should get their own LOS, whose origin should be synchronized with the actor's position. This change also removes the non-const "coord_def& actor::pos()" (yuk).