summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/transform.h
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2010-01-07 21:35:39 +0100
committerAdam Borowski <kilobyte@angband.pl>2010-01-07 21:35:39 +0100
commitf536c278597be3ae8664785ba1997085f177e89b (patch)
tree3c3baf1e2b0d2c046e07ae4cb179dcb60c5806e6 /crawl-ref/source/transform.h
parent81ae2f6d115443d5e75ae4a4c4bb9e3629e93fe7 (diff)
downloadcrawl-ref-f536c278597be3ae8664785ba1997085f177e89b.tar.gz
crawl-ref-f536c278597be3ae8664785ba1997085f177e89b.zip
Rename transfor.{cc,h} to transform.{cc,h}.
Diffstat (limited to 'crawl-ref/source/transform.h')
-rw-r--r--crawl-ref/source/transform.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/crawl-ref/source/transform.h b/crawl-ref/source/transform.h
new file mode 100644
index 0000000000..9af348b64b
--- /dev/null
+++ b/crawl-ref/source/transform.h
@@ -0,0 +1,55 @@
+/*
+ * File: transform.h
+ * Summary: Misc function related to player transformations.
+ * Written by: Linley Henzell
+ */
+
+
+#ifndef TRANSFOR_H
+#define TRANSFOR_H
+
+#include <set>
+
+#include "enum.h"
+
+enum transformation_type
+{
+ TRAN_NONE, // 0
+ TRAN_SPIDER,
+ TRAN_BLADE_HANDS,
+ TRAN_STATUE,
+ TRAN_ICE_BEAST,
+ TRAN_DRAGON, // 5
+ TRAN_LICH,
+ TRAN_BAT,
+ TRAN_PIG,
+ NUM_TRANSFORMATIONS // must remain last member {dlb}
+};
+
+bool transformation_can_wield(transformation_type trans);
+bool transform_can_butcher_barehanded(transformation_type tt);
+
+void untransform(bool skip_wielding = false);
+
+bool can_equip(equipment_type use_which, bool ignore_temporary);
+bool check_transformation_stat_loss(const std::set<equipment_type> &remove,
+ bool quiet = false, int str_loss = 0,
+ int dex_loss = 0, int int_loss = 0);
+size_type transform_size(int psize = PSIZE_BODY);
+
+bool transform(int pow, transformation_type which_trans, bool force = false,
+ bool just_check = false);
+
+void remove_one_equip(equipment_type eq, bool meld = true,
+ bool mutation = false);
+void unmeld_one_equip(equipment_type eq);
+
+bool transform_changed_physiology( bool phys_scales = false );
+bool transform_allows_wearing_item(const item_def& item,
+ transformation_type transform);
+// Check your current transformation.
+bool transform_allows_wearing_item(const item_def& item);
+bool transform_allows_wielding(transformation_type transform);
+
+void transformation_expiration_warning();
+#endif