| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the idea of introducing more summoning spells that a bit
unique in some way, this is a level 7 Summoning/Conjurations spell
which summons a single golem-like being that possesses a subset of
the caster's own conjurations.
The spell list is assembled deterministically, somewhat similar to
player ghosts (though different in a number of regards). The first
3 spell slots draw from a 'primary' list containing direct
conjurations like bolt of cold or poison arrow, while the next 2
are from a 'secondary' list which tends to contain AoE effects and
cloud spells, as well as things like airstrike. Spells are selected
roughly in order of level and power, with the player's higher spell
skills having a small effect. In practice, I think the servitor
will fairly transparently possess a selection of the player's better
spells, without anyone needing to think much on how it arrived at
this list.
Many of the highest level spells (like fire storm and shatter) are
excluded not only for power reasons, but also because a servitor
using these could be downright dangerous to its caster. The main
exception I made here was CBL, which is allowed (being both
lower-level and often similarly dangerous when the player uses it,
though I open to changing this).
|
|
|
|
|
|
| |
Causes the three heads to announce themselves when the chimera
is released; gives you a flavourful hint as to what the components
are without specifically checking.
|
|
|
|
|
| |
Currently resists are additive between the three different
parts. Also the chimera now gets SInv if one of the parts has it.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Unlike st_'s purge which removed harmless renames because they had no
C++-side code, these are bad precisely because they have C++ side code,
and lots of it -- with a custom structure that's worse than if each of
10 labrat flavours had a separate mon-data entry, and none have a special
ability to show for it.
A rename costs a description and perhaps a tile, there's no maintenance
burden.
|
|
|
|
|
|
|
|
|
|
|
| |
This stops wands of paralysis, the Petrify spell, and nets from auto-killing
anything that can fly (ie, a good part of later threats).
Also, this fixes unwinged humanoids from getting wings in tiles and for other
shape considerations.
Unrelated fixes: message when flying up stairs, monsters picking items from
deep water.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the same concept as in neunon's branch "smaller-binary", except it
goes farther, getting rid of a list of objects with transposed resist types
and levels. The old code had an array like:
"+++: rC, rF. ++:rElec. -:rPois", which existed only in static constructors
which then were converted again to a regular struct.
It turns out the whole exercise is nearly pointless: savings are around 27K
rather than neunon's 674K; apparently he uses an ANCIENT compiler on a Mac
that can't handle static object initializers well.
|
|
|
|
|
|
|
|
|
|
| |
An imperial buttload of places assumes these to be 8 bits, which makes it
impossible to add support for 256 (or more!) colours. This commit tries
to allow expanding it in the future; sadly, it is badly incomplete. At
least, new code can use the new type.
Also, beware of "branded" colours which use bits above 8 for inverse,
underline, etc.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
crawl-ref/source/Makefile.obj
crawl-ref/source/dbg-scan.cc
crawl-ref/source/decks.cc
crawl-ref/source/describe.cc
crawl-ref/source/directn.cc
crawl-ref/source/evoke.cc
crawl-ref/source/fight.cc
crawl-ref/source/fight.h
crawl-ref/source/ghost.cc
crawl-ref/source/ghost.h
crawl-ref/source/item_use.cc
crawl-ref/source/items.cc
crawl-ref/source/map_knowledge.cc
crawl-ref/source/melee_attack.h
crawl-ref/source/mon-abil.cc
crawl-ref/source/mon-act.cc
crawl-ref/source/mon-stuff.cc
crawl-ref/source/monster.cc
crawl-ref/source/monster.h
crawl-ref/source/player.cc
crawl-ref/source/player.h
crawl-ref/source/shopping.cc
crawl-ref/source/spl-damage.cc
crawl-ref/source/spl-summoning.cc
crawl-ref/source/spl-transloc.cc
crawl-ref/source/stairs.cc
crawl-ref/source/stuff.cc
crawl-ref/source/tags.cc
crawl-ref/source/traps.cc
crawl-ref/source/xom.cc
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replaces mon_attack_flavour with attack_flavour with the hopes that
at some point in the future we might be able to use it instead of
brands as a unified method of identifying a particular attacks'
flavour. Alternatively, it might find a niche in player attacks
that have flavour but are not actually brands (confusing touch).
In addition, this adds attk_type, attk_flavour, and attk_damage to
attack class. These variables have their value set (if the attacker
is of atype() ACT_MONSTER) to the apropriate values of the mon_attack
_def within melee_attack::melee_attack(..). This allows us to only
create one instance of mon_attack_def and thereafter are free to
reference the variables directly.
This commit should allow for me to continue to merge monster_attack
into the unified code line. This serves as a milestone, but presently
most of the functionality of monster combat (and part of player
combat as well) is certainly broken / non-existant (those code paths
have been isolated from the line of exection, pending being written
into the unified code).
|
|/
|
|
|
|
|
|
| |
Since adding mon_attack_def to attack or melee_attack class would be bad,
a compromise would be to take the facets of the struct and add them to the
class for ease of reference. Right now they would only be useful for monster
attacks, but in the future they could prove useful for differentiating
player attacks (like trample) from normal player attacks.
|
|
|
|
|
|
|
| |
"File:" is shown in your editor's status bar.
"Written by:" was used only for the first person who changed a file. We got
git for that now, and pre-DCSS history is so woefully inaccurate it doesn't
really matter.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Laboratory rats now have a variety of flavour: armoured, levitating,
fire-breathing, vampiric, etc. They're mainly just a bit of fun and
whimsy, but they do work properly and have an interesting theme.
Hopefully someone will come up with a better vault to use them in!
This commit also finished the previous block of monsters (fire crabs,
porcupines, laboratory rats and bog mummies) that I added earlier.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This should help against the signed char problems, and is good for
code readability. Now, if you have a char, it's either an untyped
in-memory byte, or a symbol inside a string. Small numbers are instead
[u]int8_t, ints, an enum type, or, in so many cases, bools.
I didn't touch any of the tiles code, as it's currently broken and I don't
want to risk making it unbroken harder.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes in v3 (rob):
- update for master (bleeding, deflect missiles, ...)
- fix misled not ending
- fix all monsters getting extreme fire resistance
Changes in v2:
- add operator =
monster_info is changed from the monster list's structure to a general
purpose structure storing player-known information about a monster.
The plan is to make all the user interface code read data from
moster_info, so that:
1. There is no risk of accidental leaks, since all the sensitive code
is in one place
2. Complicated things like misled and fake monsters are correctly
handled, and the code exists once
3. The structure can be serialized for client/server play, and the
deserialized structure can be passed to the UI code (this is still
theoretical)
This will be done in a successive patch.
Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
|
| |
|
| |
|
|
|
|
|
| |
corpses randomly cycle through all their available colors instead of
always being (light)red.
|
| |
|
|
|
|
| |
colour.
|
| |
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10734 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
| |
mutate into (very) ugly things of a different color. Also,
shapeshifters can no longer take their forms, and they can no longer be
made shapeshifters themselves.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10718 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
| |
types/flavors for ugly things. They now use the ghost_demon struct,
expanded to account for these characteristics.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10709 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* don't load the ghost(s)
* print an error message mentioning the bones file
* don't delete the bones file, so players can attach it to a bug report
The last point means that the player (or admin, in the case of the
servers) has to delete a buggy bones file themselves, but the benefits
of making tracking down bugs easier should outweigh that inconvenience.
Add a new wizmode command that calls debug_stethoscope even if the game
is not compiled in debugging mode.
Also, Stone Soup 0.5 bones files are now officially incompatible with 0.4.
(The changes to the spell ids cause ghosts casting spells to crash the
game.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9832 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
| |
if they worshipped good gods, since player ghosts are undead and, hence,
evil by good gods' reckoning). This gives them the proper title if
Invocations was their highest skill in life.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9550 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8218 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5590 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of these fall into the category:
- don't use struct to refer to a class, and vice versa
- msvc doesn't like unistd.h or dirent.h
Doesn't fix all the struct/class problems; I think I'll silence
those for now and move on because it's not all that important.
Tested on OS X.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3571 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
| |
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
|
|
adjusted per monster to hand out the right resists. The current
MR_RES_FIRE gives one level of resistance only.
Added a real ghost structure, discarded the old ghost values array.
Adjusted bones file format so bones will work out-of-the-box with
Hearse. Breaks bones format, older bones will be rejected.
Fixed some maps with bad DEPTHs.
Added more safe answers in Y/N prompts, added a check to make it less
likely that Crawl will spin in a tight loop reading input from a
closed tty.
(Experimental) !a will override existing foe of friendlies in LOS.
Blademasters no longer pick up stuff to throw (Erik).
Zombies of swimming things are also swimming things. Currently applies
only to zombies explicitly placed in .des files, since fish zombies
cannot be generated otherwise (can of worms).
Morgue is now saved before showing the inventory and other boring
end-of-game stuff.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3231 c06c8d41-db1a-0410-9941-cceddc491573
|