mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 06:22:26 +01:00
Better Icarus Drones (#10047)
Improved Icarus combat drone code across the board, added a non-malfunctioning variant.
The Icarus now sends combat drones to substantial space wildlife migrations.
Added an Icarus drone target painter to some admin roles. It is an orbital drop device that will warp two Icarus drones at the targetted location.
Added examine texts to malfunctioning combat drones that tells you what they're doing.
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
|
||||
var/paint_distance = 14 // From how far away can you paint a target?
|
||||
|
||||
var/does_explosion = TRUE
|
||||
var/emagged = FALSE // If emagged, things can be dropped in on station areas
|
||||
|
||||
var/drop_message = "Orbital package inbound, clear the targetted area immediately!"
|
||||
@@ -77,7 +78,8 @@
|
||||
announcer.autosay(drop_message_emagged, announcer_name, "Common")
|
||||
|
||||
has_dropped++
|
||||
addtimer(CALLBACK(GLOBAL_PROC, /proc/explosion, targloc, 1, 2, 4, 6), 100) //YEEHAW
|
||||
if(does_explosion)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, /proc/explosion, targloc, 1, 2, 4, 6), 100) //YEEHAW
|
||||
addtimer(CALLBACK(src, .proc/orbital_drop, targloc, user), 105)
|
||||
|
||||
flick_overlay(I, showto, 20) //2 seconds of the red dot appearing
|
||||
@@ -86,7 +88,7 @@
|
||||
/obj/item/device/orbital_dropper/proc/orbital_drop(var/turf/target, var/user)
|
||||
if(!map)
|
||||
return
|
||||
log_and_message_admins("[key_name_admin(src)] has used a [src] at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[target.x];Y=[target.y];Z=[target.z]'>JMP</a>.")
|
||||
log_and_message_admins("[key_name_admin(user)] has used a [src] at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[target.x];Y=[target.y];Z=[target.z]'>JMP</a>.")
|
||||
map.load(target, TRUE) //Target must be the center!
|
||||
|
||||
|
||||
|
||||
@@ -46,3 +46,23 @@
|
||||
desc_antag = "This is a stealthy variant of the standard armory orbital drop. It will not report itself dropping on common, unless emagged."
|
||||
announcer_name = "Syndicate Autodrone"
|
||||
announcer_channel = "Mercenary"
|
||||
|
||||
/obj/item/device/orbital_dropper/icarus_drones
|
||||
name = "icarus painter"
|
||||
desc = "A device used to paint a target, which will then promptly orbitally drop the requested items. This one has been modified to call in Icarus Drones."
|
||||
|
||||
var/num_of_drones = 2
|
||||
drop_amount = 1
|
||||
does_explosion = FALSE
|
||||
|
||||
emagged = TRUE // to let people drop it in the station
|
||||
|
||||
drop_message_emagged = "NanoTrasen combat drones coming your way! Happy hunting!"
|
||||
announcer_name = "NDV Icarus"
|
||||
|
||||
map = null
|
||||
|
||||
/obj/item/device/orbital_dropper/icarus_drones/orbital_drop(var/turf/target, var/user)
|
||||
log_and_message_admins("[key_name_admin(user)] has used a [src] at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[target.x];Y=[target.y];Z=[target.z]'>JMP</a>.")
|
||||
for(var/i = 1, i <= num_of_drones, i++)
|
||||
new /mob/living/simple_animal/hostile/icarus_drone(get_random_turf_in_range(target, 4, 2, TRUE))
|
||||
Reference in New Issue
Block a user