diff options
author | Jude Brown <bookofjude@users.sourceforge.net> | 2009-11-28 00:00:48 +1000 |
---|---|---|
committer | Jude Brown <bookofjude@users.sourceforge.net> | 2009-11-28 00:02:39 +1000 |
commit | c7857e47b91bbdd3f33379100df02fdff420337a (patch) | |
tree | e6faea693f7feee4e128b45f543e866db102fb4a /crawl-ref/source | |
parent | ff7569cb8f6e15e95db49d4810d0766dd47dad31 (diff) | |
download | crawl-ref-c7857e47b91bbdd3f33379100df02fdff420337a.tar.gz crawl-ref-c7857e47b91bbdd3f33379100df02fdff420337a.zip |
Re-add Purple Smoke cloud type (sorear).
This is visually identical to translocational energy, but will have uses
in portal vaults (specifically, wizlabs).
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/beam.cc | 6 | ||||
-rw-r--r-- | crawl-ref/source/cloud.cc | 41 | ||||
-rw-r--r-- | crawl-ref/source/dat/mini.des | 10 | ||||
-rw-r--r-- | crawl-ref/source/enum.h | 2 | ||||
-rw-r--r-- | crawl-ref/source/tilepick.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/tutorial.cc | 1 |
6 files changed, 45 insertions, 16 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index 4309d8f4b9..5ca97ddc8c 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -2996,6 +2996,9 @@ static int _potion_beam_flavour_to_colour(beam_type flavour) case BEAM_POTION_BLUE_SMOKE: return (LIGHTBLUE); + case BEAM_POTION_PURPLE_SMOKE: + return (MAGENTA); + case BEAM_POTION_RANDOM: default: // Leave it the colour of the potion, the clouds will colour @@ -3333,6 +3336,7 @@ void bolt::affect_place_explosion_clouds() case BEAM_POTION_BLACK_SMOKE: case BEAM_POTION_GREY_SMOKE: case BEAM_POTION_BLUE_SMOKE: + case BEAM_POTION_PURPLE_SMOKE: case BEAM_POTION_RAIN: case BEAM_POTION_MUTAGENIC: cl_type = beam2cloud(flavour); @@ -3348,6 +3352,7 @@ void bolt::affect_place_explosion_clouds() case 4: cl_type = CLOUD_BLACK_SMOKE; break; case 5: cl_type = CLOUD_GREY_SMOKE; break; case 6: cl_type = CLOUD_BLUE_SMOKE; break; + case 7: cl_type = CLOUD_PURPLE_SMOKE; break; default: cl_type = CLOUD_STEAM; break; } break; @@ -6260,6 +6265,7 @@ std::string beam_type_name(beam_type type) case BEAM_POTION_BLACK_SMOKE: return ("black smoke"); case BEAM_POTION_GREY_SMOKE: return ("grey smoke"); case BEAM_POTION_BLUE_SMOKE: return ("blue smoke"); + case BEAM_POTION_PURPLE_SMOKE: return ("purple smoke"); case BEAM_POTION_RAIN: return ("rain"); case BEAM_POTION_RANDOM: return ("random potion"); case BEAM_POTION_MUTAGENIC: return ("mutagenic fog"); diff --git a/crawl-ref/source/cloud.cc b/crawl-ref/source/cloud.cc index 1c6af41739..a6006c0b35 100644 --- a/crawl-ref/source/cloud.cc +++ b/crawl-ref/source/cloud.cc @@ -428,11 +428,12 @@ cloud_type cloud_type_at(const coord_def &c) cloud_type random_smoke_type() { // including black to keep variety - switch ( random2(3) ) + switch ( random2(4) ) { case 0: return CLOUD_GREY_SMOKE; case 1: return CLOUD_BLUE_SMOKE; case 2: return CLOUD_BLACK_SMOKE; + case 3: return CLOUD_PURPLE_SMOKE; } return CLOUD_DEBUGGING; } @@ -461,6 +462,8 @@ cloud_type beam2cloud(beam_type flavour) return CLOUD_GREY_SMOKE; case BEAM_POTION_BLUE_SMOKE: return CLOUD_BLUE_SMOKE; + case BEAM_POTION_PURPLE_SMOKE: + return CLOUD_PURPLE_SMOKE; case BEAM_STEAM: case BEAM_POTION_STEAM: return CLOUD_STEAM; @@ -483,21 +486,22 @@ beam_type cloud2beam(cloud_type flavour) switch (flavour) { default: - case CLOUD_NONE: return BEAM_NONE; - case CLOUD_FIRE: return BEAM_FIRE; - case CLOUD_FOREST_FIRE: return BEAM_FIRE; - case CLOUD_STINK: return BEAM_POTION_STINKING_CLOUD; - case CLOUD_COLD: return BEAM_COLD; - case CLOUD_POISON: return BEAM_POISON; - case CLOUD_BLACK_SMOKE: return BEAM_POTION_BLACK_SMOKE; - case CLOUD_GREY_SMOKE: return BEAM_POTION_GREY_SMOKE; - case CLOUD_BLUE_SMOKE: return BEAM_POTION_BLUE_SMOKE; - case CLOUD_STEAM: return BEAM_STEAM; - case CLOUD_MIASMA: return BEAM_MIASMA; - case CLOUD_CHAOS: return BEAM_CHAOS; - case CLOUD_RAIN: return BEAM_POTION_RAIN; - case CLOUD_MUTAGENIC: return BEAM_POTION_MUTAGENIC; - case CLOUD_RANDOM: return BEAM_RANDOM; + case CLOUD_NONE: return BEAM_NONE; + case CLOUD_FIRE: return BEAM_FIRE; + case CLOUD_FOREST_FIRE: return BEAM_FIRE; + case CLOUD_STINK: return BEAM_POTION_STINKING_CLOUD; + case CLOUD_COLD: return BEAM_COLD; + case CLOUD_POISON: return BEAM_POISON; + case CLOUD_BLACK_SMOKE: return BEAM_POTION_BLACK_SMOKE; + case CLOUD_GREY_SMOKE: return BEAM_POTION_GREY_SMOKE; + case CLOUD_BLUE_SMOKE: return BEAM_POTION_BLUE_SMOKE; + case CLOUD_PURPLE_SMOKE: return BEAM_POTION_PURPLE_SMOKE; + case CLOUD_STEAM: return BEAM_STEAM; + case CLOUD_MIASMA: return BEAM_MIASMA; + case CLOUD_CHAOS: return BEAM_CHAOS; + case CLOUD_RAIN: return BEAM_POTION_RAIN; + case CLOUD_MUTAGENIC: return BEAM_POTION_MUTAGENIC; + case CLOUD_RANDOM: return BEAM_RANDOM; } } @@ -710,6 +714,7 @@ void in_a_cloud() case CLOUD_GREY_SMOKE: case CLOUD_BLUE_SMOKE: case CLOUD_TLOC_ENERGY: + case CLOUD_PURPLE_SMOKE: case CLOUD_BLACK_SMOKE: mpr("You are engulfed in a cloud of smoke!"); break; @@ -825,6 +830,7 @@ bool is_harmless_cloud(cloud_type type) case CLOUD_BLACK_SMOKE: case CLOUD_GREY_SMOKE: case CLOUD_BLUE_SMOKE: + case CLOUD_PURPLE_SMOKE: case CLOUD_TLOC_ENERGY: case CLOUD_MIST: case CLOUD_RAIN: @@ -876,6 +882,8 @@ std::string cloud_name(cloud_type type) return "grey smoke"; case CLOUD_BLUE_SMOKE: return "blue smoke"; + case CLOUD_PURPLE_SMOKE: + return "purple smoke"; case CLOUD_TLOC_ENERGY: return "translocational energy"; case CLOUD_STEAM: @@ -1002,6 +1010,7 @@ int get_cloud_colour(int cloudno) which_colour = LIGHTBLUE; break; + case CLOUD_PURPLE_SMOKE: case CLOUD_TLOC_ENERGY: which_colour = MAGENTA; break; diff --git a/crawl-ref/source/dat/mini.des b/crawl-ref/source/dat/mini.des index b924b83143..29ce8dda47 100644 --- a/crawl-ref/source/dat/mini.des +++ b/crawl-ref/source/dat/mini.des @@ -35,6 +35,16 @@ default-depth: D:8-27 ############################################################################## # Minivault balancer # +NAME: mini_test +MARKER: G = lua:fog_machine { cloud_type= "purple smoke", \ + pow_min = 10, pow_max = 20, delay_min = 15, delay_max = 35, \ + size = 3, walk_dist = 2, spread_rate= 25 } +MAP +.. +Gw +ww +ENDMAP + NAME: mini_dummy DEPTH: 1-50, !D:1-27 TAGS: dummy diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h index 0c999b435d..e080bbd3c2 100644 --- a/crawl-ref/source/enum.h +++ b/crawl-ref/source/enum.h @@ -262,6 +262,7 @@ enum beam_type // beam[].flavour BEAM_POTION_GREY_SMOKE, BEAM_POTION_MUTAGENIC, BEAM_POTION_BLUE_SMOKE, + BEAM_POTION_PURPLE_SMOKE, BEAM_POTION_RAIN, BEAM_POTION_RANDOM, @@ -427,6 +428,7 @@ enum cloud_type CLOUD_BLACK_SMOKE, CLOUD_GREY_SMOKE, CLOUD_BLUE_SMOKE, + CLOUD_PURPLE_SMOKE, CLOUD_TLOC_ENERGY, CLOUD_FOREST_FIRE, CLOUD_STEAM, diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index 87d3153210..b7b79f50bd 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -2595,6 +2595,7 @@ static int _tileidx_cloud(int type, int decay) ch = TILE_CLOUD_BLUE_SMOKE; break; + case CLOUD_PURPLE_SMOKE: case CLOUD_TLOC_ENERGY: ch = TILE_CLOUD_TLOC_ENERGY; break; diff --git a/crawl-ref/source/tutorial.cc b/crawl-ref/source/tutorial.cc index b7c1b16b6a..9d42708f00 100644 --- a/crawl-ref/source/tutorial.cc +++ b/crawl-ref/source/tutorial.cc @@ -4458,6 +4458,7 @@ static void _tutorial_describe_cloud(int x, int y) case CLOUD_GREY_SMOKE: case CLOUD_BLUE_SMOKE: case CLOUD_TLOC_ENERGY: + case CLOUD_PURPLE_SMOKE: case CLOUD_MIST: ostr << "harmless. "; break; |