Nice one. A post-eruption one certainly
Now all you need to do is a pre-eruption one, and the borders for them both
![Big Grin](https://apolyton.net/core/images/smilies/biggrin.gif)
![Smile](https://apolyton.net/core/images/smilies/smile.gif)
![Stick Out Tongue](https://apolyton.net/core/images/smilies/tongue.gif)
![thumbs-up](https://apolyton.net/core/images/smilies/thumbs-up.gif)
//===================================== // // Volcanic Eruptions // Location_t VOLC_LOC[]; HandleEvent(BeginTurn) 'IWN_place_volcano' pre{ int_t i;//10 int_t j; location_t tmpLoc; int_t volc; unit_t BarbUnit; int_t num_volcs; num_volcs = 3; // this is the number of volcanoes that will appear. volc = 0; while(volc <= num_volcs){//20 i = random(GetMapWidth() -1); j = random(GetMapHeight() -1); MakeLocation(tmpLoc, i, j); if(TerrainType(tmpLoc) == terrainDB(TERRAIN_MOUNTAIN)){ volc = volc + 1; VOLC_LOC[volc] = tmpLoc; Terraform(VOLC_LOC[volc], 10); } } //30 DisableTrigger('IWN_place_volcano'); } HandleEvent(BeginTurn) 'IWN_volcano_erupts' pre { int_t rnd; location_t tmpLoc; location_t tmploc2; unit_t BarbUnit; int_t tmpnum; int_t i; rnd = random(500); if(rnd == 1){ tmpLoc = VOLC_LOC[rnd]; Terraform(tmploc, 40); for(i = -1; i < 7; i = i + 1) { tmpnum = i ; GetNeighbor(tmploc, tmpnum, tmploc2);//40 //nabors are also turned to dead Terraform(tmploc2, 17); } }
HandleEvent(BeginTurn) 'FIRESTORM' post { int_t xcoord; int_t ycoord; location_t tmpLocb; int_t i; int_t b; for(i = -1; i < 700; i = i + 1) {//done in 12 with 800 xcoord = Random(GetMapWidth()); ycoord = Random(GetMapHeight()); MakeLocation(tmpLocb, xcoord, ycoord); //50 if (TerrainType(tmpLocb) == 7) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 4); // Transform jungle } else { if (TerrainType(tmpLocb) == 1) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 4); // Transform to plain } else { if (TerrainType(tmpLocb) == 2) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 2); // Transform tundra } else { if (TerrainType(tmpLocb) == 3) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 3); // Transform snow } else { if (TerrainType(tmpLocb) == 4) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 3); // Transform grass } else { if (TerrainType(tmpLocb) == 5) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 4); // Transform desert } else { if (TerrainType(tmpLocb) == 6) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 4); // Transform swamp } else { if (TerrainType(tmpLocb) == 8) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 21); // Transform green mountin } else { if (TerrainType(tmpLocb) == 9) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 8); // Transform green hill } else { if (TerrainType(tmpLocb) == 18) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 20); // Transform sand dune } else { if (TerrainType(tmpLocb) == 19) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 9); // Transform sand montin } else { if (TerrainType(tmpLocb) == 20) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 8); // Transform poler hill } else { if (TerrainType(tmpLocb) == 21) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 21); // Transform poler monitn } else { if (TerrainType(tmpLocb) == 0) { AddEffect(tmplocb, "SPECEFFECT_FIRES", "SOUND_ID_NANO_TERROR"); Terraform(tmplocb, 4); // Transform poler hill } } } } } } } } } } } } } } } }
int_t disableIceAgeRound; HandleEvent(BeginTurn) 'ChanceOfEnablingIceAge' post { if(Random(10) == 0) { EnableTrigger('FIRESTORM'); disableIceAgeRound = GetCurrentRound() + 100; } } HandleEvent(BeginTurn) 'DisableIceAge' post { if(GetCurrentRound() == disableIceAgeRound) { DisableTrigger('FIRESTORM'); } }
Comment