mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Adds new event: drone drop pod
This commit is contained in:
31
code/modules/events/drone_pod_vr.dm
Normal file
31
code/modules/events/drone_pod_vr.dm
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
/datum/event/drone_pod_drop
|
||||||
|
announceWhen = 1
|
||||||
|
var/turf/land_target = null
|
||||||
|
var/attempt_amount = 10
|
||||||
|
|
||||||
|
/datum/event/drone_pod_drop/setup()
|
||||||
|
startWhen = rand(8,15)
|
||||||
|
if(LAZYLEN(using_map.meteor_strike_areas))
|
||||||
|
var/turf/potential_target = null
|
||||||
|
for(var/i=1, i <= attempt_amount, i++)
|
||||||
|
potential_target = pick(get_area_turfs(pick(using_map.meteor_strike_areas)))
|
||||||
|
if(potential_target.x < 7 || potential_target.x > world.maxx-7 || potential_target.y < 7 || potential_target.y > world.maxy-7)
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
land_target = potential_target
|
||||||
|
break
|
||||||
|
|
||||||
|
if(!land_target)
|
||||||
|
kill()
|
||||||
|
|
||||||
|
/datum/event/meteor_strike/announce()
|
||||||
|
command_announcement.Announce("An unidentified drone pod has been detected landing near the surface facilty. Open and examine at your own risk.", "NanoTrasen Orbital Monitoring")
|
||||||
|
|
||||||
|
/datum/event/drone_pod_drop/start()
|
||||||
|
if(istype(land_target, /turf/simulated/open))
|
||||||
|
while(istype(land_target, /turf/simulated/open))
|
||||||
|
land_target = GetBelow(land_target)
|
||||||
|
if(!land_target)
|
||||||
|
kill()
|
||||||
|
|
||||||
|
new /datum/random_map/droppod/supply(null, land_target.x-2, land_target.y-2, land_target.z, supplied_drops = list(/obj/structure/ghost_pod/manual/lost_drone))
|
||||||
@@ -81,6 +81,7 @@
|
|||||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 30, list(ASSIGNMENT_SECURITY = 30), 1),
|
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 30, list(ASSIGNMENT_SECURITY = 30), 1),
|
||||||
//Evil grubs that drain station power slightly
|
//Evil grubs that drain station power slightly
|
||||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grub Infestation", /datum/event/grub_infestation, 0, list(ASSIGNMENT_SECURITY = 10, ASSIGNMENT_ENGINEER = 30), 1),
|
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grub Infestation", /datum/event/grub_infestation, 0, list(ASSIGNMENT_SECURITY = 10, ASSIGNMENT_ENGINEER = 30), 1),
|
||||||
|
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Drone Pod Drop", /datum/event/drone_pod_drop, 10, list(ASSIGNMENT_SCIENTIST = 40), 1)
|
||||||
)
|
)
|
||||||
add_disabled_events(list(
|
add_disabled_events(list(
|
||||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 30), 1),
|
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 30), 1),
|
||||||
|
|||||||
@@ -102,6 +102,8 @@
|
|||||||
spawnpoint_stayed = /datum/spawnpoint/cryo
|
spawnpoint_stayed = /datum/spawnpoint/cryo
|
||||||
|
|
||||||
meteor_strike_areas = list(/area/tether/surfacebase/outside/outside3)
|
meteor_strike_areas = list(/area/tether/surfacebase/outside/outside3)
|
||||||
|
drop_pod_allowed_z = list(Z_LEVEL_SURFACE_HIGH)
|
||||||
|
|
||||||
|
|
||||||
unit_test_exempt_areas = list(
|
unit_test_exempt_areas = list(
|
||||||
/area/tether/surfacebase/outside/outside1,
|
/area/tether/surfacebase/outside/outside1,
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ var/list/all_maps = list()
|
|||||||
var/list/holomap_legend_x = list()
|
var/list/holomap_legend_x = list()
|
||||||
var/list/holomap_legend_y = list()
|
var/list/holomap_legend_y = list()
|
||||||
var/list/meteor_strike_areas // VOREStation Edit - Areas meteor strikes may choose to hit.
|
var/list/meteor_strike_areas // VOREStation Edit - Areas meteor strikes may choose to hit.
|
||||||
|
var/list/drop_pod_allowed_z // VOREStation Edit - Which z-levels to target with droppods?
|
||||||
var/ai_shell_restricted = FALSE //VOREStation Addition - are there z-levels restricted?
|
var/ai_shell_restricted = FALSE //VOREStation Addition - are there z-levels restricted?
|
||||||
var/ai_shell_allowed_levels = list() //VOREStation Addition - which z-levels ARE we allowed to visit?
|
var/ai_shell_allowed_levels = list() //VOREStation Addition - which z-levels ARE we allowed to visit?
|
||||||
|
|
||||||
|
|||||||
@@ -1851,6 +1851,7 @@
|
|||||||
#include "code\modules\events\carp_migration.dm"
|
#include "code\modules\events\carp_migration.dm"
|
||||||
#include "code\modules\events\comms_blackout.dm"
|
#include "code\modules\events\comms_blackout.dm"
|
||||||
#include "code\modules\events\communications_blackout.dm"
|
#include "code\modules\events\communications_blackout.dm"
|
||||||
|
#include "code\modules\events\drone_pod_vr.dm"
|
||||||
#include "code\modules\events\dust.dm"
|
#include "code\modules\events\dust.dm"
|
||||||
#include "code\modules\events\electrical_storm.dm"
|
#include "code\modules\events\electrical_storm.dm"
|
||||||
#include "code\modules\events\event.dm"
|
#include "code\modules\events\event.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user