mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-18 14:12:20 +00:00
Port: Merge pull request 7010 from VOREStation/aro-lessdoom
Fix the doom asteroid waves
This commit is contained in:
@@ -2,16 +2,35 @@
|
||||
//set to at least 100 unless you want evarr ruining every round
|
||||
|
||||
//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, \
|
||||
/obj/effect/meteor/flaming=3, /obj/effect/meteor/irradiated=3, /obj/effect/meteor/emp=3) //for threatening meteor event
|
||||
//for space dust 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, \
|
||||
/obj/effect/meteor/flaming=10, /obj/effect/meteor/irradiated=10, /obj/effect/meteor/emp=10) //, /obj/effect/meteor/tunguska = 1) //for catastrophic meteor event
|
||||
//for normal 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)
|
||||
..()
|
||||
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.
|
||||
/obj/effect/meteor/flaming
|
||||
@@ -253,7 +272,7 @@
|
||||
/obj/effect/meteor/flaming/meteor_effect(var/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.
|
||||
/obj/effect/meteor/irradiated
|
||||
@@ -267,7 +286,7 @@
|
||||
/obj/effect/meteor/irradiated/meteor_effect(var/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))
|
||||
SSradiation.radiate(src, 50)
|
||||
|
||||
@@ -300,7 +319,7 @@
|
||||
/obj/effect/meteor/tunguska/meteor_effect(var/explode)
|
||||
..()
|
||||
if(explode)
|
||||
explosion(src.loc, 5, 10, 15, 20, 0)
|
||||
explosion(src.loc, 3, 6, 9, 20, 0)
|
||||
|
||||
/obj/effect/meteor/tunguska/Bump()
|
||||
..()
|
||||
|
||||
@@ -59,13 +59,46 @@
|
||||
command_announcement.Announce("\The [location_name()] has cleared the meteor shower", "Meteor Alert")
|
||||
|
||||
/datum/event/meteor_wave/proc/get_meteors()
|
||||
switch(severity)
|
||||
if(EVENT_LEVEL_MAJOR)
|
||||
if(prob(10))
|
||||
return meteors_catastrophic
|
||||
return meteors_major
|
||||
if(EVENT_LEVEL_MODERATE)
|
||||
return meteors_moderate
|
||||
else
|
||||
return meteors_threatening
|
||||
else
|
||||
return meteors_normal
|
||||
return meteors_minor
|
||||
|
||||
/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
|
||||
/datum/event/meteor_wave/overmap
|
||||
|
||||
Reference in New Issue
Block a user