mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-30 07:28:53 +01:00
Added donksoft gun and size gun upgrades for borgs
This commit is contained in:
@@ -35,6 +35,15 @@
|
||||
containertype = /obj/structure/closet/crate/allico
|
||||
containername = "foam weapon crate"
|
||||
|
||||
/datum/supply_pack/recreation/donksoftborg
|
||||
name = "Donk-Soft Cyborg Blaster Crate"
|
||||
contains = list(
|
||||
/obj/item/borg/upgrade/toygun = 2,
|
||||
)
|
||||
cost = 35
|
||||
containertype = /obj/structure/closet/crate/allico
|
||||
containername = "foam weapon crate"
|
||||
|
||||
/datum/supply_pack/recreation/donksoftvend
|
||||
name = "Donk-Soft Vendor Crate"
|
||||
contains = list()
|
||||
|
||||
@@ -31,6 +31,30 @@
|
||||
R.verbs += /mob/living/proc/set_size
|
||||
return 1
|
||||
|
||||
//Robot size gun
|
||||
/obj/item/borg/upgrade/sizegun
|
||||
name = "robot mounted size gun"
|
||||
desc = "A size gun adapted for installation in cyborgs, allows them to turn people pocket-sized among other uses. What could go wrong?"
|
||||
icon_state = "cyborg_upgrade2"
|
||||
item_state = "cyborg_upgrade"
|
||||
require_module = 1
|
||||
|
||||
/obj/item/borg/upgrade/sizegun/action(var/mob/living/silicon/robot/R)
|
||||
if(..()) return 0
|
||||
|
||||
var/obj/item/weapon/gun/energy/sizegun/mounted/T = locate() in R.module
|
||||
if(!T)
|
||||
T = locate() in R.module.contents
|
||||
if(!T)
|
||||
T = locate() in R.module.modules
|
||||
if(!T)
|
||||
R.module.modules += new/obj/item/weapon/gun/energy/sizegun/mounted(R.module)
|
||||
return 1
|
||||
if(T)
|
||||
to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
|
||||
to_chat(usr, "There's no mounting point for the module!")
|
||||
return 0
|
||||
|
||||
/obj/item/borg/upgrade/bellysizeupgrade
|
||||
name = "robohound capacity expansion module"
|
||||
desc = "Used to double a robohound's belly capacity. This only affects total volume, and won't allow support of more than one patient in case of sleeper bellies. Can only be applied once."
|
||||
@@ -152,6 +176,30 @@
|
||||
if(!T)
|
||||
R.module.modules += new/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg(R.module)
|
||||
return 1
|
||||
if(T)
|
||||
to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
|
||||
to_chat(usr, "There's no mounting point for the module!")
|
||||
return 0
|
||||
|
||||
//cyborg foam dart gun
|
||||
/obj/item/borg/upgrade/toygun
|
||||
name = "Donk-Soft Cyborg Blaster module" //Cyborg Blaster is capitalized because it's the brand name
|
||||
desc = "A foam dart gun designed for mounting into cyborgs. It's Donk or Don't! DISCLAIMER: Donk-Soft bears no responsibility for incidents relating to cyborgs becoming too accustomed to shooting at crew. Installation of the Donk-Soft Cyborg Blaster must be performed only by a licensed roboticist."
|
||||
icon_state = "cyborg_upgrade5"
|
||||
item_state = "cyborg_upgrade"
|
||||
require_module = 1
|
||||
|
||||
/obj/item/borg/upgrade/toygun/action(var/mob/living/silicon/robot/R)
|
||||
if(..()) return 0
|
||||
|
||||
var/obj/item/weapon/gun/projectile/cyborgtoy/T = locate() in R.module
|
||||
if(!T)
|
||||
T = locate() in R.module.contents
|
||||
if(!T)
|
||||
T = locate() in R.module.modules
|
||||
if(!T)
|
||||
R.module.modules += new/obj/item/weapon/gun/projectile/cyborgtoy(R.module)
|
||||
return 1
|
||||
if(T)
|
||||
to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
|
||||
to_chat(usr, "There's no mounting point for the module!")
|
||||
|
||||
@@ -199,7 +199,52 @@
|
||||
icon_state = initial(icon_state)
|
||||
else
|
||||
icon_state = "[initial(icon_state)]-e"
|
||||
/*
|
||||
* Cyborg
|
||||
*/
|
||||
/obj/item/weapon/gun/projectile/cyborgtoy
|
||||
name = "\improper Donk-Soft Cyborg Blaster"
|
||||
desc = "Donk-Soft Cyborg Blaster! It's Donk or Don't! Adult supervision required. Use to toggle between battle and cleanup mode."
|
||||
icon = 'icons/obj/gun_toy.dmi'
|
||||
icon_state = "smg"
|
||||
caliber = "foam"
|
||||
load_method = SINGLE_CASING
|
||||
max_shells = 15
|
||||
var/cleanup = 0
|
||||
ammo_type = /obj/item/ammo_casing/afoam_dart
|
||||
projectile_type = /obj/item/projectile/bullet/foam_dart
|
||||
recoil = null
|
||||
handle_casings = null
|
||||
|
||||
/obj/item/weapon/gun/projectile/cyborgtoy/attack_self(var/mob/user)
|
||||
cleanup = !cleanup
|
||||
to_chat(user, "The [src] is now on [cleanup ? "cleanup" : "battle"] mode.")
|
||||
|
||||
/obj/item/weapon/gun/projectile/cyborgtoy/afterattack(atom/A, mob/living/user, adjacent, params)
|
||||
if(cleanup)
|
||||
if(!adjacent)
|
||||
return 0
|
||||
collectammo(A, user)
|
||||
return 0
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/projectile/cyborgtoy/proc/collectammo(atom/A, user)
|
||||
if(loaded.len >= max_shells)
|
||||
to_chat(user, "The [src] is at max capacity.")
|
||||
return
|
||||
var/T = get_turf(A)
|
||||
var/success = 0
|
||||
for(var/obj/item/ammo_casing/afoam_dart/D in T)
|
||||
if(loaded.len >= max_shells)
|
||||
break
|
||||
D.loc = src
|
||||
loaded.Insert(1, D)
|
||||
success = 1
|
||||
if(success)
|
||||
playsound(src, 'sound/machines/hiss.ogg', 50, 0)
|
||||
to_chat(user, "The [src] vacuums in the darts!")
|
||||
else
|
||||
to_chat(user, "No Donk-Soft brand foam darts detected. Aborting.")
|
||||
/*
|
||||
* Laser Tag
|
||||
*/
|
||||
|
||||
@@ -7,6 +7,13 @@
|
||||
materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000)
|
||||
build_path = /obj/item/borg/upgrade/sizeshift
|
||||
|
||||
/datum/design/item/prosfab/robot_upgrade/sizegun
|
||||
name = "Size Gun Module"
|
||||
id = "borg_sizegun_module"
|
||||
req_tech = list(TECH_COMBAT = 3, TECH_BLUESPACE = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
|
||||
materials = list(MAT_STEEL = 6000, MAT_GLASS = 4000)
|
||||
build_path = /obj/item/borg/upgrade/sizegun
|
||||
|
||||
/datum/design/item/prosfab/robot_upgrade/bellysizeupgrade
|
||||
name = "Robohound Capacity Expansion Module"
|
||||
id = "borg_hound_capacity_module"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Reference in New Issue
Block a user