mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-06-06 05:54:36 +01:00
84dc5535dc
* These two are easy * !!!runlevel_flags the fact it was global.runlevel_flags.len has me a bit...iffy on this. * !!!json_cache Same as above. used global. * player_list & observer_mob_list * mechas_list * this wasn't even used * surgery_steps * event_triggers * landmarks_list * dead_mob_list * living_mob_list * ai_list * cable_list * cleanbot_reserved_turfs * listening_objects * silicon_mob_list * human_mob_list * Update global_lists.dm * joblist * mob_list * Update global_lists.dm * holomap_markers * mapping_units * mapping_beacons * hair_styles_list * facial_hair_styles_list * Update global_lists.dm * facial_hair_styles_male_list * facial_hair_styles_female_list * body_marking_styles_list * body_marking_nopersist_list * ear_styles_list * hair_styles_male_list * tail_styles_list * wing_styles_list * escape_list & rune_list & endgame_exits these were all really small * endgame_safespawns * stool_cache * emotes_by_key * random_maps & map_count * item_tf_spawnpoints * narsie_list * active_radio_jammers * unused * paikeys * pai_software_by_key & default_pai_software * plant_seed_sprites * magazine_icondata_keys & magazine_icondata_states * unused * ashtray_cache * light_type_cache * HOLIDAY!!! this one was annoying * faction stuff (red?!) * Update preferences_factions.dm * vs edit removal * backbaglist, pdachoicelist, exclude_jobs * item_digestion_blacklist, edible_tech, blacklisted_artifact_effect, selectable_footstep, hexNums, syndicate_access * string_slot_flags and hexdigits->hexNums * possible_changeling_IDs * vr_mob_tf_options * vr_mob_spawner_options * pipe_colors * vr_mob_spawner_options * common_tools * newscaster_standard_feeds * Update periodic_news.dm * changeling_fabricated_clothing * semirandom_mob_spawner_decisions * id_card_states * Update syndicate_ids.dm * overlay_cache & gear_distributed_to * more * radio_channels_by_freq * Update global_lists.dm * proper * default_medbay_channels & default_internal_channels default_internal_channels is weird as it has a mapbased proc() but that proc is never called... * valid_ringtones * move this * possible_plants * more * separate these moves xeno2chemlist from a hook to a new global list. * tube_dir_list * valid_bloodreagents & monitor_states * Junk * valid_bloodtypes * breach_burn_descriptors & burn * more!! appliance_available_recipes seems uber cursed, re-look at later * Appliance code is cursed * wide_chassis & flying_chassis * allows_eye_color * all_tooltip_styles * direction_table * gun_choices * severity_to_string * old event_viruses * description_icons * MOVE_KEY_MAPPINGS * more more * pai & robot modules * Update global_lists.dm * GEOSAMPLES Also swaps a .len to LAZYLEN() * shieldgens * reagent recipies * global ammo types * rad collector * old file and unused global * nif_look_messages * FESH * nifsoft * chamelion * the death of sortAtom * globulins * lazylen that * Update global_lists.dm * LAZY * Theese too * quick fix --------- Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
58 lines
2.1 KiB
Plaintext
58 lines
2.1 KiB
Plaintext
/datum/event/rogue_drone
|
|
endWhen = 1000
|
|
var/list/drones_list = list()
|
|
|
|
/datum/event/rogue_drone/start()
|
|
//spawn them at the same place as carp
|
|
var/list/possible_spawns = list()
|
|
for(var/obj/effect/landmark/C in GLOB.landmarks_list)
|
|
if(C.name == "carpspawn")
|
|
possible_spawns.Add(C)
|
|
|
|
//25% chance for this to be a false alarm
|
|
var/num
|
|
if(prob(25))
|
|
num = 0
|
|
else
|
|
num = rand(2,6)
|
|
for(var/i=0, i<num, i++)
|
|
var/mob/living/simple_mob/mechanical/combat_drone/event/D = new(get_turf(pick(possible_spawns)))
|
|
drones_list.Add(D)
|
|
|
|
/datum/event/rogue_drone/announce()
|
|
var/msg
|
|
var/rng = rand(1,5)
|
|
//VOREStation Edit Start
|
|
switch(rng)
|
|
if(1)
|
|
msg = "A combat drone wing operating in close orbit above Virgo 3b has failed to return from a anti-piracy sweep. If any are sighted, \
|
|
approach with caution."
|
|
if(2)
|
|
msg = "Contact has been lost with a combat drone wing in Virgo 3b orbit. If any are sighted in the area, approach with \
|
|
caution."
|
|
if(3)
|
|
msg = "Unidentified hackers have targeted a combat drone wing deployed around Virgo 3b. If any are sighted in the area, approach with caution."
|
|
if(4)
|
|
msg = "A passing derelict ship's drone defense systems have just activated. If any are sighted in the area, use caution."
|
|
if(5)
|
|
msg = "We're detecting a swarm of small objects approaching your [using_map.facility_type]. Most likely a bunch of drones. Please exercise caution if you see any."
|
|
//VOREStation Edit End
|
|
command_announcement.Announce(msg, "Rogue drone alert")
|
|
|
|
/datum/event/rogue_drone/end()
|
|
var/num_recovered = 0
|
|
for(var/mob/living/simple_mob/mechanical/combat_drone/D in drones_list)
|
|
var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread()
|
|
sparks.set_up(3, 0, D.loc)
|
|
sparks.start()
|
|
D.z = using_map.admin_levels[1]
|
|
D.loot_list = list()
|
|
|
|
qdel(D)
|
|
num_recovered++
|
|
|
|
if(num_recovered > drones_list.len * 0.75)
|
|
command_announcement.Announce("The drones that were malfunctioning have been recovered safely.", "Rogue drone alert")
|
|
else
|
|
command_announcement.Announce("We're disappointed at the loss of the drones, but the survivors have been recovered.", "Rogue drone alert")
|