mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-25 17:41:56 +00:00
Adds the hunter-seeker cyborg preset (#5033)
At the request of kyres1 this prs adds the preset for a cyborg to be used in the future synth events, sprites were made by kyres himself. Also, gives the syndicate cyborg's smg a new sprite.
This commit is contained in:
@@ -47,8 +47,13 @@
|
||||
throw_range = 5
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 75)
|
||||
attack_verb = list("stabbed")
|
||||
var/random_icon = TRUE
|
||||
|
||||
/obj/item/weapon/screwdriver/Initialize()
|
||||
. = ..()
|
||||
if(!random_icon)
|
||||
return
|
||||
|
||||
/obj/item/weapon/screwdriver/New()
|
||||
switch(pick("red","blue","purple","brown","green","cyan","yellow"))
|
||||
if ("red")
|
||||
icon_state = "screwdriver2"
|
||||
@@ -74,7 +79,6 @@
|
||||
|
||||
if (prob(75))
|
||||
src.pixel_y = rand(0, 16)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/screwdriver/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob, var/target_zone)
|
||||
if(!istype(M) || user.a_intent == "help")
|
||||
|
||||
@@ -15,4 +15,64 @@
|
||||
/mob/living/silicon/robot/combat/ert/init()
|
||||
..()
|
||||
if(!jetpack)
|
||||
jetpack = new /obj/item/weapon/tank/jetpack/carbondioxide/synthetic(src)
|
||||
jetpack = new /obj/item/weapon/tank/jetpack/carbondioxide/synthetic(src)
|
||||
|
||||
/mob/living/silicon/robot/combat/scrambled //should not stand linked to the station or the ai
|
||||
scrambledcodes = 1
|
||||
lawupdate = 0
|
||||
|
||||
/mob/living/silicon/robot/hunter_seeker //added for events, at the request of the lore people
|
||||
maxHealth = 300
|
||||
health = 300
|
||||
scrambledcodes = 1
|
||||
lawupdate = 0
|
||||
cell_type = /obj/item/weapon/cell/super
|
||||
overclocked = 1
|
||||
speed = -3
|
||||
req_access = list(access_syndicate)
|
||||
idcard_type = /obj/item/weapon/card/id/syndicate
|
||||
key_type = /obj/item/device/encryptionkey/syndicate
|
||||
spawn_module = /obj/item/weapon/robot_module/hunter_seeker
|
||||
no_pda = TRUE
|
||||
light_color = LIGHT_COLOR_EMERGENCY
|
||||
light_power = 15
|
||||
light_range = 15
|
||||
integrated_light_power = 15
|
||||
light_wedge = 10
|
||||
|
||||
/mob/living/silicon/robot/hunter_seeker/init()
|
||||
..()
|
||||
if(!jetpack)
|
||||
jetpack = new /obj/item/weapon/tank/jetpack/carbondioxide/synthetic(src)
|
||||
|
||||
var/obj/item/robot_parts/robot_component/surge/S = new(src)
|
||||
for(var/V in components)
|
||||
var/datum/robot_component/C = components[V]
|
||||
if(!C.installed && istype(S, C.external_type))
|
||||
C.wrapped = S
|
||||
C.install()
|
||||
S.loc = null
|
||||
|
||||
/mob/living/silicon/robot/hunter_seeker/updateicon() //because this was the only way I found out how to make their eyes and etc works
|
||||
cut_overlays()
|
||||
if(stat == 0)
|
||||
add_overlay("eyes-[icon_state]")
|
||||
|
||||
if(opened)
|
||||
var/panelprefix = custom_sprite ? src.ckey : "ov"
|
||||
if(wiresexposed)
|
||||
add_overlay("[panelprefix]-openpanel +w")
|
||||
else if(cell)
|
||||
add_overlay("[panelprefix]-openpanel +c")
|
||||
else
|
||||
add_overlay("[panelprefix]-openpanel -c")
|
||||
|
||||
if(module_active && istype(module_active,/obj/item/borg/combat/shield))
|
||||
add_overlay("[icon_state]-shield")
|
||||
|
||||
if(modtype == "Combat")
|
||||
if(module_active && istype(module_active,/obj/item/borg/combat/mobility))
|
||||
icon_state = "[icon_state]-roll"
|
||||
else
|
||||
icon_state = module_sprites[icontype]
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
var/obj/item/device/mmi/mmi = null
|
||||
|
||||
var/obj/item/device/pda/ai/rbPDA = null
|
||||
|
||||
var/no_pda = FALSE
|
||||
var/obj/item/weapon/stock_parts/matter_bin/storage = null
|
||||
|
||||
var/opened = 0
|
||||
@@ -234,6 +234,8 @@
|
||||
|
||||
// setup the PDA and its name
|
||||
/mob/living/silicon/robot/proc/setup_PDA()
|
||||
if (no_pda)
|
||||
return
|
||||
if (!rbPDA)
|
||||
rbPDA = new/obj/item/device/pda/ai(src)
|
||||
rbPDA.set_name_and_job(custom_name,"[modtype] [braintype]")
|
||||
|
||||
@@ -363,3 +363,38 @@
|
||||
|
||||
user << "You fail to pick up \the [A] with \the [src]"
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/energy/mountedcannon
|
||||
name = "mounted ballistic cannon"
|
||||
desc = "A cyborg mounted ballistic cannon."
|
||||
icon = 'icons/obj/robot_items.dmi'
|
||||
icon_state = "cannon"
|
||||
item_state = "cannon"
|
||||
fire_sound = 'sound/effects/Explosion1.ogg'
|
||||
charge_meter = 0
|
||||
max_shots = 10
|
||||
charge_cost = 300
|
||||
projectile_type = /obj/item/projectile/bullet/gyro
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
recharge_time = 5
|
||||
needspin = FALSE
|
||||
|
||||
/obj/item/weapon/crowbar/robotic
|
||||
icon = 'icons/obj/robot_items.dmi'
|
||||
|
||||
/obj/item/weapon/wrench/robotic
|
||||
icon = 'icons/obj/robot_items.dmi'
|
||||
|
||||
/obj/item/weapon/screwdriver/robotic
|
||||
icon = 'icons/obj/robot_items.dmi'
|
||||
random_icon = FALSE
|
||||
|
||||
/obj/item/device/multitool/robotic
|
||||
icon = 'icons/obj/robot_items.dmi'
|
||||
|
||||
/obj/item/weapon/wirecutters/robotic
|
||||
icon = 'icons/obj/robot_items.dmi'
|
||||
|
||||
/obj/item/weapon/weldingtool/robotic
|
||||
icon = 'icons/obj/robot_items.dmi'
|
||||
@@ -975,3 +975,39 @@ var/global/list/robot_modules = list(
|
||||
src.emag = new /obj/item/weapon/gun/energy/plasmacutter/mounted(src)
|
||||
src.emag.name = "Mounted Plasma Cutter"
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/hunter_seeker
|
||||
name = "hunter seeker robot module"
|
||||
languages = list(
|
||||
LANGUAGE_SOL_COMMON = 1,
|
||||
LANGUAGE_TRADEBAND = 1,
|
||||
LANGUAGE_UNATHI = 1,
|
||||
LANGUAGE_SIIK_MAAS = 1,
|
||||
LANGUAGE_SKRELLIAN = 1,
|
||||
LANGUAGE_GUTTER = 1,
|
||||
LANGUAGE_ROOTSONG = 1,
|
||||
LANGUAGE_TERMINATOR = 1
|
||||
)
|
||||
|
||||
sprites = list(
|
||||
"Hunter Seeker" = "hunter_seeker"
|
||||
)
|
||||
|
||||
/obj/item/weapon/robot_module/hunter_seeker/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
loc = R
|
||||
src.modules += new /obj/item/device/flash(src)
|
||||
src.modules += new /obj/item/weapon/pickaxe/borgdrill(src)
|
||||
src.modules += new /obj/item/borg/sight/thermal(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/net/mounted(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/mountedcannon(src)
|
||||
src.modules += new /obj/item/weapon/melee/energy/glaive(src)
|
||||
src.modules += new /obj/item/weapon/crowbar/robotic(src)
|
||||
src.modules += new /obj/item/weapon/wrench/robotic(src)
|
||||
src.modules += new /obj/item/weapon/screwdriver/robotic(src)
|
||||
src.modules += new /obj/item/device/multitool/robotic(src)
|
||||
src.modules += new /obj/item/weapon/wirecutters/robotic(src)
|
||||
src.modules += new /obj/item/weapon/weldingtool/robotic(src)
|
||||
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
|
||||
|
||||
return
|
||||
@@ -17,6 +17,7 @@
|
||||
req_access = list(access_syndicate)
|
||||
faction = "syndicate"
|
||||
braintype = "Cyborg"
|
||||
no_pda = TRUE
|
||||
|
||||
/mob/living/silicon/robot/syndicate/init()
|
||||
..()
|
||||
@@ -60,11 +61,13 @@
|
||||
//syndicate borg gear
|
||||
|
||||
/obj/item/weapon/gun/energy/mountedsmg
|
||||
name = "mounted SMG"
|
||||
desc = "A cyborg mounted sub machine gun, it can print more bullets over time."
|
||||
icon_state = "lawgiver" //placeholder for now
|
||||
item_state = "lawgiver"
|
||||
name = "mounted submachine gun"
|
||||
desc = "A cyborg mounted submachine gun, it can print more bullets over time."
|
||||
icon = 'icons/obj/robot_items.dmi'
|
||||
icon_state = "smg"
|
||||
item_state = "smg"
|
||||
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||
charge_meter = 0
|
||||
max_shots = 20
|
||||
charge_cost = 100
|
||||
projectile_type = /obj/item/projectile/bullet/pistol
|
||||
@@ -72,6 +75,7 @@
|
||||
use_external_power = 1
|
||||
recharge_time = 5
|
||||
sel_mode = 1
|
||||
needspin = FALSE
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=list(0)),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0, 15, 15)),
|
||||
|
||||
Reference in New Issue
Block a user