mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-19 02:56:14 +01:00
Merging modules - Surgery
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
/mob/living/silicon/robot/update_hud()
|
||||
if(ui_style_vr)
|
||||
hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
if(modtype)
|
||||
hands.icon_state = get_hud_module_icon()
|
||||
..()
|
||||
@@ -64,9 +64,9 @@
|
||||
/obj/item/borg/upgrade/bellysizeupgrade/action(var/mob/living/silicon/robot/R)
|
||||
if(..()) return 0
|
||||
|
||||
if(!R.module || R.dogborg == FALSE)//can work
|
||||
if(!R.module)//can work
|
||||
to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
|
||||
to_chat(usr, "There's no mounting point for the module! Try upgrading another model.")
|
||||
to_chat(usr, "There's no mounting point for the module!")
|
||||
return 0
|
||||
|
||||
var/obj/item/device/dogborg/sleeper/T = locate() in R.module
|
||||
|
||||
@@ -100,21 +100,21 @@
|
||||
H.forcesay(hit_appends)
|
||||
|
||||
//Boop //New and improved, now a simple reagent sniffer.
|
||||
/obj/item/device/dogborg/boop_module
|
||||
/obj/item/device/boop_module
|
||||
name = "boop module"
|
||||
icon = 'icons/mob/dogborg_vr.dmi'
|
||||
icon_state = "nose"
|
||||
desc = "The BOOP module, a simple reagent and atmosphere sniffer."
|
||||
desc = "The BOOP module, a simple reagent and atmosphere scanner."
|
||||
force = 0
|
||||
throwforce = 0
|
||||
attack_verb = list("nuzzled", "nosed", "booped")
|
||||
w_class = ITEMSIZE_TINY
|
||||
|
||||
/obj/item/device/dogborg/boop_module/New()
|
||||
/obj/item/device/boop_module/New()
|
||||
..()
|
||||
flags |= NOBLUDGEON //No more attack messages
|
||||
|
||||
/obj/item/device/dogborg/boop_module/attack_self(mob/user)
|
||||
/obj/item/device/boop_module/attack_self(mob/user)
|
||||
if (!( istype(user.loc, /turf) ))
|
||||
return
|
||||
|
||||
@@ -124,9 +124,9 @@
|
||||
var/total_moles = environment.total_moles
|
||||
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
user.visible_message("<span class='notice'>[user] sniffs the air.</span>", "<span class='notice'>You sniff the air...</span>")
|
||||
user.visible_message("<span class='notice'>[user] scans the air.</span>", "<span class='notice'>You scan the air...</span>")
|
||||
|
||||
to_chat(user, "<span class='notice'><B>Smells like:</B></span>")
|
||||
to_chat(user, "<span class='notice'><B>Scan results:</B></span>")
|
||||
if(abs(pressure - ONE_ATMOSPHERE) < 10)
|
||||
to_chat(user, "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>")
|
||||
else
|
||||
@@ -136,7 +136,7 @@
|
||||
to_chat(user, "<span class='notice'>[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]%</span>")
|
||||
to_chat(user, "<span class='notice'>Temperature: [round(environment.temperature-T0C,0.1)]°C ([round(environment.temperature,0.1)]K)</span>")
|
||||
|
||||
/obj/item/device/dogborg/boop_module/afterattack(obj/O, mob/user as mob, proximity)
|
||||
/obj/item/device/boop_module/afterattack(obj/O, mob/user as mob, proximity)
|
||||
if(!proximity)
|
||||
return
|
||||
if (user.stat)
|
||||
@@ -145,7 +145,7 @@
|
||||
return
|
||||
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
user.visible_message("<span class='notice'>[user] sniffs at \the [O.name].</span>", "<span class='notice'>You sniff \the [O.name]...</span>")
|
||||
user.visible_message("<span class='notice'>[user] scan at \the [O.name].</span>", "<span class='notice'>You scan \the [O.name]...</span>")
|
||||
|
||||
if(!isnull(O.reagents))
|
||||
var/dat = ""
|
||||
@@ -156,9 +156,9 @@
|
||||
if(dat)
|
||||
to_chat(user, "<span class='notice'>Your BOOP module indicates: [dat]</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>No active chemical agents smelled in [O].</span>")
|
||||
to_chat(user, "<span class='notice'>No active chemical agents detected in [O].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>No significant chemical agents smelled in [O].</span>")
|
||||
to_chat(user, "<span class='notice'>No significant chemical agents detected in [O].</span>")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -581,15 +581,24 @@
|
||||
else
|
||||
resources += module_string
|
||||
|
||||
dat += tools
|
||||
|
||||
if (emagged)
|
||||
if (!module.emag)
|
||||
dat += text("<B>Resource depleted</B><BR>")
|
||||
else if(activated(module.emag))
|
||||
dat += text("[module.emag]: <B>Activated</B><BR>")
|
||||
else
|
||||
dat += text("[module.emag]: <A HREF=?src=\ref[src];act=\ref[module.emag]>Activate</A><BR>")
|
||||
for (var/O in module.emag)
|
||||
|
||||
var/module_string = ""
|
||||
|
||||
if (!O)
|
||||
module_string += text("<B>Resource depleted</B><BR>")
|
||||
else if(activated(O))
|
||||
module_string += text("[O]: <B>Activated</B><BR>")
|
||||
else
|
||||
module_string += text("[O]: <A HREF=?src=\ref[src];act=\ref[O]>Activate</A><BR>")
|
||||
|
||||
if((istype(O,/obj/item/weapon) || istype(O,/obj/item/device)) && !(istype(O,/obj/item/stack/cable_coil)))
|
||||
tools += module_string
|
||||
else
|
||||
resources += module_string
|
||||
|
||||
dat += tools
|
||||
|
||||
dat += resources
|
||||
|
||||
|
||||
@@ -224,7 +224,7 @@
|
||||
return
|
||||
|
||||
/mob/living/silicon/robot/proc/activate_module(var/obj/item/O)
|
||||
if(!(locate(O) in src.module.modules) && O != src.module.emag)
|
||||
if(!(locate(O) in src.module.modules) && !(locate(O) in src.module.emag))
|
||||
return
|
||||
if(activated(O))
|
||||
to_chat(src, "<span class='notice'>Already activated</span>")
|
||||
|
||||
@@ -33,6 +33,9 @@
|
||||
var/icon_selected = 1 // If icon selection has been completed yet
|
||||
var/icon_selection_tries = 0 // Remaining attempts to select icon before a selection is forced
|
||||
var/list/sprite_extra_customization = list()
|
||||
var/rest_style = "Default"
|
||||
var/notransform
|
||||
does_spin = FALSE
|
||||
|
||||
//Hud stuff
|
||||
|
||||
@@ -58,6 +61,9 @@
|
||||
|
||||
var/cell_emp_mult = 2
|
||||
|
||||
var/sleeper_state = 0 // 0 for empty, 1 for normal, 2 for mediborg-healthy
|
||||
var/scrubbing = FALSE //Floor cleaning enabled
|
||||
|
||||
// Components are basically robot organs.
|
||||
var/list/components = list()
|
||||
|
||||
@@ -97,7 +103,10 @@
|
||||
|
||||
var/list/robot_verbs_default = list(
|
||||
/mob/living/silicon/robot/proc/sensor_mode,
|
||||
/mob/living/silicon/robot/proc/robot_checklaws
|
||||
/mob/living/silicon/robot/proc/robot_checklaws,
|
||||
/mob/living/silicon/robot/proc/robot_mount,
|
||||
/mob/living/proc/toggle_rider_reins,
|
||||
/mob/living/proc/shred_limb
|
||||
)
|
||||
|
||||
/mob/living/silicon/robot/New(loc, var/unfinished = 0)
|
||||
@@ -951,16 +960,14 @@
|
||||
else
|
||||
dat += text("[obj]: <A HREF=?src=\ref[src];act=\ref[obj]>Activate</A><BR>")
|
||||
if (emagged || emag_items)
|
||||
if(activated(module.emag))
|
||||
dat += text("[module.emag]: <B>Activated</B><BR>")
|
||||
else
|
||||
dat += text("[module.emag]: <A HREF=?src=\ref[src];act=\ref[module.emag]>Activate</A><BR>")
|
||||
/*
|
||||
if(activated(obj))
|
||||
dat += text("[obj]: \[<B>Activated</B> | <A HREF=?src=\ref[src];deact=\ref[obj]>Deactivate</A>\]<BR>")
|
||||
else
|
||||
dat += text("[obj]: \[<A HREF=?src=\ref[src];act=\ref[obj]>Activate</A> | <B>Deactivated</B>\]<BR>")
|
||||
*/
|
||||
for (var/obj in module.emag)
|
||||
if (!obj)
|
||||
dat += text("<B>Resource depleted</B><BR>")
|
||||
else if(activated(obj))
|
||||
dat += text("[obj]: <B>Activated</B><BR>")
|
||||
else
|
||||
dat += text("[obj]: <A HREF=?src=\ref[src];act=\ref[obj]>Activate</A><BR>")
|
||||
|
||||
src << browse(dat, "window=robotmod")
|
||||
|
||||
|
||||
@@ -987,7 +994,7 @@
|
||||
if (!istype(O))
|
||||
return 1
|
||||
|
||||
if(!((O in src.module.modules) || (O == src.module.emag)))
|
||||
if(!((O in src.module.modules) || (O in src.module.emag)))
|
||||
return 1
|
||||
|
||||
if(activated(O))
|
||||
@@ -1324,3 +1331,26 @@
|
||||
|
||||
/mob/living/silicon/robot/get_cell()
|
||||
return cell
|
||||
|
||||
/mob/living/silicon/robot/lay_down()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/mob/living/silicon/robot/verb/rest_style()
|
||||
set name = "Switch Rest Style"
|
||||
set desc = "Select your resting pose."
|
||||
set category = "IC"
|
||||
|
||||
if(!sprite_datum || !sprite_datum.has_rest_sprites || sprite_datum.rest_sprite_options.len < 1)
|
||||
to_chat(src, "<span class='notice'>Your current appearance doesn't have any resting styles!</span>")
|
||||
rest_style = "Default"
|
||||
return
|
||||
|
||||
if(sprite_datum.rest_sprite_options.len == 1)
|
||||
to_chat(src, "<span class='notice'>Your current appearance only has a single resting style!</span>")
|
||||
rest_style = "Default"
|
||||
return
|
||||
|
||||
rest_style = tgui_alert(src, "Select resting pose", "Resting Pose", sprite_datum.rest_sprite_options)
|
||||
if(!rest_style)
|
||||
rest_style = "Default"
|
||||
@@ -27,7 +27,7 @@
|
||||
src.modules += new /obj/item/device/robotanalyzer(src)
|
||||
|
||||
// Potato
|
||||
src.emag = new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
src.emag += new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
|
||||
var/datum/matter_synth/wire = new /datum/matter_synth/wire()
|
||||
synths += wire
|
||||
@@ -63,7 +63,7 @@
|
||||
src.modules += new /obj/item/weapon/gripper/gravekeeper(src)
|
||||
|
||||
// For really persistent looters
|
||||
src.emag = new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
src.emag += new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
|
||||
var/datum/matter_synth/wood = new /datum/matter_synth/wood(25000)
|
||||
synths += wood
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/robot_module/robot/stray/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
// General
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
//src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
|
||||
// Sec
|
||||
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
|
||||
@@ -25,7 +25,7 @@
|
||||
src.modules += new /obj/item/device/multitool(src)
|
||||
|
||||
// Boof
|
||||
src.emag = new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
src.emag += new /obj/item/weapon/gun/energy/retro/mounted(src)
|
||||
|
||||
var/datum/matter_synth/water = new /datum/matter_synth(500) //Starts full and has a max of 500
|
||||
water.name = "Water reserves"
|
||||
@@ -43,16 +43,4 @@
|
||||
|
||||
var/obj/item/device/dogborg/sleeper/B = new /obj/item/device/dogborg/sleeper(src)
|
||||
B.water = water
|
||||
src.modules += B
|
||||
|
||||
R.icon = 'icons/mob/widerobot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
src.modules += B
|
||||
@@ -46,7 +46,7 @@ var/global/list/robot_modules = list(
|
||||
var/no_slip = 0
|
||||
var/list/modules = list()
|
||||
var/list/datum/matter_synth/synths = list()
|
||||
var/obj/item/emag = null
|
||||
var/list/emag = list()
|
||||
var/obj/item/borg/upgrade/jetpack = null
|
||||
var/obj/item/borg/upgrade/advhealth = null
|
||||
var/list/subsystems = list()
|
||||
@@ -93,6 +93,8 @@ var/global/list/robot_modules = list(
|
||||
R.radio.recalculateChannels()
|
||||
R.choose_icon(0)
|
||||
|
||||
R.scrubbing = FALSE
|
||||
|
||||
/obj/item/weapon/robot_module/Destroy()
|
||||
for(var/module in modules)
|
||||
qdel(module)
|
||||
@@ -100,9 +102,8 @@ var/global/list/robot_modules = list(
|
||||
qdel(synth)
|
||||
modules.Cut()
|
||||
synths.Cut()
|
||||
qdel(emag)
|
||||
emag.Cut()
|
||||
qdel(jetpack)
|
||||
emag = null
|
||||
jetpack = null
|
||||
return ..()
|
||||
|
||||
@@ -111,7 +112,8 @@ var/global/list/robot_modules = list(
|
||||
for(var/obj/O in modules)
|
||||
O.emp_act(severity)
|
||||
if(emag)
|
||||
emag.emp_act(severity)
|
||||
for(var/obj/O in emag)
|
||||
O.emp_act(severity)
|
||||
if(synths)
|
||||
for(var/datum/matter_synth/S in synths)
|
||||
S.emp_act(severity)
|
||||
@@ -192,11 +194,11 @@ var/global/list/robot_modules = list(
|
||||
// Cyborgs (non-drones), default loadout. This will be given to every module.
|
||||
/obj/item/weapon/robot_module/robot/New()
|
||||
..()
|
||||
src.modules += new /obj/item/device/flash/robot(src)
|
||||
src.modules += new /obj/item/weapon/tool/crowbar/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/extinguisher(src)
|
||||
src.modules += new /obj/item/device/gps/robot(src)
|
||||
vr_new() // Vorestation Edit: For modules in robot_modules_vr.dm
|
||||
src.modules += new /obj/item/device/boop_module(src)
|
||||
src.modules += new /obj/item/device/flash/robot(src)
|
||||
src.modules += new /obj/item/weapon/extinguisher(src)
|
||||
src.modules += new /obj/item/weapon/tool/crowbar/cyborg(src)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/standard
|
||||
name = "standard robot module"
|
||||
@@ -204,10 +206,10 @@ var/global/list/robot_modules = list(
|
||||
|
||||
/obj/item/weapon/robot_module/robot/standard/New()
|
||||
..()
|
||||
src.modules += new /obj/item/weapon/melee/baton/loaded(src)
|
||||
src.modules += new /obj/item/weapon/tool/wrench/cyborg(src)
|
||||
src.modules += new /obj/item/device/healthanalyzer(src)
|
||||
src.emag = new /obj/item/weapon/melee/energy/sword(src)
|
||||
src.modules += new /obj/item/weapon/melee/baton/loaded(src)
|
||||
src.emag += new /obj/item/weapon/melee/energy/sword(src)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/medical
|
||||
name = "medical robot module"
|
||||
@@ -223,6 +225,7 @@ var/global/list/robot_modules = list(
|
||||
/obj/item/weapon/robot_module/robot/medical/surgeon/New()
|
||||
..()
|
||||
src.modules += new /obj/item/device/healthanalyzer(src)
|
||||
src.modules += new /obj/item/device/sleevemate(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/borghypo/surgeon(src)
|
||||
src.modules += new /obj/item/weapon/autopsy_scanner(src)
|
||||
src.modules += new /obj/item/weapon/surgical/scalpel/cyborg(src)
|
||||
@@ -240,9 +243,13 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/weapon/shockpaddles/robot(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/dropper(src) // Allows surgeon borg to fix necrosis
|
||||
src.modules += new /obj/item/weapon/reagent_containers/syringe(src)
|
||||
src.emag = new /obj/item/weapon/reagent_containers/spray(src)
|
||||
src.emag.reagents.add_reagent("pacid", 250)
|
||||
src.emag.name = "Polyacid spray"
|
||||
|
||||
var/obj/item/weapon/reagent_containers/spray/PS = new /obj/item/weapon/reagent_containers/spray(src)
|
||||
src.emag += PS
|
||||
PS.reagents.add_reagent("pacid", 250)
|
||||
PS.name = "Polyacid spray"
|
||||
|
||||
src.emag += new /obj/item/weapon/dogborg/pounce(src) //Pounce, also, lets not give them polyacid spray
|
||||
|
||||
var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(10000)
|
||||
synths += medicine
|
||||
@@ -263,6 +270,8 @@ var/global/list/robot_modules = list(
|
||||
src.modules += B
|
||||
src.modules += O
|
||||
|
||||
src.modules += new /obj/item/device/dogborg/sleeper/trauma(src)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/medical/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
|
||||
|
||||
var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules
|
||||
@@ -272,8 +281,8 @@ var/global/list/robot_modules = list(
|
||||
S.desc = initial(S.desc)
|
||||
S.update_icon()
|
||||
|
||||
if(src.emag)
|
||||
var/obj/item/weapon/reagent_containers/spray/PS = src.emag
|
||||
var/obj/item/weapon/reagent_containers/spray/PS = locate() in src.emag
|
||||
if(PS)
|
||||
PS.reagents.add_reagent("pacid", 2 * amount)
|
||||
|
||||
..()
|
||||
@@ -284,6 +293,7 @@ var/global/list/robot_modules = list(
|
||||
/obj/item/weapon/robot_module/robot/medical/crisis/New()
|
||||
..()
|
||||
src.modules += new /obj/item/device/healthanalyzer(src)
|
||||
src.modules += new /obj/item/device/sleevemate(src)
|
||||
src.modules += new /obj/item/device/reagent_scanner/adv(src)
|
||||
src.modules += new /obj/item/roller_holder(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/borghypo/crisis(src)
|
||||
@@ -294,9 +304,10 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/weapon/gripper/medical(src)
|
||||
src.modules += new /obj/item/weapon/shockpaddles/robot(src)
|
||||
src.modules += new /obj/item/weapon/inflatable_dispenser/robot(src) //VOREStation Add - This is kinda important for rescuing people without making it worse for everyone
|
||||
src.emag = new /obj/item/weapon/reagent_containers/spray(src)
|
||||
src.emag.reagents.add_reagent("pacid", 250)
|
||||
src.emag.name = "Polyacid spray"
|
||||
var/obj/item/weapon/reagent_containers/spray/PS = new /obj/item/weapon/reagent_containers/spray(src)
|
||||
src.emag += PS
|
||||
PS.reagents.add_reagent("pacid", 250)
|
||||
PS.name = "Polyacid spray"
|
||||
|
||||
var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(15000)
|
||||
synths += medicine
|
||||
@@ -326,8 +337,8 @@ var/global/list/robot_modules = list(
|
||||
S.desc = initial(S.desc)
|
||||
S.update_icon()
|
||||
|
||||
if(src.emag)
|
||||
var/obj/item/weapon/reagent_containers/spray/PS = src.emag
|
||||
var/obj/item/weapon/reagent_containers/spray/PS = locate() in src.emag
|
||||
if(PS)
|
||||
PS.reagents.add_reagent("pacid", 2 * amount)
|
||||
|
||||
..()
|
||||
@@ -359,7 +370,7 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/weapon/pipe_dispenser(src)
|
||||
src.modules += new /obj/item/device/floor_painter(src)
|
||||
src.modules += new /obj/item/weapon/inflatable_dispenser/robot(src)
|
||||
src.emag = new /obj/item/weapon/melee/baton/robot/arm(src)
|
||||
src.emag += new /obj/item/weapon/melee/baton/robot/arm(src)
|
||||
src.modules += new /obj/item/device/geiger(src)
|
||||
src.modules += new /obj/item/weapon/rcd/electric/mounted/borg(src)
|
||||
src.modules += new /obj/item/weapon/pickaxe/plasmacutter/borg(src)
|
||||
@@ -449,7 +460,7 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/weapon/reagent_containers/spray/pepper(src)
|
||||
src.modules += new /obj/item/weapon/gripper/security(src)
|
||||
src.modules += new /obj/item/device/ticket_printer(src) //VOREStation Add
|
||||
src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src)
|
||||
src.emag += new /obj/item/weapon/gun/energy/laser/mounted(src)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/security/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
|
||||
var/obj/item/device/flash/F = locate() in src.modules
|
||||
@@ -478,16 +489,18 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/weapon/mop(src)
|
||||
src.modules += new /obj/item/pupscrubber(src)
|
||||
src.modules += new /obj/item/device/lightreplacer(src)
|
||||
src.emag = new /obj/item/weapon/reagent_containers/spray(src)
|
||||
src.emag.reagents.add_reagent("lube", 250)
|
||||
src.emag.name = "Lube spray"
|
||||
var/obj/item/weapon/reagent_containers/spray/LS = new /obj/item/weapon/reagent_containers/spray(src)
|
||||
src.emag += LS
|
||||
LS.reagents.add_reagent("lube", 250)
|
||||
LS.name = "Lube spray"
|
||||
|
||||
/obj/item/weapon/robot_module/robot/janitor/general/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
|
||||
var/obj/item/device/lightreplacer/LR = locate() in src.modules
|
||||
LR.Charge(R, amount)
|
||||
if(src.emag)
|
||||
var/obj/item/weapon/reagent_containers/spray/S = src.emag
|
||||
S.reagents.add_reagent("lube", 2 * amount)
|
||||
|
||||
var/obj/item/weapon/reagent_containers/spray/LS = locate() in src.emag
|
||||
if(LS)
|
||||
LS.reagents.add_reagent("lube", 2 * amount)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/clerical
|
||||
name = "service robot module"
|
||||
@@ -547,14 +560,23 @@ var/global/list/robot_modules = list(
|
||||
|
||||
src.modules += new /obj/item/weapon/tray/robotray(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/borghypo/service(src)
|
||||
src.emag = new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer(src)
|
||||
var/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/PB = new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer(src)
|
||||
src.emag += PB
|
||||
|
||||
var/datum/reagents/R = new/datum/reagents(50)
|
||||
src.emag.reagents = R
|
||||
R.my_atom = src.emag
|
||||
PB.reagents = R
|
||||
R.my_atom = PB
|
||||
R.add_reagent("beer2", 50)
|
||||
src.emag.name = "Auntie Hong's Final Sip"
|
||||
src.emag.desc = "A bottle of very special mix of alcohol and poison. Some may argue that there's alcohol to die for, but Auntie Hong took it to next level."
|
||||
PB.name = "Auntie Hong's Final Sip"
|
||||
PB.desc = "A bottle of very special mix of alcohol and poison. Some may argue that there's alcohol to die for, but Auntie Hong took it to next level."
|
||||
|
||||
/obj/item/weapon/robot_module/robot/clerical/butler/general/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
|
||||
var/obj/item/weapon/reagent_containers/food/condiment/enzyme/E = locate() in src.modules
|
||||
E.reagents.add_reagent("enzyme", 2 * amount)
|
||||
|
||||
var/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/PB = locate() in src.emag
|
||||
if(PB)
|
||||
PB.reagents.add_reagent("beer2", 2 * amount)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/clerical/general
|
||||
name = "clerical robot module"
|
||||
@@ -567,15 +589,8 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/weapon/hand_labeler(src)
|
||||
src.modules += new /obj/item/weapon/stamp(src)
|
||||
src.modules += new /obj/item/weapon/stamp/denied(src)
|
||||
src.emag = new /obj/item/weapon/stamp/chameleon(src)
|
||||
src.emag = new /obj/item/weapon/pen/chameleon(src)
|
||||
|
||||
/obj/item/weapon/robot_module/general/butler/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
|
||||
var/obj/item/weapon/reagent_containers/food/condiment/enzyme/E = locate() in src.modules
|
||||
E.reagents.add_reagent("enzyme", 2 * amount)
|
||||
if(src.emag)
|
||||
var/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/B = src.emag
|
||||
B.reagents.add_reagent("beer2", 2 * amount)
|
||||
src.emag += new /obj/item/weapon/stamp/chameleon(src)
|
||||
src.emag += new /obj/item/weapon/pen/chameleon(src)
|
||||
|
||||
/obj/item/weapon/robot_module/robot/miner
|
||||
name = "miner robot module"
|
||||
@@ -595,7 +610,7 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/weapon/gripper/miner(src)
|
||||
src.modules += new /obj/item/weapon/mining_scanner(src)
|
||||
// New Emag gear for the minebots!
|
||||
src.emag = new /obj/item/weapon/kinetic_crusher/machete/dagger(src)
|
||||
src.emag += new /obj/item/weapon/kinetic_crusher/machete/dagger(src)
|
||||
|
||||
// No reason for these, upgrade modules replace them.
|
||||
//src.emag = new /obj/item/weapon/pickaxe/plasmacutter/borg(src)
|
||||
@@ -637,7 +652,7 @@ var/global/list/robot_modules = list(
|
||||
|
||||
src.modules += new /obj/item/device/dogborg/sleeper/compactor/analyzer(src)
|
||||
|
||||
src.emag = new /obj/item/weapon/hand_tele(src)
|
||||
src.emag += new /obj/item/weapon/hand_tele(src)
|
||||
|
||||
var/datum/matter_synth/nanite = new /datum/matter_synth/nanite(10000)
|
||||
synths += nanite
|
||||
@@ -679,7 +694,7 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/borg/combat/shield(src)
|
||||
src.modules += new /obj/item/borg/combat/mobility(src)
|
||||
src.modules += new /obj/item/device/ticket_printer(src) //VOREStation Add
|
||||
src.emag = new /obj/item/weapon/gun/energy/lasercannon/mounted(src)
|
||||
src.emag += new /obj/item/weapon/gun/energy/lasercannon/mounted(src)
|
||||
|
||||
src.modules += new /obj/item/device/dogborg/sleeper/K9/ert(src)
|
||||
|
||||
@@ -714,8 +729,9 @@ var/global/list/robot_modules = list(
|
||||
robot.internals = new/obj/item/weapon/tank/jetpack/carbondioxide(src)
|
||||
src.modules += robot.internals
|
||||
|
||||
src.emag = new /obj/item/weapon/pickaxe/plasmacutter/borg(src)
|
||||
src.emag.name = "Plasma Cutter"
|
||||
var/obj/item/weapon/pickaxe/plasmacutter/borg/PC = new /obj/item/weapon/pickaxe/plasmacutter/borg(src)
|
||||
src.emag += PC
|
||||
PC.name = "Plasma Cutter"
|
||||
|
||||
var/datum/matter_synth/metal = new /datum/matter_synth/metal(25000)
|
||||
var/datum/matter_synth/glass = new /datum/matter_synth/glass(25000)
|
||||
@@ -798,4 +814,4 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/weapon/pickaxe/borgdrill(src)
|
||||
src.modules += new /obj/item/weapon/storage/bag/ore(src)
|
||||
src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src)
|
||||
src.emag = new /obj/item/weapon/pickaxe/diamonddrill(src)
|
||||
src.emag += new /obj/item/weapon/pickaxe/diamonddrill(src)
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
//Just add a new proc with the robot_module type if you wish to run some other vore code
|
||||
/obj/item/weapon/robot_module/proc/vr_new() // Any Global modules, just add them before the return (This will also affect all the borgs in this file)
|
||||
return
|
||||
|
||||
/obj/item/weapon/robot_module/robot/medical/surgeon/vr_new() //Surgeon Bot
|
||||
src.modules += new /obj/item/device/sleevemate(src) //Lets them scan people.
|
||||
. = ..() //Any Global vore modules will come from here
|
||||
|
||||
/obj/item/weapon/robot_module/robot/medical/crisis/vr_new() //Crisis Bot
|
||||
src.modules += new /obj/item/device/sleevemate(src) //Lets them scan people.
|
||||
. = ..() //Any Global vore modules will come from here
|
||||
|
||||
/obj/item/weapon/robot_module/robot/security/knine
|
||||
name = "k9 robot module"
|
||||
|
||||
@@ -17,7 +5,7 @@
|
||||
src.modules += new /obj/item/weapon/handcuffs/cyborg(src) //You need cuffs to be a proper sec borg!
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/big(src) //In case there's some kind of hostile mob.
|
||||
src.modules += new /obj/item/weapon/melee/baton/robot(src) //Since the pounce module refused to work, they get a stunbaton instead.
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src) //Boop people on the nose.
|
||||
//src.modules += new /obj/item/device/dogborg/boop_module(src) //Boop people on the nose.
|
||||
src.modules += new /obj/item/taperoll/police(src) //Block out crime scenes.
|
||||
src.modules += new /obj/item/weapon/gun/energy/taser/mounted/cyborg(src) //They /are/ a security borg, after all.
|
||||
src.modules += new /obj/item/weapon/dogborg/pounce(src) //Pounce
|
||||
@@ -37,20 +25,6 @@
|
||||
var/obj/item/device/dogborg/sleeper/K9/B = new /obj/item/device/dogborg/sleeper/K9(src) //Eat criminals. Bring them to the brig.
|
||||
B.water = water
|
||||
src.modules += B
|
||||
|
||||
R.icon = 'icons/mob/widerobot_sec_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_sec_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/security/knine/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
|
||||
@@ -77,7 +51,7 @@
|
||||
|
||||
/obj/item/weapon/robot_module/robot/medical/medihound/New(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/small(src) //In case a patient is being attacked by carp.
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src) //Boop the crew.
|
||||
//src.modules += new /obj/item/device/dogborg/boop_module(src) //Boop the crew.
|
||||
src.modules += new /obj/item/device/healthanalyzer(src) // See who's hurt specificially.
|
||||
src.modules += new /obj/item/weapon/reagent_containers/syringe(src) //In case the chemist is nice!
|
||||
src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src)//For holding the chemicals when the chemist is nice, made it the large variant in 2022
|
||||
@@ -119,97 +93,18 @@
|
||||
var/obj/item/device/dogborg/sleeper/B = new /obj/item/device/dogborg/sleeper(src) //So they can nom people and heal them
|
||||
B.water = water
|
||||
src.modules += B
|
||||
|
||||
R.icon = 'icons/mob/widerobot_med_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_med_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/medical/traumahound
|
||||
name = "traumahound robot module"
|
||||
|
||||
/obj/item/weapon/robot_module/robot/medical/traumahound/New(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/device/healthanalyzer(src)
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
src.modules += new /obj/item/weapon/autopsy_scanner(src)
|
||||
src.modules += new /obj/item/weapon/surgical/scalpel/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/hemostat/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/retractor/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/cautery/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/bonegel/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/FixOVein/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/bonesetter/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/circular_saw/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/surgicaldrill/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/surgical/bioregen/cyborg(src) //let them succ
|
||||
src.modules += new /obj/item/weapon/gripper/no_use/organ(src)
|
||||
src.modules += new /obj/item/weapon/gripper/medical(src)
|
||||
src.modules += new /obj/item/weapon/shockpaddles/robot/hound(src) //Paws of life
|
||||
src.modules += new /obj/item/weapon/reagent_containers/dropper(src) // Allows surgeon borg to fix necrosis
|
||||
src.modules += new /obj/item/weapon/reagent_containers/syringe(src)
|
||||
src.emag = new /obj/item/weapon/dogborg/pounce(src) //Pounce, also, lets not give them polyacid spray
|
||||
|
||||
var/datum/matter_synth/water = new /datum/matter_synth(500)
|
||||
water.name = "Water reserves"
|
||||
water.recharge_rate = 0
|
||||
R.water_res = water
|
||||
synths += water
|
||||
|
||||
var/obj/item/device/dogborg/tongue/T = new /obj/item/device/dogborg/tongue(src)
|
||||
T.water = water
|
||||
//T.water = water
|
||||
src.modules += T
|
||||
|
||||
var/obj/item/weapon/reagent_containers/borghypo/hound/trauma/H = new /obj/item/weapon/reagent_containers/borghypo/hound/trauma(src) //surgeon chems
|
||||
H.water = water
|
||||
src.modules += H
|
||||
|
||||
var/obj/item/device/dogborg/sleeper/trauma/B = new /obj/item/device/dogborg/sleeper/trauma(src) //So they can nom people and heal them
|
||||
B.water = water
|
||||
src.modules += B
|
||||
|
||||
var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(10000) //this is so they can do brute/burn surgeries and fix assisted/prosthetic organs
|
||||
synths += medicine
|
||||
|
||||
var/obj/item/stack/nanopaste/N = new /obj/item/stack/nanopaste(src)
|
||||
var/obj/item/stack/medical/advanced/bruise_pack/S = new /obj/item/stack/medical/advanced/bruise_pack(src)
|
||||
var/obj/item/stack/medical/advanced/ointment/O = new /obj/item/stack/medical/advanced/ointment(src)
|
||||
N.uses_charge = 1
|
||||
N.charge_costs = list(1000)
|
||||
N.synths = list(medicine)
|
||||
S.uses_charge = 1
|
||||
S.charge_costs = list(1000)
|
||||
S.synths = list(medicine)
|
||||
O.uses_charge = 1
|
||||
O.charge_costs = list(1000)
|
||||
O.synths = list(medicine)
|
||||
src.modules += N
|
||||
src.modules += S
|
||||
src.modules += O
|
||||
|
||||
R.icon = 'icons/mob/widerobot_trauma_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_trauma_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/security/ert
|
||||
@@ -236,20 +131,6 @@
|
||||
var/obj/item/device/dogborg/sleeper/K9/B = new /obj/item/device/dogborg/sleeper/K9/ert(src)
|
||||
B.water = water
|
||||
src.modules += B
|
||||
|
||||
R.icon = 'icons/mob/widerobot_ert_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_ert_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/janitor/scrubpup
|
||||
@@ -258,7 +139,7 @@
|
||||
|
||||
/obj/item/weapon/robot_module/robot/janitor/scrubpup/New(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
//src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
src.modules += new /obj/item/pupscrubber(src)
|
||||
src.emag = new /obj/item/weapon/dogborg/pounce(src) //Pounce
|
||||
|
||||
@@ -313,20 +194,6 @@
|
||||
G.recipes = list()
|
||||
G.recipes += new/datum/stack_recipe("glass sheet", /obj/item/stack/material/glass, 1, 1, 20)
|
||||
src.modules += G
|
||||
|
||||
R.icon = 'icons/mob/widerobot_jan_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_jan_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/research/sciencehound
|
||||
@@ -335,7 +202,7 @@
|
||||
|
||||
/obj/item/weapon/robot_module/robot/research/sciencehound/New(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
//src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
src.modules += new /obj/item/weapon/gripper/research(src)
|
||||
src.modules += new /obj/item/weapon/gripper/no_use/loader(src)
|
||||
src.modules += new /obj/item/weapon/tool/screwdriver/cyborg(src)
|
||||
@@ -389,20 +256,6 @@
|
||||
var/obj/item/stack/cable_coil/cyborg/C = new /obj/item/stack/cable_coil/cyborg(src)
|
||||
C.synths = list(wire)
|
||||
src.modules += C
|
||||
|
||||
R.icon = 'icons/mob/widerobot_sci_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_sci_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/engineering/engiedog
|
||||
@@ -424,7 +277,7 @@
|
||||
src.modules += new /obj/item/weapon/gripper/no_use/loader(src)
|
||||
src.modules += new /obj/item/weapon/pickaxe(src)
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
//src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
src.modules += new /obj/item/weapon/gripper(src)
|
||||
src.modules += new /obj/item/weapon/gripper/circuit(src)
|
||||
// The RPD does the exact same thing, this just take space.
|
||||
@@ -529,20 +382,6 @@
|
||||
var/obj/item/stack/material/cyborg/plasteel/PS = new (src)
|
||||
PS.synths = list(plasteel)
|
||||
src.modules += PS
|
||||
|
||||
R.icon = 'icons/mob/widerobot_eng_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_eng_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
// Uses modified K9 sprites.
|
||||
@@ -550,7 +389,6 @@
|
||||
name = "service-hound module"
|
||||
can_be_pushed = 0
|
||||
|
||||
|
||||
// In a nutshell, basically service/butler robot but in dog form. - Port from CitadelRP
|
||||
/obj/item/weapon/robot_module/robot/clerical/butler/brodog/New(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/weapon/gripper/service(src)
|
||||
@@ -564,7 +402,7 @@
|
||||
src.modules += new /obj/item/weapon/material/kitchen/rollingpin(src)
|
||||
src.modules += new /obj/item/device/multitool(src) //to freeze trays
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
//src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
src.emag = new /obj/item/weapon/dogborg/pounce(src) //Pounce
|
||||
|
||||
var/datum/matter_synth/water = new /datum/matter_synth(500) // buffy fix, was 0
|
||||
@@ -597,20 +435,6 @@
|
||||
B.water = water
|
||||
src.modules += B
|
||||
*/
|
||||
|
||||
R.icon = 'icons/mob/widerobot_ser_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_ser_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/miner/kmine
|
||||
@@ -648,38 +472,8 @@
|
||||
B.water = water
|
||||
src.modules += B
|
||||
|
||||
R.icon = 'icons/mob/widerobot_car_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_car_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs |= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs |= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs |= /mob/living/proc/shred_limb
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/Reset(var/mob/living/silicon/robot/R)
|
||||
R.pixel_x = initial(pixel_x)
|
||||
R.pixel_y = initial(pixel_y)
|
||||
R.icon = initial(R.icon)
|
||||
R.dogborg = FALSE
|
||||
R.wideborg = FALSE
|
||||
R.ui_style_vr = FALSE
|
||||
R.default_pixel_x = initial(pixel_x)
|
||||
R.scrubbing = FALSE
|
||||
R.verbs -= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
R.verbs -= /mob/living/silicon/robot/proc/robot_mount
|
||||
R.verbs -= /mob/living/proc/toggle_rider_reins
|
||||
R.verbs -= /mob/living/proc/shred_limb
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/weapon/robot_module/robot/clerical/butler/booze
|
||||
name = "BoozeHound robot module"
|
||||
can_be_pushed = 0
|
||||
@@ -697,7 +491,7 @@
|
||||
src.modules += new /obj/item/device/multitool(src) //to freeze trays
|
||||
src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
|
||||
src.modules += new /obj/item/weapon/tray/robotray
|
||||
src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
//src.modules += new /obj/item/device/dogborg/boop_module(src)
|
||||
src.modules += new /obj/item/device/dogborg/sleeper/compactor/brewer(src)
|
||||
src.emag = new /obj/item/weapon/dogborg/pounce(src)
|
||||
//R.verbs += /mob/living/silicon/robot/proc/reskin_booze
|
||||
@@ -714,17 +508,6 @@
|
||||
|
||||
src.modules += new /obj/item/weapon/tray/robotray(src)
|
||||
src.modules += new /obj/item/weapon/reagent_containers/borghypo/service(src)
|
||||
|
||||
R.icon = 'icons/mob/widerobot_colors_vr.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_colors_vr.dmi'
|
||||
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
|
||||
R.ui_style_vr = TRUE
|
||||
R.pixel_x = -16
|
||||
R.old_x = -16
|
||||
R.default_pixel_x = -16
|
||||
R.dogborg = TRUE
|
||||
R.wideborg = TRUE
|
||||
R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/robot/clerical/butler/booze/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
|
||||
|
||||
@@ -1,80 +1,5 @@
|
||||
/mob/living/silicon/robot
|
||||
var/sleeper_state = 0 // 0 for empty, 1 for normal, 2 for mediborg-healthy
|
||||
var/leaping = 0
|
||||
var/pounce_cooldown = 0
|
||||
var/pounce_cooldown_time = 40
|
||||
var/leap_at
|
||||
var/dogborg = FALSE //Dogborg special features (overlays etc.)
|
||||
var/wideborg = FALSE //When the borg simply doesn't use standard 32p size.
|
||||
var/scrubbing = FALSE //Floor cleaning enabled
|
||||
var/datum/matter_synth/water_res = null
|
||||
var/notransform
|
||||
var/original_icon = 'icons/mob/robots.dmi'
|
||||
var/ui_style_vr = FALSE //Do we use our hud icons?
|
||||
var/rest_style = "Default"
|
||||
does_spin = FALSE
|
||||
var/wideborg_dept = 'icons/mob/widerobot_vr.dmi'
|
||||
var/vr_icons = list(
|
||||
"handy-hydro",
|
||||
"handy-service",
|
||||
"handy-clerk",
|
||||
"handy-janitor",
|
||||
"handy-miner",
|
||||
"handy-standard",
|
||||
"handy-sec",
|
||||
"mechoid-Standard",
|
||||
"mechoid-Medical",
|
||||
"mechoid-Security",
|
||||
"mechoid-Science",
|
||||
"mechoid-Engineering",
|
||||
"mechoid-Miner",
|
||||
"mechoid-Service",
|
||||
"mechoid-Janitor",
|
||||
"mechoid-Combat",
|
||||
"mechoid-Combat-roll",
|
||||
"mechoid-Combat-shield",
|
||||
"Noble-CLN",
|
||||
"Noble-SRV",
|
||||
"Noble-DIG",
|
||||
"Noble-MED",
|
||||
"Noble-SEC",
|
||||
"Noble-ENG",
|
||||
"Noble-STD",
|
||||
"zoomba-standard",
|
||||
"zoomba-clerical",
|
||||
"zoomba-engineering",
|
||||
"zoomba-janitor",
|
||||
"zoomba-medical",
|
||||
"zoomba-crisis",
|
||||
"zoomba-miner",
|
||||
"zoomba-research",
|
||||
"zoomba-security",
|
||||
"zoomba-service",
|
||||
"zoomba-combat",
|
||||
"zoomba-combat-roll",
|
||||
"zoomba-combat-shield",
|
||||
"spiderscience",
|
||||
"uptall-standard",
|
||||
"uptall-standard2",
|
||||
"uptall-medical",
|
||||
"uptall-janitor",
|
||||
"uptall-crisis",
|
||||
"uptall-service",
|
||||
"uptall-engineering",
|
||||
"uptall-miner",
|
||||
"uptall-security",
|
||||
"uptall-science",
|
||||
"worm-standard",
|
||||
"worm-engineering",
|
||||
"worm-janitor",
|
||||
"worm-crisis",
|
||||
"worm-miner",
|
||||
"worm-security",
|
||||
"worm-combat",
|
||||
"worm-surgeon",
|
||||
"worm-service"
|
||||
) //List of all used sprites that are in robots_vr.dmi
|
||||
|
||||
|
||||
/mob/living/silicon/robot/verb/robot_nom(var/mob/living/T in living_mobs(1))
|
||||
set name = "Robot Nom"
|
||||
@@ -85,38 +10,6 @@
|
||||
return
|
||||
return feed_grabbed_to_self(src,T)
|
||||
|
||||
/mob/living/silicon/robot/lay_down()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/mob/living/silicon/robot/verb/rest_style()
|
||||
set name = "Switch Rest Style"
|
||||
set desc = "Select your resting pose."
|
||||
set category = "IC"
|
||||
|
||||
if(!sprite_datum || !sprite_datum.has_rest_sprites || sprite_datum.rest_sprite_options.len <= 1)
|
||||
return
|
||||
|
||||
rest_style = tgui_alert(src, "Select resting pose", "Resting Pose", sprite_datum.rest_sprite_options)
|
||||
if(!rest_style)
|
||||
rest_style = "Default"
|
||||
|
||||
/mob/living/silicon/robot/proc/ex_reserve_refill()
|
||||
set name = "Refill Extinguisher"
|
||||
set category = "Object"
|
||||
var/datum/matter_synth/water = water_res
|
||||
for(var/obj/item/weapon/extinguisher/E in module.modules)
|
||||
if(E.reagents.total_volume < E.max_water)
|
||||
if(water && water.energy > 0)
|
||||
var/amount = E.max_water - E.reagents.total_volume
|
||||
if(water.energy < amount)
|
||||
amount = water.energy
|
||||
water.use_charge(amount)
|
||||
E.reagents.add_reagent("water", amount)
|
||||
to_chat(src, "<span class='filter_notice'>You refill the extinguisher using your water reserves.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='filter_notice'>Insufficient water reserves.</span>")
|
||||
|
||||
//RIDING
|
||||
/datum/riding/dogborg
|
||||
keytype = /obj/item/weapon/material/twohanded/riding_crop // Crack!
|
||||
@@ -166,8 +59,6 @@
|
||||
/mob/living/silicon/robot/buckle_mob(mob/living/M, forced = FALSE, check_loc = TRUE)
|
||||
if(forced)
|
||||
return ..() // Skip our checks
|
||||
if(!dogborg)
|
||||
return FALSE
|
||||
if(lying)
|
||||
return FALSE
|
||||
if(!ishuman(M))
|
||||
|
||||
@@ -152,8 +152,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
var/is_dogborg = FALSE
|
||||
var/is_vore_simple_mob = FALSE
|
||||
if(isrobot(host))
|
||||
var/mob/living/silicon/robot/R = host
|
||||
is_dogborg = R.dogborg
|
||||
is_dogborg = TRUE
|
||||
else if(istype(host, /mob/living/simple_mob/vore)) //So far, this does nothing. But, creating this for future belly work
|
||||
is_vore_simple_mob = TRUE
|
||||
data["host_mobtype"] = list(
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
Reference in New Issue
Block a user