summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mgen_data.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove Big Fish from the gamereaverb2014-07-011-1/+1
|
* Manually fix a few more instances of return (...)Neil Moore2013-11-151-4/+4
| | | | | These weren't caught by util/unbrace because they weren't at the beginning of the line.
* Buff Spectral Weapon damage (scales with weapon skill)Ed Gonzalez2013-06-291-0/+1
| | | | | | | | | | | | | | | | Spectral Weapon damage now scales with weapon skill similarly to how player and player ghost damage does. However, the effective skill is reduced by spell power. At 0 power, weapon skill is 1/3 as effective. At max (100) power, weapon skill is fully as effective as on the player. In between, the effect on skill scales linearly with power. There's a table in the comments of the code, showing some values. The numbers might need tweaking, since getting comparable damage at max power is likely desirable. However, encouraging players to train more charms is a good thing.
* Moved the setting of Spectral Weapon stats to ghost code, like dancing.Ed Gonzalez2013-06-261-0/+2
| | | | | | | | | By initialising the weapon's stats using a ghost, more properties can be easily set. Also vault/wiz-mode placed spectral weapons now get appropriate stats, as if the spell had been cast at max power and max weapon skill. Spectral weapons still shouldn't be placed directly in normal games.
* New monster spell: Awaken VinesDracoOmega2013-06-241-1/+2
| | | | | | | | | | | | | | | | This spell summons 1-3 snaplasher vines at spots adjacent to trees within the LoS of both the caster and their target. A single caster can animate no more than 3 vines in total at once. No vine can be placed such that connectivity is blocked, nor within several squares of any existing vine. Moreover, no one will cast the spell if several vines are already in LoS, even if those vines do not belong to them. Additionally, the vines will die on their own when the caster leaves LoS of them (or dies). Ideally, this means that the vines will attack the player from multiple angles at once, without ever completely blocking off routes or flooding the screen when multiple casters are present.
* Allow random chimera to be created with MONS syntaxPete Hurst2013-06-231-0/+3
| | | | | | | | | | This enables a MONS spec to just be "chimera" and three depth- appropriate monsters will be used. This can produce bizarre results but might be useful. It should also allows things like "place:Zot:5 chimera vs place:Pan chimera" in Arena. The filters could be refined further to allow random chimera to not be completely ridiculous.
* Support chimera in monster spec syntaxPete Hurst2013-06-231-0/+3
| | | | | | | | Currently the syntax as implemented is chimera:foo,bar,baz But this will most likely change.
* Merge branch 'master' into mon-pickAdam Borowski2013-02-241-0/+1
|\ | | | | | | Sorry for merge commits, but rerere is pretty limited.
| * Rename arcane familiar to battlesphere.elliptic2013-02-091-1/+1
| | | | | | | | | | | | | | | | The word "familiar" suggests a summon rather than a magical construct; this spell is much more like Conjure Ball Lightning than Call Canine Familiar. Since the suggestion "battlesphere" has met with great approval (or at least nobody has come up with better), let's use that.
| * Add Iskenderun's Arcane Familiar spellDracoOmega2013-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a level 4 conjurations/charms spell which conjures an arcane familiar that follows the caster around and fires blasts of energy at its creator's target whenever they cast any projectile-based conjuration. Like orbs of destruction, they cannot be directly commanded, but should generally do their job with minimal fuss on the player's part. Unlike orbs of destruction, they can be targetted and destroyed by enemies. The familiar is created with a small number of charges. Each time it fires, a charge is consumed, and the familiar will expire when all these charges are expended (or after a moderate length of time, if they are not). Only one familiar can be active at a time, but recasting the spell while one exists will give the familiar additional charges (up to a limit) and also recall it if out of sight. If it does not have a clear shot at the chosen target, it will attempt to reposition itself so that it does; if it can reach a valid spot before the next player turn, it will fire its own volley, otherwise no shot will be made (though it will hopefully be better positioned so that it can mirror your spell on the following turn).
* | Merge branch 'master' into mon-pickAdam Borowski2013-01-091-2/+2
|\|
| * Constify the actor in mgen_data.Adam Borowski2012-12-161-2/+2
| |
* | Merge branch 'master' into mon-pickAdam Borowski2012-11-041-6/+5
|\| | | | | | | | | Merge commits instead of rerere suck, but not being able to comfortably use the test rig sucks even more.
| * Remove unnecessary includes from header files.Jay3.14152012-10-231-1/+0
| | | | | | | | | | | | | | | | | | | | For most header files, this only saves on having to recompile a small number of source files, but there are also a few headers where small changes would now take significantly less time. This is most obvious for the Tiles build for which the dependencies have been greatly reduced, so that the only additional includes when compared to console are strictly library or tile related.
| * Use std namespace.Raphael Langella2012-08-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* | Get rid of mgen_data.power, use place for that.Adam Borowski2012-11-041-8/+2
| | | | | | | | | | | | | | There's still a lot of use of monster_level inside monster selection, but at least the external interface should be free of it. ZotDef is handled by a hack, might be wrong -- beware.
* | Don't overload mgen_data.power for Tukima's power.Adam Borowski2012-11-041-0/+1
|/ | | | | It is absdepth for all other uses; there's no connection between the two except an extremely ill-thought name.
* Merge branch 'master' into portal_branchesAdam Borowski2012-02-201-2/+3
|\
| * Eliminate an almost empty file.Adam Borowski2012-01-031-2/+3
| |
| * Eliminate duplicated symbols.Neil Moore2011-12-271-1/+1
| | | | | | | | | | | | | | | | | | Objects, even const ones, should not be defined in header files, or there will be one copy for each source file that included that header. Move the offending definitions into source files, and replace them with extern declarations in the headers. Also, make the opc_* instances const and not static.
* | Use branch depth rather than absolute depth as the authoritative one.Adam Borowski2012-01-031-2/+2
| |
* | Get rid of level_type, unify BRANCH_*, LEVEL_* and portal vaults.Adam Borowski2011-11-041-4/+4
|/
* Fix misleading comment in mgen_data.hPete Hurst2011-08-301-1/+1
|
* Use fake_abjuration for SimulacraChris Campbell2011-08-011-1/+2
| | | | | Like Death Channel spectral things and snakes from Sticks to Snakes, they're temporary but not actually summoned and shouldn't be abjurable.
* Allow setting of shapeshifter initial form via monster spec (#3818)Jude Brown2011-04-171-5/+8
| | | | | | | | It's a bit difficult to get a shapeshifter as an unseen horror without trial and error, so I added this in to allow you to place "shapeshifter shifter:unseen_horror" to get an unseen horror-flavoured shapeshifter! It's possible code for this already exists but I couldn't find any.
* Use fake_abjuration for Death Channel spectralsChris Campbell2011-03-151-1/+2
| | | | | They're temporary allies, but not summons, and so shouldn't be abjurable.
* Reimplement Sticks to Snakes as a pure transmutation.Jude Brown2011-01-171-1/+2
| | | | | | | | | | | | This introduces a new transitory state of monsterness: fake abjuration. It takes the same values as normal abjuration, but these monsters are otherwise described as "short lived". They are not abjurable, do not give EXP, do not leave corpses, and "wither and die" when their timer runs out. This will be extended upon for homunculi! Hooray! I might've missed something, but I think I've gotten everything.
* Explicitely specify the type for genflags.Adam Borowski2010-10-041-3/+3
| | | | | Bitfields need to have their width documented, even if all architectures we support define "unsigned" as same as uint32_t.
* Add spacing fix.David Lawrence Ramsey2010-10-031-1/+1
|
* In the mgen_data class, rename the initializer variables for clarity.David Lawrence Ramsey2010-10-031-8/+8
| | | | | Instead of monflags for 32-bit MG_ flags and mflags for 64-bit MF_ flags, which are rather confusable, they're now genflags and extflags.
* Fix *actual* type mismatch in mgen_data::mgen_data().David Lawrence Ramsey2010-10-031-1/+1
| | | | | The flags parameter in mgen_data::mgen_data() is unsigned int, but the monflags parameter that initializes it in the constructor was uint64_t.
* Revert "Fix type mismatch in mgen_data::hostile_at()."David Lawrence Ramsey2010-10-031-1/+1
| | | | | | | This reverts commit 4f45919f3dedc18a2aed6a22d152ceac6d1f6b85. There's actually no mismatch (oops); monflags holds MG_-type flags, so it's only 32-bit.
* Fix type mismatch in mgen_data::hostile_at().David Lawrence Ramsey2010-10-031-1/+1
| | | | | | The monflags parameter in mgen_data::mgen_data() is uint64_t, but the monflags parameter in mgen_data::hostile_at(), which it passed to mgen_data::mgen_data(), was still unsigned int.
* Pass weapon into monster generation code for Tukima's Dance.Robert Vollmert2010-09-171-0/+4
| | | | | | | | This seems to be a bit cleaner, and allows fixing issue #2597 (incorrect "comes into view" message when Xom animates your weapon during a delay). The message order is still wrong, but that's a different issue.
* Make a few flag types use non-ambiguous storage.Adam Borowski2010-06-201-3/+3
|
* shut up some clang warningsLuca Barbieri2010-06-141-6/+6
| | | | Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
* Make the monster version of Doroklohe use an "entombed" enchantment.David Lawrence Ramsey2010-05-141-2/+1
| | | | | | | | | | This removes Khufu-specific code, and allows the spell (or something much like it) to be reused for e.g. Zin's eventual Imprison ability. Note that the regeneration rate in the duration is based on HD instead of actual regeneration rate, in order to avoid the randomness of the latter. In Khufu's case, it seems to be long enough to fully heal him, as before. It's a bit hackish, but it's easy enough to change if there turns out to be a better way.
* Place Shoals monsters on land if possible to reduce empty-Shoals-syndrome ↵Darshan Shaligram2010-05-021-2/+11
| | | | from all monsters sleeping in water far from land (rob).
* Rename hilariously misnamed you.your_level to you.absdepth0.Adam Borowski2010-02-101-2/+2
|
* Fix newlines at end of file.Adam Borowski2010-01-211-1/+0
|
* Iskenderun's Orb of DestructionAdam Borowski2009-12-201-1/+1
|
* Minor tweaks to TILE: specifier.Jude Brown2009-12-101-1/+4
|
* Apply extra_monster_flags earlier to fix "comes into view" errors.Jude Brown2009-12-051-2/+8
| | | | | | | | | | | Rebranded monsters (ie, "kobold name:Durwent name_replace") who are created with Lua and dgn.create_monster while the player is resting will generate a "XYZ comes into view" warning message. However, as this message is triggered by handle_seen_interrupt, which is triggered before the additional flags are applied, it will disregard MF_NAME_SUFFIX, MF_NAME_REPLACE, MF_NAME_ADJECTIVE, etc. Applying these flags earlier fixes this.
* Remove header includes from mon-place.h.Robert Vollmert2009-11-271-0/+165