summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/transform.cc
Commit message (Collapse)AuthorAgeFilesLines
* Further fix compilation.Neil Moore2014-08-031-1/+1
|
* Hide a hack better.Shmuale Mark2014-08-031-1/+1
| | | | | | | Ideally, we wouldn't be using special for unrands totally different from how items of the same type do, but that's less trivial than this commit. A centralised place to check for being an unrand should at least make such a change easier.
* Don't remove extra horns when appendage ends (#8311)Neil Moore2014-07-311-6/+27
| | | | | | | | | | | This could happen if you got a mutation while transformed. It only occurred with horns, because appendage gives full levels of other slot mutations. Also, don't say your body part "disappears" if you still have mutation levels after the transformation ends, or if you lost the mutation before ending the transformation. Even before this commit, this could have happened if a demonspawn levelled up when in appendage form.
* Remove stuffNicholas Feinberg2014-07-291-1/+1
| | | | | | | .cc, moving its contents into the new stepdown.cc and strings.cc. (The latter also got many donations from libutil.h.) Down with stuff! Up the new flesh!
* Create prompt.ccNicholas Feinberg2014-07-271-0/+1
|
* Move canned_message() from stuff.cc to message.ccNicholas Feinberg2014-07-271-0/+1
|
* Tidy up spellpower props on effect expirationNicholas Feinberg2014-07-251-0/+2
|
* Revert "Put heavily drained players out of their misery"Chris Campbell2014-07-251-1/+1
| | | | | | | | | | | Heavy draining already recovers quickly, such that it should be possible to recover even when killing low-XP monsters. If very heavy draining is still problematic, it might be better to scale down draining when already heavily drained, rather than making it behave in a different way entirely past a certain point. This reverts commit bc4cca05f1829bd4bb812008c01682b204ee4975 and commit 1c0d6e64a9a9.
* Make Ice/Statue Form use spellpower instead of Ice/EarthNicholas Feinberg2014-07-241-0/+2
| | | | | | | | | | Also adjusts max power (Ice Form 200->100, Statue Form 200->150) to get roughly the same scaling as before; statue form now scales slightly more slowly, but caps out at 1.5 ac higher, if you can eke out enough spellpower. AC from non-spell-caused polymorphs will be based on the power of the polymorph.
* Put heavily drained players out of their miseryNicholas Feinberg2014-07-231-1/+1
| | | | | | | | | Draining is now limited, based on your level. If you get drained further when you're already very heavily drained, you take very sizeable amounts of damage. Hopefully this will kill you. The death messaging seems to work, but it's not ideal. Possibly someone can adjust that.
* Make Sublimation of Blood only effective when cast on the playerChris Campbell2014-07-231-0/+8
| | | | | | | | | | | Having a spell work in two completely different ways depending on context is unintuitive, and self-casting it is the much more interesting use. Makes the spell unmemorisable for species without blood (Gargoyle, Ghoul, Mummy). Species that can't bleed get both level 1 spells from the first Kiku gift. Has some ugly duplication of lists of species that can't bleed, because using player::can_bleed won't correctly handle statue- or lich- formed players even with allow_tran = false, due to them changing the player's holiness.
* Clean up transform.cc slightlyNicholas Feinberg2014-07-161-6/+2
| | | | Use new species_can functions, and remove a dead clause.
* Fold mutation_def::wizname into ::short_desc.Shmuale Mark2014-07-031-8/+1
| | | | | | | | In only a few cases were the strings different, and in even fewer were they significantly so. In general, I used the short_desc for the combined one, since someone running wizmode can presumably look at mutation-data.h, except that "large and strong wings" got changed to "big wings", and "life protection" to "negative energy resistance".
* Move a little more code out of misc.ccNicholas Feinberg2014-07-021-0/+44
|
* Remove SIZE_HUGE.Shmuale Mark2014-05-271-1/+1
| | | | | | | | | | | | | Do you know whether it was bigger than SIZE_GIANT or not? Chances are no (it's bigger, to be clear). There are some small changes to in constriction, though there aren't any constrictors at either size, and knockback -- in particular, dragons will be less effective at knocking back giants. The other change is that Dragon Form will have slightly better EV, as will monster dragons (but only while constricted or netted). The change seems like it is rather minor; I tested it with 15 Dodging and only had a difference of 3 EV.
* Remove player burden and carrying capacitygammafunk2014-05-261-3/+0
| | | | | | | | | | | Item inventory weights (based on item mass) generally don't lead to meaningful decisions that justify the inventory juggling and interface problems that come from having burden states. The 52-slot limit is a better system for limiting inventory and providing inventory-related decisions because it's not so fine-grained and doesn't require the player to examine weights for each slot. Work is ongoing to improve the slot system by consolidating food types and handling strategic consumables in a different way.
* Make entering spider form while stuck in a web free the playerChris Campbell2014-05-251-4/+4
|
* Use you.innate_mutation rather than you.innate_mutationsreaverb2014-05-141-1/+1
| | | | Ditto for you.temp_mutation.
* Melt away lava orcs.Steve Melenchuk2014-05-141-4/+21
| | | | | | | | | | | | | | | | When you strip away the fundamentally broken tension mechanic, you're left with a species that is essentially "Hill Orcs WITH FIRE". No effort has come forward with code to fix either aspect of them despite the length of time they've been around in trunk, and the code is littered with a very large number of special cases in their presence. Current lava orcs should be able to finish their games fine, but new starts are disallowed. There are a couple of bits I've left present but which will have no function for the moment, mostly related to interactions with lava (as there are a couple of species proposals floating around that benefit from having those interactions).
* Revert "Revert "Remove player clinging"."reaver2014-05-071-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 65ff1ef470978c29490100d1732bf2b9ce2fb7cd. Conflicts: crawl-ref/source/main.cc crawl-ref/source/output.cc crawl-ref/source/player.cc crawl-ref/source/shout.cc crawl-ref/source/status.cc crawl-ref/source/status.h crawl-ref/source/terrain.cc crawl-ref/source/transform.cc Minor, prerequesite reverts: b0d520741c8e9a26e7a786a34285f7a9412d8d10 Trival removal of clinging from the Boots of the Spider 3e0928f93c3f8a78ac6327c26986b406f7d7f603 (conflict in crawl-ref/source/item_use.cc) Thanks to gammafunk for removing the last bits of clinging code! To do: Decide what to do about the boots of the spider.
* The great 0.15 monster glyph migration (#8242).Steve Melenchuk2014-04-241-1/+1
| | | | | | | | | | | | | | | Amongst other things: - Immobile plants/fungi all to P; - Tengu to Q; - All derived undead to Z; - Mobile plants/fungi all to f; - Drakes to k; - Non-unique humans to p; - Most flying insects to y; - Slugs to w. Thanks to gammafunk, elliptic, MarvinPA, and others who made contributions to this effort.
* Allow entering tree form while in poison/meph clouds, add messagingChris Campbell2014-04-201-2/+13
|
* Documentation fix (PleasingFungus).Shmuale Mark2014-04-181-2/+1
| | | | Possibly the fastest-ever outdating of a comment.
* Make treeform player-sized.Shmuale Mark2014-04-181-33/+0
| | | | | This removes the weirdnesses with lignifying over water, since treeform can no longer survive there.
* Put an end to magically floating arachno-merplayersNicholas Feinberg2014-04-181-5/+14
| | | | | | | | feat_dangerous_for_form() let players transform into any form while over water, if it was safe for their race (e.g. merfolk, octopodes, grey draconians). Fixed that & added a doxygen comment. [Simplified a check further. --wheals]
* Let all forms butcherChris Campbell2014-04-101-6/+0
| | | | Since they all eat normally now.
* Remove the unused jelly formChris Campbell2014-04-101-13/+16
|
* Adjust fungus form's melee attackChris Campbell2014-04-101-8/+1
| | | | | | | Don't handle it like the confusing touch spell (no special accuracy bonus or damage penalty), don't affect unbreathing monsters. Sadly it doesn't decrease the player's XL by one on every hit like the monster attack. Also use XL instead of unarmed skill for melee accuracy.
* Let non-undead forms eat and drink normallyChris Campbell2014-04-101-15/+0
| | | | | | Eating limitations added nothing but complication, and potion restrictions were excessive for badforms that already had many significant restrictions.
* Fix lava orc form check codeNicholas Feinberg2014-04-061-1/+4
| | | | | | The code in player_likes_lava() was subtly wrong, with the result that transformed lava orcs were always able to enter lava. This restores what appears to have been the intended behavior.
* Remove scrambling.Shmuale Mark2014-04-061-4/+4
| | | | | | | It was something that was almost never relevant but that cluttered up the code regardless. If it were to be more relevant that would not really be a good thing since a chance for instadeath is rather bad design.
* Fix some transformations aborting silently on failureChris Campbell2014-03-281-5/+2
| | | | | Willing transformations should display the failure messages to explain why they're failing. Removes an unnecessary message from lignification.
* Allow all forms to speakChris Campbell2014-03-241-8/+0
| | | | | | | | All of these could read scrolls (except wisp) and invoke god abilities, and tree form could cast spells too. Disallowing those from what are already some of the most limited forms seems hugely problematic, whereas allowing speaking is unlikely to change much other than making the list of form restrictions slightly simpler.
* Clean up the player hp change and calculation functionsgammafunk2014-03-181-5/+13
| | | | | | | Move calc_hp() to player.cc, and fix all but a couple instances where you.hp is changed directly to use set_hp() instead. We'll eventually just move these functions to inline methods for the player class, but this reorganization will do for now.
* Remove djinn.wheals2014-02-241-0/+2
| | | | | | | Djinn games can't be started (hopefully including using the rcfile), and djinn code should be removed on save-compat bump. Also, schedule a few SE things to be removed.
* Allow undead to use Shadow FormChris Campbell2014-02-151-0/+1
| | | | | | It's pretty distinct from other transformations by virtue of being a god ability in particular, and thematically various undead turning into masses of shadows seems pretty reasonable.
* Adjustments to Shadow Form.Steve Melenchuk2014-01-131-1/+10
| | | | | | | | | | | | | | | Miasma is gone; miasma is more strongly associated with necromancy than anything related to darkness or shadows - see e.g. Corpse Rot, death drakes, etc. Fog still fires on every form of taking damage. Instead, the player is invisible when they are in shadow form (there's no glow cost for this; the costs of activating/maintaining the ability are supposed to be a sufficient counterbalance, but they might need to be adjusted further to make this so). The transformation power has been halved; on average now it lasts around 70 turns instead of lasting around 100 turns. This may need to be adjusted downwards further.
* Shadow god: Shadow Form.Steve Melenchuk2014-01-101-1/+19
| | | | | | | | For 9 MP, 10 piety, and skill drain, you transform into a swirling mass of dark shadows with immunity to poison, draining, torment, and hostile enchantments as well as 50% damage reduction and a transformation of your bled smoke into miasma (guaranteed on hit). However, you also only deal 50% melee damage and suffer a double-strength spell anti-enhancer.
* Drop double newlines where they seem to serve no purpose.Adam Borowski2013-12-211-1/+0
| | | | | Sometimes, they're there to emphasize a break between two sections of code, which is good. In a majority of cases, though, they're just inconsistent.
* Fix odditiies with statue/lich form for merfolk and octopodes.Adam Borowski2013-12-191-3/+19
| | | | | | Changes in this commit: * lich Mf/Op retain full swimming * lich GreyDr, statue Mf/Op/GreyDr can walk through water GreyDr-style
* Don't give a message when a forced appendage transformation failsChris Campbell2013-12-081-1/+2
|
* Allow butchering in bat and porcupine form.Adam Borowski2013-12-061-5/+3
| | | | | | | | | | | This doesn't apply to bottling blood, though. Rationale: these forms are far more capable of butchery than spiders, and need to eat. Forms that still can't butcher are: * wisp, fungus (no hunger, no appendages) * jelly (no appendages, can eat everything but rocks)
* Let spider form butcher againChris Campbell2013-12-061-1/+0
| | | | | | | Allowing it in the butchery simplification was intentional, for the same reason that ice form is able to butcher: blocking it doesn't add anything and makes for very annoying play on Transmuters, having to frequently manually cancel the form.
* Fix spider and porcupine forms being able to butcher.Adam Borowski2013-12-061-0/+2
| | | | Apparently dd49da7c negated that expression wrong.
* Simplify butchery handlingChris Campbell2013-12-061-7/+6
| | | | | | Butchery is always allowed except in a few forms (bat, wisp, fungus). Removes a lot of unnecessary/unused code for swapping weapons and removing equipment when butchering.
* Restrict mpr() to literals only.Adam Borowski2013-11-291-1/+1
| | | | | The translation project is stalled, but this makes all of such static strings trivially gatherable without any extra work.
* Replace `mpr(s, ch)` with `mprf(ch, s)`Adam Borowski2013-11-291-14/+14
| | | | | | | | | Also simplify quite a few cases. It turns out in >90% cases of non-literals the argument had .c_str(), which meant it was pointlessly malloc()ed and converted from and to std::string. I believe a sprintf is faster, so even the argument of miniscule speed-up doesn't apply.
* Fix gargoyles and black dracs not resuming flight upon ending tree form.Adam Borowski2013-11-271-6/+15
|
* Make sure potions of lignification don't work in water if you can't permafly.Adam Borowski2013-11-271-1/+18
|
* Don't give bonus resistances when in treeform with FedhasChris Campbell2013-11-241-2/+0
| | | | | It's a very niche bonus and doesn't add much other than unneccessary complication.