diff options
Diffstat (limited to 'crawl-ref/source/cloud.h')
-rw-r--r-- | crawl-ref/source/cloud.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/crawl-ref/source/cloud.h b/crawl-ref/source/cloud.h index 157aa1932c..0cee66ca0d 100644 --- a/crawl-ref/source/cloud.h +++ b/crawl-ref/source/cloud.h @@ -13,6 +13,7 @@ #define CLOUD_H #include "externs.h" +#include "travel.h" enum fog_machine_type { @@ -22,6 +23,14 @@ enum fog_machine_type NUM_FOG_MACHINE_TYPES }; +struct fog_machine_data +{ + fog_machine_type fm_type; + cloud_type cl_type; + int size; + int power; +}; + cloud_type random_smoke_type(); void delete_cloud( int cloud ); @@ -40,4 +49,22 @@ int steam_cloud_damage(const cloud_struct &cloud); void place_fog_machine(fog_machine_type fm_type, cloud_type cl_type, int x, int y, int size, int power); +void place_fog_machine(fog_machine_data data, int x, int y); + +bool valid_fog_machine_data(fog_machine_data data); + +int num_fogs_for_place(int level_number = -1, + const level_id &place = level_id::current()); +fog_machine_data random_fog_for_place(int level_number = -1, + const level_id &place = level_id::current()); + +int fogs_pan_number(int level_number = -1); +fog_machine_data fogs_pan_type(int level_number = -1); + +int fogs_abyss_number(int level_number = -1); +fog_machine_data fogs_abyss_type(int level_number = -1); + +int fogs_lab_number(int level_number = -1); +fog_machine_data fogs_lab_type(int level_number = -1); + #endif |