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
|
//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()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user