Port: Merge pull request 7010 from VOREStation/aro-lessdoom

Fix the doom asteroid waves
This commit is contained in:
Aronai Sieyes
2020-03-27 09:34:18 -04:00
committed by Leshana
parent e8bdadd0ab
commit 255a2fdf03
2 changed files with 69 additions and 17 deletions

View File

@@ -2,16 +2,35 @@
//set to at least 100 unless you want evarr ruining every round //set to at least 100 unless you want evarr ruining every round
//Meteors probability of spawning during a given wave //Meteors probability of spawning during a given wave
/var/list/meteors_normal = list(/obj/effect/meteor/dust=3, /obj/effect/meteor/medium=8, /obj/effect/meteor/big=3, \
/obj/effect/meteor/flaming=1, /obj/effect/meteor/irradiated=3) //for normal meteor event
/var/list/meteors_threatening = list(/obj/effect/meteor/medium=5, /obj/effect/meteor/big=10, \ //for space dust event
/obj/effect/meteor/flaming=3, /obj/effect/meteor/irradiated=3, /obj/effect/meteor/emp=3) //for threatening meteor event /var/list/meteors_dust = list(/obj/effect/meteor/dust)
/var/list/meteors_catastrophic = list(/obj/effect/meteor/medium=5, /obj/effect/meteor/big=75, \ //for normal meteor event
/obj/effect/meteor/flaming=10, /obj/effect/meteor/irradiated=10, /obj/effect/meteor/emp=10) //, /obj/effect/meteor/tunguska = 1) //for catastrophic meteor event /var/list/meteors_normal = list(
/obj/effect/meteor/dust=3,
/obj/effect/meteor/medium=8,
/obj/effect/meteor/big=3,
/obj/effect/meteor/flaming=1,
/obj/effect/meteor/irradiated=3
)
//for threatening meteor event
/var/list/meteors_threatening = list(
/obj/effect/meteor/medium=5,
/obj/effect/meteor/big=10,
/obj/effect/meteor/flaming=3,
/obj/effect/meteor/irradiated=3,
/obj/effect/meteor/emp=3)
//for catastrophic meteor event
/var/list/meteors_catastrophic = list(
/obj/effect/meteor/medium=5,
/obj/effect/meteor/big=75,
/obj/effect/meteor/flaming=10,
/obj/effect/meteor/irradiated=10,
/obj/effect/meteor/emp=10)
/var/list/meteors_dust = list(/obj/effect/meteor/dust) //for space dust event
/////////////////////////////// ///////////////////////////////
@@ -239,7 +258,7 @@
/obj/effect/meteor/big/meteor_effect(var/explode) /obj/effect/meteor/big/meteor_effect(var/explode)
..() ..()
if(explode) if(explode)
explosion(src.loc, devastation_range = 2, heavy_impact_range = 4, light_impact_range = 6, flash_range = 12, adminlog = 0) explosion(src.loc, 1, 2, 3, 4, 0)
// 'Flaming' meteors do less overall damage but are spread out more due to a larger but weaker explosion at the end. // 'Flaming' meteors do less overall damage but are spread out more due to a larger but weaker explosion at the end.
/obj/effect/meteor/flaming /obj/effect/meteor/flaming
@@ -253,7 +272,7 @@
/obj/effect/meteor/flaming/meteor_effect(var/explode) /obj/effect/meteor/flaming/meteor_effect(var/explode)
..() ..()
if(explode) if(explode)
explosion(src.loc, devastation_range = 1, heavy_impact_range = 2, light_impact_range = 8, flash_range = 16, adminlog = 0) explosion(src.loc, 1, 2, 3, 4, 0, 0, 5)
// Irradiated meteors do less physical damage but project a ten-tile ranged pulse of radiation upon exploding. // Irradiated meteors do less physical damage but project a ten-tile ranged pulse of radiation upon exploding.
/obj/effect/meteor/irradiated /obj/effect/meteor/irradiated
@@ -267,7 +286,7 @@
/obj/effect/meteor/irradiated/meteor_effect(var/explode) /obj/effect/meteor/irradiated/meteor_effect(var/explode)
..() ..()
if(explode) if(explode)
explosion(src.loc, devastation_range = 0, heavy_impact_range = 0, light_impact_range = 4, flash_range = 6, adminlog = 0) explosion(src.loc, 0, 0, 4, 3, 0)
new /obj/effect/decal/cleanable/greenglow(get_turf(src)) new /obj/effect/decal/cleanable/greenglow(get_turf(src))
SSradiation.radiate(src, 50) SSradiation.radiate(src, 50)
@@ -300,7 +319,7 @@
/obj/effect/meteor/tunguska/meteor_effect(var/explode) /obj/effect/meteor/tunguska/meteor_effect(var/explode)
..() ..()
if(explode) if(explode)
explosion(src.loc, 5, 10, 15, 20, 0) explosion(src.loc, 3, 6, 9, 20, 0)
/obj/effect/meteor/tunguska/Bump() /obj/effect/meteor/tunguska/Bump()
..() ..()

View File

@@ -59,13 +59,46 @@
command_announcement.Announce("\The [location_name()] has cleared the meteor shower", "Meteor Alert") command_announcement.Announce("\The [location_name()] has cleared the meteor shower", "Meteor Alert")
/datum/event/meteor_wave/proc/get_meteors() /datum/event/meteor_wave/proc/get_meteors()
if(EVENT_LEVEL_MAJOR) switch(severity)
if(prob(10)) if(EVENT_LEVEL_MAJOR)
return meteors_catastrophic return meteors_major
if(EVENT_LEVEL_MODERATE)
return meteors_moderate
else else
return meteors_threatening return meteors_minor
else
return meteors_normal /var/list/meteors_minor = list(
/obj/effect/meteor/medium = 80,
/obj/effect/meteor/dust = 30,
/obj/effect/meteor/irradiated = 30,
/obj/effect/meteor/big = 30,
/obj/effect/meteor/flaming = 10,
///obj/effect/meteor/golden = 10,
///obj/effect/meteor/silver = 10,
)
/var/list/meteors_moderate = list(
/obj/effect/meteor/medium = 80,
/obj/effect/meteor/big = 30,
/obj/effect/meteor/dust = 30,
/obj/effect/meteor/irradiated = 30,
/obj/effect/meteor/flaming = 10,
///obj/effect/meteor/golden = 10,
///obj/effect/meteor/silver = 10,
/obj/effect/meteor/emp = 10,
)
/var/list/meteors_major = list(
/obj/effect/meteor/medium = 80,
/obj/effect/meteor/big = 30,
/obj/effect/meteor/dust = 30,
/obj/effect/meteor/irradiated = 30,
/obj/effect/meteor/emp = 30,
/obj/effect/meteor/flaming = 10,
///obj/effect/meteor/golden = 10,
///obj/effect/meteor/silver = 10,
/obj/effect/meteor/tunguska = 1,
)
// Overmap version // Overmap version
/datum/event/meteor_wave/overmap /datum/event/meteor_wave/overmap