[MIRROR] Robot Sprite Unit test, Robot Upports, Robot Sprite Fixes [MDB IGNORE] [IDB IGNORE] (#10241)
Co-authored-by: Cameron Lennox <killer65311@gmail.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
@@ -144,7 +144,7 @@ SUBSYSTEM_DEF(robot_sprites)
|
||||
// testing whitelist functionality ckey-...
|
||||
if(findtext(icon, regex("ckey-")))
|
||||
var/list/owner = splittext(icon, "-")
|
||||
RS.whitelist_ckey = owner[3]
|
||||
RS.whitelist_ckey = owner[2]
|
||||
RS.is_whitelisted = TRUE
|
||||
continue
|
||||
// testing module types slots modules-...
|
||||
@@ -153,6 +153,12 @@ SUBSYSTEM_DEF(robot_sprites)
|
||||
jobs -= "modules"
|
||||
RS.module_type = jobs
|
||||
continue
|
||||
// special overlays that also can be used as decals, as some names have - in them, seperated by _
|
||||
if(findtext(icon, regex("^decals")))
|
||||
var/list/decals = splittext(icon, "_")
|
||||
decals -= "decals"
|
||||
RS.sprite_decals |= decals
|
||||
continue
|
||||
// Check for all the possible overlays
|
||||
if(findtext(icon, regex("-roll")))
|
||||
RS.sprite_flags |= ROBOT_HAS_SPEED_SPRITE
|
||||
@@ -191,7 +197,10 @@ SUBSYSTEM_DEF(robot_sprites)
|
||||
RS.has_eye_light_sprites = TRUE
|
||||
continue
|
||||
if(findtext(icon, regex("-decals")))
|
||||
RS.has_robotdecal_sprites = TRUE
|
||||
RS.sprite_decals |= list("decals")
|
||||
continue
|
||||
if(findtext(icon, regex("-struggle")))
|
||||
RS.has_vore_struggle_sprite = TRUE
|
||||
continue
|
||||
if(findtext(icon, regex("-openpanel_w")))
|
||||
RS.has_custom_open_sprites = TRUE
|
||||
|
||||
@@ -290,6 +290,38 @@
|
||||
initial_sprite_stack = list("base-stamp-silver", "top-olive", "stamp-n", "pips-white")
|
||||
rank = JOB_PATHFINDER
|
||||
|
||||
/obj/item/card/id/exploration/borg
|
||||
var/mob/living/silicon/robot/R
|
||||
var/last_robot_loc
|
||||
name = "Robot Exploration ID"
|
||||
rank = JOB_EXPLORER
|
||||
|
||||
/obj/item/card/id/exploration/borg/Initialize()
|
||||
. = ..()
|
||||
if(isrobot(loc?.loc))
|
||||
R = loc.loc
|
||||
registered_name = R.braintype
|
||||
RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(check_loc))
|
||||
|
||||
/obj/item/card/id/exploration/borg/proc/check_loc(atom/movable/mover, atom/old_loc, atom/new_loc)
|
||||
if(old_loc == R || old_loc == R.module)
|
||||
last_robot_loc = old_loc
|
||||
if(!istype(loc, /obj/machinery) && loc != R && loc != R.module)
|
||||
if(last_robot_loc)
|
||||
forceMove(last_robot_loc)
|
||||
last_robot_loc = null
|
||||
else
|
||||
forceMove(R)
|
||||
if(loc == R)
|
||||
hud_layerise()
|
||||
|
||||
/obj/item/card/id/exploration/borg/Destroy()
|
||||
if(R)
|
||||
UnregisterSignal(src, COMSIG_OBSERVER_MOVED)
|
||||
R = null
|
||||
last_robot_loc = null
|
||||
. = ..()
|
||||
|
||||
//Talon
|
||||
|
||||
/obj/item/card/id/talon
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/taskmanager
|
||||
name = "Task Manager"
|
||||
desc = "A high-tech tool used to pull surplus items from offsite storage. Select a department to begin! Has a five minute cooldown between successful uses"
|
||||
icon = 'modular_chomp/icons/mob/dogborg_ch.dmi'
|
||||
icon = 'icons/mob/dogborg_vr.dmi'
|
||||
icon_state = "taskmanager"
|
||||
item_icons = list(
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand_vr.dmi',
|
||||
|
||||
@@ -127,9 +127,9 @@ var/global/list/alphabet_uppercase = list("A","B","C","D","E","F","G","H","I","J
|
||||
|
||||
// Used by robots and robot preferences for regular modules.
|
||||
var/list/robot_module_types = list(
|
||||
"Standard", "Engineering",/* "Surgeon",*/ "Crisis", //CHOMPedit: Combining Surgeon and Crisis.
|
||||
"Miner", "Janitor", "Service", "Clerical", "Security",
|
||||
"Research"
|
||||
"Standard", "Engineering", /* "Surgeon",*/ "Crisis", "Miner",
|
||||
"Janitor", "Service", "Clown", "Clerical", "Security",
|
||||
"Research", "Command", "Exploration" //CHOMPedit: Enables Exploration borg.
|
||||
)
|
||||
// L
|
||||
// List of modules added during code red
|
||||
@@ -138,8 +138,9 @@ var/list/emergency_module_types = list(
|
||||
)
|
||||
// List of modules available to AI shells
|
||||
var/list/shell_module_types = list(
|
||||
"Standard", "Engineering", "Surgeon", "Crisis",
|
||||
"Miner", "Janitor", "Service", "Clerical", "Security", "Research"
|
||||
"Standard", "Engineering", "Surgeon", "Crisis", "Miner",
|
||||
"Janitor", "Service", "Clown", "Clerical", "Security",
|
||||
"Research", "Command", "Exploration"
|
||||
)
|
||||
// List of whitelisted modules
|
||||
var/list/whitelisted_module_types = list(
|
||||
@@ -165,10 +166,10 @@ var/static/list/scarySounds = list(
|
||||
'sound/machines/door/old_airlock.ogg',
|
||||
'sound/effects/clownstep1.ogg',
|
||||
'sound/effects/clownstep2.ogg',
|
||||
'sound/voice/teppi/roar.ogg', //VOREStation Add
|
||||
'sound/voice/moth/scream_moth.ogg', //VOREStation Add
|
||||
'sound/voice/nya.ogg', //VOREStation Add
|
||||
'sound/voice/succlet_shriek.ogg' //VOREStation Add
|
||||
'sound/voice/teppi/roar.ogg',
|
||||
'sound/voice/moth/scream_moth.ogg',
|
||||
'sound/voice/nya.ogg',
|
||||
'sound/voice/succlet_shriek.ogg'
|
||||
)
|
||||
|
||||
// Bomb cap!
|
||||
|
||||
@@ -746,9 +746,8 @@
|
||||
I.plane = PLANE_LIGHTING_ABOVE
|
||||
add_overlay(I)
|
||||
qdel(I)
|
||||
// CHOMPEdit Start
|
||||
if(S.blob_appearance == "dullahan")
|
||||
icon = 'modular_chomp/icons/mob/dullahanborg/Dullahanprotean64x64.dmi'
|
||||
icon = 'icons/mob/robot/dullahan/v1/Dullahanprotean64x64.dmi'
|
||||
vis_height = 64
|
||||
var/image/I = image(icon, "[S.dullahan_overlays[1]][resting? "-rest" : (vore_fullness? "-[vore_fullness]" : null)]", pixel_x = -16)
|
||||
I.color = S.dullahan_overlays[S.dullahan_overlays[1]]
|
||||
@@ -797,7 +796,7 @@
|
||||
I.layer = MOB_LAYER
|
||||
add_overlay(I)
|
||||
qdel(I)
|
||||
// CHOMPEdit End
|
||||
//You know technically I could just put all the icons into the 128x64.dmi file and off-set them to fit..
|
||||
if(S.blob_appearance in wide_icons)
|
||||
icon = 'icons/mob/species/protean/protean64x32.dmi'
|
||||
default_pixel_x = -16
|
||||
|
||||
@@ -409,7 +409,7 @@
|
||||
"panther" = image(icon = 'icons/mob/species/protean/protean64x64.dmi', icon_state = "panther", pixel_x = -16),
|
||||
"robodrgn" = image(icon = 'icons/mob/species/protean/protean128x64.dmi', icon_state = "robodrgn", pixel_x = -48),
|
||||
"Dragon" = image(icon = 'icons/mob/bigdragon_small.dmi', icon_state = "dragon_small"),
|
||||
"dullahan" = image(icon = 'modular_chomp/icons/mob/dullahanborg/dullahanicon.dmi', icon_state = "proticon")
|
||||
"dullahan" = image(icon = 'icons/mob/robot/dullahan/v1/dullahanicon.dmi', icon_state = "proticon")
|
||||
//CHOMPEnable End
|
||||
)
|
||||
var/blobstyle = show_radial_menu(protie, protie, icon_choices, require_near = TRUE, tooltips = FALSE)
|
||||
@@ -531,11 +531,10 @@
|
||||
S.dragon_overlays[6] = choice
|
||||
S.dragon_overlays[S.dragon_overlays[6]] = new_color
|
||||
S.blob_appearance = "dragon"
|
||||
// CHOMPEdit Start
|
||||
if("dullahan")
|
||||
if("dullahan") //START OF DULLAHAN PORT.
|
||||
var/list/options = list("Metalshell","Eyes","Decals","Import","Export")
|
||||
for(var/option in options)
|
||||
LAZYSET(options, option, image('modular_chomp/icons/mob/dullahanborg/dullahansigns.dmi', option))
|
||||
LAZYSET(options, option, image('icons/mob/robot/dullahan/v1/dullahansigns.dmi', option))
|
||||
var/choice = show_radial_menu(protie, protie, options, radius = 60)
|
||||
if(!choice || QDELETED(protie) || protie.incapacitated())
|
||||
return FALSE
|
||||
@@ -570,7 +569,7 @@
|
||||
var/extraoff = "dullahanextendedoff"
|
||||
options = dullahanmetal_styles
|
||||
for(var/option in options)
|
||||
var/image/I = image('modular_chomp/icons/mob/dullahanborg/Dullahanprotean64x64.dmi', option, dir = 2, pixel_x = -16)
|
||||
var/image/I = image('icons/mob/robot/dullahan/v1/Dullahanprotean64x64.dmi', option, dir = 2, pixel_x = -16)
|
||||
LAZYSET(options, option, I)
|
||||
choice = show_radial_menu(protie, protie, options, radius = 90)
|
||||
if(!choice || QDELETED(protie) || protie.incapacitated())
|
||||
@@ -589,7 +588,7 @@
|
||||
if("Eyes")
|
||||
options = dullahaneyes_styles
|
||||
for(var/option in options)
|
||||
var/image/I = image('modular_chomp/icons/mob/dullahanborg/Dullahanprotean64x64.dmi', option, dir = 2, pixel_x = -16)
|
||||
var/image/I = image('icons/mob/robot/dullahan/v1/Dullahanprotean64x64.dmi', option, dir = 2, pixel_x = -16)
|
||||
LAZYSET(options, option, I)
|
||||
choice = show_radial_menu(protie, protie, options, radius = 90)
|
||||
if(!choice || QDELETED(protie) || protie.incapacitated())
|
||||
@@ -602,7 +601,7 @@
|
||||
if("Decals")
|
||||
options = dullahandecals_styles
|
||||
for(var/option in options)
|
||||
var/image/I = image('modular_chomp/icons/mob/dullahanborg/Dullahanprotean64x64.dmi', option, dir = 2, pixel_x = -16, pixel_y = -16)
|
||||
var/image/I = image('icons/mob/robot/dullahan/v1/Dullahanprotean64x64.dmi', option, dir = 2, pixel_x = -16, pixel_y = -16)
|
||||
LAZYSET(options, option, I)
|
||||
choice = show_radial_menu(protie, protie, options, radius = 90)
|
||||
if(!choice || QDELETED(protie) || protie.incapacitated())
|
||||
@@ -652,8 +651,7 @@
|
||||
deyescolor = S.dullahan_overlays[S.dullahan_overlays[4]]
|
||||
var/output_style = jointext(list(dmetal,dmetalcolor,ddecals,ddecalscolor,deyes,deyescolor), ";")
|
||||
to_chat(protie, span_notice("Exported style string is \" [output_style] \". Use this to get the same style in the future with import style"))
|
||||
S.blob_appearance = "dullahan"
|
||||
// CHOMPEdit End
|
||||
S.blob_appearance = "dullahan" //END OF DULLAHAN PORT.
|
||||
if("Primary")
|
||||
var/new_color = tgui_color_picker(protie, "Pick primary color:","Protean Primary", "#FF0000")
|
||||
if(!new_color)
|
||||
|
||||
@@ -130,7 +130,6 @@
|
||||
"dragon_hornsPointy" = "#FFFFFF",
|
||||
"dragon_eyesNormal" = "#FFFFFF"
|
||||
)
|
||||
// CHOMPEdit Start
|
||||
var/list/dullahan_overlays = list(
|
||||
"dullahanbody" = "#FFFFFF",
|
||||
"dullahanhead" = "#FFFFFF",
|
||||
@@ -140,7 +139,6 @@
|
||||
"dullahanextended" = "#FFFFFF"
|
||||
// loads the icons from the DMI file in that order on spawn. they are overlay 1-6.
|
||||
)
|
||||
// CHOMPEdit End
|
||||
var/pseudodead = 0
|
||||
|
||||
/datum/species/protean/New()
|
||||
|
||||
@@ -557,3 +557,166 @@
|
||||
if(custom_range)
|
||||
range = custom_range
|
||||
to_chat(user, span_notice("Scanner will now look up to [range] tile(s) away."))
|
||||
|
||||
//CHOMPEDIT Enable
|
||||
/obj/item/robot_tongue/examine(user)
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
if(water.energy)
|
||||
. += span_notice("[src] is wet. Just like it should be.")
|
||||
if(water.energy < 5)
|
||||
. += span_notice("[src] is dry.")
|
||||
//CHOMPEDIT Enable
|
||||
|
||||
/obj/item/shield_projector/line/exploborg
|
||||
name = "expirmental shield projector"
|
||||
description_info = "This creates a shield in a straight line perpendicular to the direction where the user was facing when it was activated. \
|
||||
The shield allows projectiles to leave from inside but blocks projectiles from outside. Everything else can pass through the shield freely, \
|
||||
including other people and thrown objects. The shield also cannot block certain effects which take place over an area, such as flashbangs or explosions."
|
||||
shield_health = 90
|
||||
max_shield_health = 90
|
||||
shield_regen_amount = 25
|
||||
line_length = 7 // How long the line is. Recommended to be an odd number.
|
||||
offset_from_center = 2 // How far from the projector will the line's center be.
|
||||
|
||||
// To repair a single module
|
||||
/obj/item/self_repair_system
|
||||
name = "plating repair system"
|
||||
desc = "A nanite control system to repair damaged armour plating and wiring while not moving. Destroyed armour can't be restored."
|
||||
icon = 'icons/obj/robot_component.dmi'
|
||||
icon_state = "armor"
|
||||
var/repair_time = 25
|
||||
var/repair_amount = 2.5
|
||||
var/power_tick = 25
|
||||
var/disabled_icon = "armor"
|
||||
var/active_icon = "armor_broken"
|
||||
var/list/target_components = list("armour")
|
||||
var/repairing = FALSE
|
||||
|
||||
/obj/item/self_repair_system/New()
|
||||
..()
|
||||
flags |= NOBLUDGEON
|
||||
|
||||
/obj/item/self_repair_system/attack_self(mob/user)
|
||||
if(repairing)
|
||||
return
|
||||
var/mob/living/silicon/robot/R = user
|
||||
var/destroyed_components = FALSE
|
||||
var/list/repairable_components = list()
|
||||
for(var/target_component in target_components)
|
||||
var/datum/robot_component/C = R.components[target_component]
|
||||
if(!C)
|
||||
continue
|
||||
if(istype(C.wrapped, /obj/item/broken_device))
|
||||
destroyed_components = TRUE
|
||||
else if (C.brute_damage != 0 || C.electronics_damage != 0)
|
||||
repairable_components += C
|
||||
if(!repairable_components.len && destroyed_components)
|
||||
to_chat(R, span_warning("Repair system initialization failed. Can't repair destroyed [target_components.len == 1 ? "[R.components[target_components[1]]]'s" : "component's"] plating or wiring."))
|
||||
return
|
||||
if(!repairable_components.len)
|
||||
to_chat(R, span_warning("No brute or burn damage detected [target_components.len == 1 ? "in [R.components[target_components[1]]]" : ""]."))
|
||||
return
|
||||
if(destroyed_components)
|
||||
to_chat(R, span_warning("WARNING! Destroyed modules detected. Those can not be repaired!"))
|
||||
icon_state = active_icon
|
||||
update_icon()
|
||||
repairing = TRUE
|
||||
for(var/datum/robot_component/C in repairable_components)
|
||||
to_chat(R, span_notice("Repair system initializated. Repairing plating and wiring of [C]."))
|
||||
src.self_repair(R, C, repair_time, repair_amount)
|
||||
repairing = FALSE
|
||||
icon_state = disabled_icon
|
||||
update_icon()
|
||||
|
||||
/obj/item/self_repair_system/proc/self_repair(mob/living/silicon/robot/R, datum/robot_component/C, var/tick_delay, var/heal_per_tick)
|
||||
if(!C || !R.cell)
|
||||
return
|
||||
if(C.brute_damage == 0 && C.electronics_damage == 0)
|
||||
to_chat(R, span_notice("Repair of [C] completed."))
|
||||
return
|
||||
if(!R.use_direct_power(power_tick, 500)) //We don't want to drain ourselves too far down during exploration
|
||||
to_chat(R, span_warning("Not enough power to initialize the repair system."))
|
||||
return
|
||||
if(do_after(R, tick_delay))
|
||||
if(!C)
|
||||
return
|
||||
C.brute_damage -= min(C.brute_damage, heal_per_tick)
|
||||
C.electronics_damage -= min(C.electronics_damage, heal_per_tick)
|
||||
R.updatehealth()
|
||||
src.self_repair(R, C, tick_delay, heal_per_tick)
|
||||
|
||||
// To repair multiple modules
|
||||
/obj/item/self_repair_system/advanced
|
||||
name = "self repair system"
|
||||
desc = "A nanite control system to repair damaged components while not moving. Destroyed components can't be restored."
|
||||
target_components = list("actuator", "radio", "power cell", "diagnosis unit", "camera", "comms", "armour")
|
||||
power_tick = 10
|
||||
repair_time = 15
|
||||
repair_amount = 3
|
||||
|
||||
// Robot Weapons
|
||||
/obj/item/gun/energy/robotic/flare
|
||||
name = "flare gun"
|
||||
desc = "A flare-gun"
|
||||
projectile_type = /obj/item/projectile/energy/flash/flare
|
||||
fire_sound = 'sound/weapons/tablehit1.ogg'
|
||||
icon = 'icons/obj/gun.dmi'
|
||||
icon_state = "taser"
|
||||
charge_cost = 480
|
||||
borg_flags = COUNTS_AS_ROBOT_GUN | COUNTS_AS_ROBOT_TASER
|
||||
|
||||
/obj/item/gun/energy/robotic/smallmedigun
|
||||
name = "borg directed restoration system"
|
||||
desc = "An adapted version of the BL-3 'Phoenix, for expiremental useage in borgs."
|
||||
projectile_type = /obj/item/projectile/beam/medical_cell/borg
|
||||
accept_cell_type = /obj/item/cell/device
|
||||
cell_type = /obj/item/cell/device/weapon
|
||||
charge_cost = 600
|
||||
fire_delay = 6
|
||||
force = 5
|
||||
icon_state = "medbeam"
|
||||
icon = 'icons/obj/gun_vr.dmi'
|
||||
accuracy = 100
|
||||
fire_sound = 'sound/weapons/eluger.ogg'
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
|
||||
/obj/item/projectile/beam/medical_cell/borg
|
||||
range = 4
|
||||
|
||||
/obj/item/projectile/beam/medical_cell/borg/on_hit(var/mob/living/carbon/human/target)
|
||||
if(istype(target, /mob/living/carbon/human))
|
||||
if(target.stat != DEAD)
|
||||
target.adjustBruteLoss(-3.75)
|
||||
target.adjustFireLoss(-3.75)
|
||||
else
|
||||
return 1
|
||||
|
||||
/obj/item/melee/robotic/blade/explotailspear
|
||||
name = "energy tail"
|
||||
desc = "A glowing tail spear with a moderate range. It appears to be extremely sharp."
|
||||
force = 45
|
||||
armor_penetration = 25 //30 to try and make it not useless against armored mobs but not fully nullify it.
|
||||
reach = 3
|
||||
projectile_parry_chance = 15.
|
||||
|
||||
/obj/item/melee/robotic/jaws/big/explojaws
|
||||
name = "explo jaws"
|
||||
desc = "Highly lethal jaws for close range combat."
|
||||
force = 60
|
||||
armor_penetration = 25 //To try and make it not useless against armored mobs but not fully nullify it
|
||||
projectile_parry_chance = 15
|
||||
|
||||
/obj/item/gun/energy/robotic/phasegun
|
||||
name = "EW26 Artemis Mounted"
|
||||
desc = "The RayZar EW26 Artemis, also known as the 'phase carbine', is a downsized energy-based weapon specifically designed for use against wildlife. This one has a safety interlock that prevents firing while in proximity to the facility."
|
||||
description_fluff = "RayZar is Ward-Takahashi’s main consumer weapons brand, known for producing and licensing a wide variety of specialist energy weapons of various types and quality primarily for the civilian market."
|
||||
icon = 'icons/obj/gun.dmi'
|
||||
icon_state = "phasecarbine"
|
||||
charge_cost = 160
|
||||
recharge_time = 16
|
||||
projectile_type = /obj/item/projectile/energy/phase
|
||||
use_external_power = 1
|
||||
self_recharge = 1
|
||||
borg_flags = COUNTS_AS_ROBOT_GUN | COUNTS_AS_ROBOT_LASER
|
||||
|
||||
@@ -832,19 +832,6 @@
|
||||
return
|
||||
..() //CHOMPEdit End
|
||||
|
||||
//CHOMPAdd START
|
||||
/obj/item/dogborg/sleeper/command //Command borg belly //CHOMP addition
|
||||
name = "Bluespace Filing Belly"
|
||||
desc = "A mounted bluespace storage unit for carrying paperwork"
|
||||
icon = 'modular_chomp/icons/mob/dogborg_ch.dmi'
|
||||
icon_state = "sleeperd"
|
||||
injection_chems = null
|
||||
compactor = TRUE
|
||||
recycles = FALSE
|
||||
max_item_count = 25
|
||||
medsensor = FALSE
|
||||
//CHOMP addition end
|
||||
|
||||
/obj/item/dogborg/sleeper/compactor/brewer
|
||||
name = "Brew Belly"
|
||||
desc = "A mounted drunk tank unit with fuel processor, for putting away particularly rowdy patrons."
|
||||
@@ -876,13 +863,6 @@
|
||||
var/units = round(patient.reagents.get_reagent_amount(chem))
|
||||
to_chat(hound, span_notice("Injecting [units] unit\s into occupant.")) //If they were immersed, the reagents wouldn't leave with them.
|
||||
|
||||
/obj/item/dogborg/sleeper/compactor/honkborg
|
||||
name = "Jiggles Von Hungertron"
|
||||
desc = "You've heard of Giggles Von Honkerton for the back, now get ready for Jiggles Von Hungertron for the front."
|
||||
icon = 'modular_chomp/icons/mob/dogborg_ch.dmi'
|
||||
icon_state = "clowngut"
|
||||
recycles = FALSE
|
||||
|
||||
//CHOMP Addition end
|
||||
|
||||
/obj/item/dogborg/sleeper/K9/ert
|
||||
@@ -927,4 +907,30 @@
|
||||
max_item_count = 35
|
||||
digest_multiplier = 3
|
||||
|
||||
/obj/item/dogborg/sleeper/command //Command borg belly
|
||||
name = "Bluespace Filing Belly"
|
||||
desc = "A mounted bluespace storage unit for carrying paperwork"
|
||||
icon_state = "sleeperd"
|
||||
injection_chems = null
|
||||
compactor = TRUE
|
||||
recycles = FALSE
|
||||
max_item_count = 25
|
||||
medsensor = FALSE
|
||||
|
||||
/obj/item/dogborg/sleeper/compactor/honkborg
|
||||
name = "Jiggles Von Hungertron"
|
||||
desc = "You've heard of Giggles Von Honkerton for the back, now get ready for Jiggles Von Hungertron for the front."
|
||||
icon_state = "clowngut"
|
||||
recycles = FALSE
|
||||
|
||||
/obj/item/dogborg/sleeper/exploration
|
||||
name = "Store-Belly"
|
||||
desc = "Equipment for a ExploreHound unit. A mounted portable-storage device that holds supplies/person."
|
||||
icon_state = "sleeperlost"
|
||||
injection_chems = list(REAGENT_ID_INAPROVALINE) // Only to stabilize during extractions
|
||||
compactor = TRUE
|
||||
max_item_count = 4
|
||||
medsensor = FALSE
|
||||
recycles = TRUE
|
||||
|
||||
#undef SLEEPER_INJECT_COST
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
var/crisis //Admin-settable for combat module use.
|
||||
var/crisis_override = 0
|
||||
var/integrated_light_power = 6
|
||||
var/robotdecal_on = 0
|
||||
var/list/robotdecal_on = list()
|
||||
var/datum/wires/robot/wires
|
||||
|
||||
can_be_antagged = TRUE
|
||||
@@ -457,8 +457,29 @@
|
||||
/mob/living/silicon/robot/verb/toggle_robot_decals() // loads overlay UNDER lights.
|
||||
set category = "Abilities.Silicon"
|
||||
set name = "Toggle extras"
|
||||
robotdecal_on = !robotdecal_on
|
||||
to_chat(src, span_filter_notice("You [robotdecal_on ? "enable" : "disable"] your extra apperances."))
|
||||
|
||||
if(!sprite_datum)
|
||||
return
|
||||
if(!LAZYLEN(sprite_datum.sprite_decals))
|
||||
to_chat(src, span_warning("This module does not support decals."))
|
||||
return
|
||||
|
||||
var/extra_message = "Enabled decals:\n"
|
||||
for(var/decal in robotdecal_on)
|
||||
extra_message += decal + "\n"
|
||||
|
||||
var/decal_to_toggle = tgui_input_list(src, "Please select which decal you want to toggle\n[extra_message]", "Decal Toggle", sprite_datum.sprite_decals)
|
||||
if(!decal_to_toggle)
|
||||
return
|
||||
|
||||
decal_to_toggle = lowertext(decal_to_toggle)
|
||||
|
||||
if(robotdecal_on.Find(decal_to_toggle))
|
||||
robotdecal_on -= decal_to_toggle
|
||||
to_chat(src, span_filter_notice("You disable your \"[decal_to_toggle]\" extra apperances."))
|
||||
else
|
||||
robotdecal_on += decal_to_toggle
|
||||
to_chat(src, span_filter_notice("You enable your \"[decal_to_toggle]\" extra apperances."))
|
||||
update_icon()
|
||||
|
||||
/mob/living/silicon/robot/verb/spark_plug() //So you can still sparkle on demand without violence.
|
||||
@@ -977,11 +998,12 @@
|
||||
if(eyes_overlay)
|
||||
add_overlay(eyes_overlay)
|
||||
|
||||
if(robotdecal_on && sprite_datum.has_robotdecal_sprites)
|
||||
if(robotdecal_on.len && LAZYLEN(sprite_datum.sprite_decals))
|
||||
if(!shell || deployed) // Shell borgs that are not deployed will have no eyes.
|
||||
var/robotdecal_overlay = sprite_datum.get_robotdecal_overlay(src)
|
||||
if(robotdecal_overlay)
|
||||
add_overlay(robotdecal_overlay)
|
||||
for(var/enabled_decal in robotdecal_on)
|
||||
var/robotdecal_overlay = sprite_datum.get_robotdecal_overlay(src, enabled_decal)
|
||||
if(robotdecal_overlay)
|
||||
add_overlay(robotdecal_overlay)
|
||||
|
||||
if(lights_on && sprite_datum.has_eye_light_sprites)
|
||||
if(!shell || deployed) // Shell borgs that are not deployed will have no eyes.
|
||||
|
||||
@@ -34,3 +34,29 @@
|
||||
if(isliving(contents))
|
||||
vore_light_states[b_class] = 1
|
||||
return
|
||||
|
||||
/mob/living/silicon/robot/vs_animate(var/belly_class)
|
||||
if(!sprite_datum.has_vore_struggle_sprite)
|
||||
return
|
||||
if(belly_class == "sleeper" && sleeper_state == 0 && vore_selected.silicon_belly_overlay_preference == "Sleeper")
|
||||
return
|
||||
var/vs_fullness = vore_fullness_ex[belly_class]
|
||||
if(resting)
|
||||
cut_overlay(sprite_datum.get_belly_resting_overlay(src, vs_fullness, belly_class))
|
||||
add_overlay("[sprite_datum.get_belly_resting_overlay(src, vs_fullness, belly_class)]-struggle")
|
||||
else
|
||||
cut_overlay(sprite_datum.get_belly_overlay(src, vs_fullness, belly_class))
|
||||
add_overlay("[sprite_datum.get_belly_overlay(src, vs_fullness, belly_class)]-struggle")
|
||||
addtimer(CALLBACK(src, PROC_REF(end_vs_animate), belly_class), 1.2 SECONDS)
|
||||
|
||||
/mob/living/silicon/robot/proc/end_vs_animate(var/belly_class)
|
||||
var/vs_fullness = vore_fullness_ex[belly_class]
|
||||
if(resting)
|
||||
cut_overlay("[sprite_datum.get_belly_resting_overlay(src, vs_fullness, belly_class)]-struggle")
|
||||
else
|
||||
cut_overlay("[sprite_datum.get_belly_overlay(src, vs_fullness, belly_class)]-struggle")
|
||||
if(vs_fullness > 0)
|
||||
if(resting)
|
||||
add_overlay(sprite_datum.get_belly_resting_overlay(src, vs_fullness, belly_class))
|
||||
else
|
||||
add_overlay(sprite_datum.get_belly_overlay(src, vs_fullness, belly_class))
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
//Modular honk borg
|
||||
//This restructures how borg additions are done to make them sane/modular/maintainable
|
||||
//Also makes it easier to make new borgs
|
||||
|
||||
//Add ourselves to the borg list
|
||||
/hook/startup/proc/Modular_Borg_init_Honk()
|
||||
robot_modules["Clown"] = /obj/item/robot_module/robot/clerical/honkborg
|
||||
robot_module_types += "Clown" //Add ourselves to global
|
||||
return 1
|
||||
|
||||
/obj/item/robot_module/robot/clerical/honkborg
|
||||
name = "clown robot module"
|
||||
channels = list("Service" = 1,
|
||||
"Entertainment" = 1)
|
||||
pto_type = PTO_CIVILIAN
|
||||
can_be_pushed = 0
|
||||
|
||||
/obj/item/robot_module/robot/clerical/honkborg/create_equipment(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/gripper/service(src)
|
||||
src.modules += new /obj/item/reagent_containers/glass/bucket(src)
|
||||
src.modules += new /obj/item/material/minihoe(src)
|
||||
src.modules += new /obj/item/analyzer/plant_analyzer(src)
|
||||
src.modules += new /obj/item/storage/bag/serviceborg(src)
|
||||
src.modules += new /obj/item/robot_harvester(src)
|
||||
src.modules += new /obj/item/multitool(src)
|
||||
src.modules += new /obj/item/dogborg/pounce(src)
|
||||
src.modules += new /obj/item/bikehorn(src)
|
||||
src.modules += new /obj/item/gun/launcher/confetti_cannon/robot(src)
|
||||
|
||||
var/obj/item/rsf/M = new /obj/item/rsf(src)
|
||||
M.stored_matter = 30
|
||||
src.modules += M
|
||||
|
||||
src.modules += new /obj/item/reagent_containers/dropper/industrial(src)
|
||||
|
||||
var/obj/item/flame/lighter/zippo/L = new /obj/item/flame/lighter/zippo(src)
|
||||
L.lit = 1
|
||||
src.modules += L
|
||||
|
||||
src.modules += new /obj/item/tray/robotray(src)
|
||||
src.modules += new /obj/item/reagent_containers/borghypo/service(src)
|
||||
|
||||
var/obj/item/dogborg/sleeper/compactor/honkborg/B = new /obj/item/dogborg/sleeper/compactor/honkborg(src)
|
||||
src.modules += B
|
||||
..()
|
||||
@@ -1,63 +0,0 @@
|
||||
//Modular command borg
|
||||
//This restructures how borg additions are done to make them sane/modular/maintainable
|
||||
//Also makes it easier to make new borgs
|
||||
|
||||
//Add ourselves to the borg list
|
||||
/hook/startup/proc/Modular_Borg_init_Unity()
|
||||
robot_modules["Command"] = /obj/item/robot_module/robot/chound //Add to module array
|
||||
robot_module_types += "Command" //Add ourselves to global
|
||||
return 1
|
||||
|
||||
//Create our list of known languages.
|
||||
/obj/item/robot_module/robot/chound
|
||||
languages = list(
|
||||
LANGUAGE_SOL_COMMON = 1,
|
||||
LANGUAGE_TRADEBAND = 1,
|
||||
LANGUAGE_UNATHI = 1,
|
||||
LANGUAGE_SIIK = 1,
|
||||
LANGUAGE_SKRELLIAN = 1,
|
||||
LANGUAGE_ROOTLOCAL = 0,
|
||||
LANGUAGE_GUTTER = 0,
|
||||
LANGUAGE_SCHECHI = 1,
|
||||
LANGUAGE_EAL = 1,
|
||||
LANGUAGE_SIGN = 0,
|
||||
LANGUAGE_BIRDSONG = 1,
|
||||
LANGUAGE_SAGARU = 1,
|
||||
LANGUAGE_CANILUNZT = 1,
|
||||
LANGUAGE_ECUREUILIAN= 1,
|
||||
LANGUAGE_DAEMON = 1,
|
||||
LANGUAGE_ENOCHIAN = 1,
|
||||
LANGUAGE_DRUDAKAR = 1,
|
||||
LANGUAGE_TAVAN = 1
|
||||
)
|
||||
|
||||
//Build our Module
|
||||
/obj/item/robot_module/robot/chound
|
||||
name = "command robot module"
|
||||
channels = list(
|
||||
"Medical" = 1,
|
||||
"Engineering" = 1,
|
||||
"Security" = 1,
|
||||
"Service" = 1,
|
||||
"Supply" = 0,
|
||||
"Science" = 1,
|
||||
"Command" = 1,
|
||||
"Explorer" = 0
|
||||
)
|
||||
pto_type = PTO_CIVILIAN
|
||||
can_be_pushed = 0
|
||||
|
||||
/obj/item/robot_module/robot/chound/create_equipment(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/pen/robopen(src)
|
||||
src.modules += new /obj/item/form_printer(src)
|
||||
src.modules += new /obj/item/gripper/paperwork(src)
|
||||
src.modules += new /obj/item/hand_labeler(src)
|
||||
src.modules += new /obj/item/stamp(src)
|
||||
src.modules += new /obj/item/stamp/denied(src)
|
||||
src.modules += new /obj/item/taskmanager(src)
|
||||
src.emag += new /obj/item/stamp/chameleon(src)
|
||||
src.emag += new /obj/item/pen/chameleon(src)
|
||||
|
||||
src.modules += new /obj/item/dogborg/sleeper/command(src)
|
||||
src.emag += new /obj/item/dogborg/pounce(src)
|
||||
..()
|
||||
@@ -1,61 +0,0 @@
|
||||
//Lets make this shit more sane-shark
|
||||
//Modular Exploration borg
|
||||
//This restructures how borg additions are done to make them sane/modular/maintainable
|
||||
//Also makes it easier to make new borgs
|
||||
//CHOMPedit: Moving this all to a modular file
|
||||
/*
|
||||
/hook/startup/proc/Modular_Borg_init_Exploration()
|
||||
robot_modules["Exploration"] = /obj/item/robot_module/robot/exploration //add to array
|
||||
robot_module_types += "Exploration" //Add to global list
|
||||
return 1
|
||||
|
||||
//Explo doggos
|
||||
/obj/item/robot_module/robot/exploration
|
||||
name = "exploration robot module"
|
||||
channels = list("Exploration" = 1)
|
||||
languages = list(
|
||||
LANGUAGE_SOL_COMMON = 1,
|
||||
LANGUAGE_UNATHI = 1,
|
||||
LANGUAGE_SIIK = 1,
|
||||
LANGUAGE_AKHANI = 1,
|
||||
LANGUAGE_SKRELLIAN = 1,
|
||||
LANGUAGE_SKRELLIANFAR = 0,
|
||||
LANGUAGE_ROOTLOCAL = 0,
|
||||
LANGUAGE_TRADEBAND = 1,
|
||||
LANGUAGE_GUTTER = 0,
|
||||
LANGUAGE_SCHECHI = 1,
|
||||
LANGUAGE_EAL = 1,
|
||||
LANGUAGE_TERMINUS = 1,
|
||||
LANGUAGE_SIGN = 0
|
||||
)
|
||||
|
||||
/obj/item/robot_module/robot/exploration
|
||||
can_be_pushed = 0
|
||||
/obj/item/robot_module/robot/exploration/New(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/dogborg/sleeper/exploration(src)
|
||||
src.modules += new /obj/item/gun/energy/robotic/phasegun(src)
|
||||
src.modules += new /obj/item/cataloguer(src)
|
||||
src.modules += new /obj/item/roller_holder(src)
|
||||
src.modules += new /obj/item/gun/energy/taser/mounted/cyborg/flare(src)
|
||||
|
||||
src.emag += new /obj/item/dogborg/pounce(src)
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/dogborg/sleeper/exploration //No need to inherit from the brig one, we cna direclty make a proper new one
|
||||
name = "Store-Belly"
|
||||
desc = "Equipment for a ExploreHound unit. A mounted portable-storage device that holds supplies/person."
|
||||
icon_state = "sleeperlost"
|
||||
injection_chems = null
|
||||
stabilizer = TRUE
|
||||
compactor = TRUE
|
||||
max_item_count = 4
|
||||
medsensor = FALSE
|
||||
recycles = TRUE
|
||||
|
||||
/obj/item/gun/energy/taser/mounted/cyborg/flare
|
||||
name = "flare gun"
|
||||
desc = "A flare-gun"
|
||||
projectile_type = /obj/item/projectile/energy/flash/flare
|
||||
fire_sound = 'sound/weapons/tablehit1.ogg'
|
||||
*/
|
||||
@@ -1,58 +0,0 @@
|
||||
//Modular Standard borg hound edition
|
||||
//This restructures how borg additions are done to make them sane/modular/maintainable
|
||||
//Also makes it easier to make new borgs
|
||||
|
||||
//INCOMPLETE and not ready, no sprites other than tall and basically useless, also lacking a belly
|
||||
|
||||
//Add ourselves to the borg list
|
||||
/hook/startup/proc/Modular_Borg_init_standardhound()
|
||||
//robot_modules["Honk-Hound"] = /obj/item/robot_module/robot/clerical/honkborg - done in station_vr modular chomp for ordering reasons
|
||||
robot_module_types += "Standard-Hound" //Add ourselves to global
|
||||
return 1
|
||||
|
||||
/obj/item/robot_module/robot/standard/hound
|
||||
name = "Standard-Hound"
|
||||
sprites = list(
|
||||
"MEKA" = list(SKIN_ICON_STATE = "mekastandard", SKIN_ICON = 'modular_chomp/icons/mob/tallborg/tallrobots.dmi', SKIN_OFFSET = 0, SKIN_HEIGHT = 64),
|
||||
"NIKO" = list(SKIN_ICON_STATE = "mmekastandard", SKIN_ICON = 'modular_chomp/icons/mob/tallborg/tallrobots.dmi', SKIN_OFFSET = 0, SKIN_HEIGHT = 64),
|
||||
"NIKA" = list(SKIN_ICON_STATE = "fmekastandard", SKIN_ICON = 'modular_chomp/icons/mob/tallborg/tallrobots.dmi', SKIN_OFFSET = 0, SKIN_HEIGHT = 64),
|
||||
"K4T" = list(SKIN_ICON_STATE = "k4tclown", SKIN_ICON = 'modular_chomp/icons/mob/tallborg/tallrobots.dmi', SKIN_OFFSET = 0, SKIN_HEIGHT = 64)
|
||||
)
|
||||
|
||||
can_be_pushed = 0
|
||||
|
||||
/obj/item/robot_module/robot/standard/hound/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
src.modules += new /obj/item/melee/baton/loaded(src)
|
||||
src.modules += new /obj/item/tool/wrench/cyborg(src)
|
||||
src.modules += new /obj/item/healthanalyzer(src)
|
||||
src.emag += new /obj/item/melee/energy/sword(src)
|
||||
|
||||
var/datum/matter_synth/water = new /datum/matter_synth(500)
|
||||
water.name = "Water reserves"
|
||||
water.recharge_rate = 10
|
||||
water.max_energy = 1000
|
||||
R.water_res = water
|
||||
synths += water
|
||||
|
||||
var/obj/item/dogborg/tongue/T = new /obj/item/dogborg/tongue(src)
|
||||
T.water = water
|
||||
src.modules += T
|
||||
|
||||
R.icon = 'modular_chomp/icons/mob/widerobot_ch.dmi'
|
||||
R.wideborg_dept = 'modular_chomp/icons/mob/widerobot_ch.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.vore_capacity = 1
|
||||
R.vore_capacity_ex = list("stomach" = 1)
|
||||
R.wideborg = TRUE
|
||||
add_verb(R,/mob/living/silicon/robot/proc/ex_reserve_refill) //CHOMPEdit TGPanel
|
||||
add_verb(R,/mob/living/silicon/robot/proc/robot_mount) //CHOMPEdit TGPanel
|
||||
add_verb(R,/mob/living/proc/toggle_rider_reins) //CHOMPEdit TGPanel
|
||||
add_verb(R,/mob/living/proc/shred_limb) //CHOMPEdit TGPanel
|
||||
add_verb(R,/mob/living/silicon/robot/proc/rest_style) //CHOMPEdit TGPanel
|
||||
..()
|
||||
@@ -2,12 +2,15 @@ var/global/list/robot_modules = list(
|
||||
"Standard" = /obj/item/robot_module/robot/standard,
|
||||
"Service" = /obj/item/robot_module/robot/clerical/butler,
|
||||
"Clerical" = /obj/item/robot_module/robot/clerical/general,
|
||||
"Clown" = /obj/item/robot_module/robot/clerical/honkborg,
|
||||
"Command" = /obj/item/robot_module/robot/chound,
|
||||
"Research" = /obj/item/robot_module/robot/research,
|
||||
"Miner" = /obj/item/robot_module/robot/miner,
|
||||
"Crisis" = /obj/item/robot_module/robot/medical/crisis,
|
||||
// "Surgeon" = /obj/item/robot_module/robot/medical/surgeon, // CHOMPedit: Surgeon module removal.
|
||||
"Security" = /obj/item/robot_module/robot/security/general,
|
||||
"Combat" = /obj/item/robot_module/robot/security/combat,
|
||||
"Exploration" = /obj/item/robot_module/robot/exploration,
|
||||
"Engineering" = /obj/item/robot_module/robot/engineering,
|
||||
"Janitor" = /obj/item/robot_module/robot/janitor,
|
||||
"Gravekeeper" = /obj/item/robot_module/robot/gravekeeper,
|
||||
@@ -252,7 +255,10 @@ var/global/list/robot_modules = list(
|
||||
supported_upgrades = list(/obj/item/borg/upgrade/restricted/bellycapupgrade)
|
||||
|
||||
/* CHOMPedit start: Removal of Surgeon module. *
|
||||
|
||||
//This is a constant back and forth debate. 11 years ago, the 'medical' borg was split into surgery and crisis.
|
||||
//Two years ago(?), they were combined into Crisis elsewhere and the idea seems to be well appreciated.
|
||||
//However, given this seems as though it will remain a hot topic for as long as SS13 exists, we are going to leave the surgeon module here in the event that we split them. Again.
|
||||
//This also goes for the sprite datums. It's be a lot of work to 'clear' them of having surgery in their path just to have to split them again in 2-3 years.
|
||||
/obj/item/robot_module/robot/medical/surgeon
|
||||
name = "surgeon robot module"
|
||||
|
||||
@@ -340,7 +346,7 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/gripper/no_use/organ(src)
|
||||
src.modules += new /obj/item/gripper/medical(src)
|
||||
src.modules += new /obj/item/shockpaddles/robot(src)
|
||||
// CHOMPedit start: Combining Surgeon and Crisis.
|
||||
//Surgeon Modules below
|
||||
src.modules += new /obj/item/autopsy_scanner(src)
|
||||
src.modules += new /obj/item/surgical/scalpel/cyborg(src)
|
||||
src.modules += new /obj/item/surgical/hemostat/cyborg(src)
|
||||
@@ -352,26 +358,24 @@ var/global/list/robot_modules = list(
|
||||
src.modules += new /obj/item/surgical/circular_saw/cyborg(src)
|
||||
src.modules += new /obj/item/surgical/surgicaldrill/cyborg(src)
|
||||
src.modules += new /obj/item/surgical/bioregen/cyborg(src)
|
||||
// CHOMPedit end: Combining Surgeon and Crisis.
|
||||
//Surgeon Modules End
|
||||
src.modules += new /obj/item/inflatable_dispenser/robot(src)
|
||||
src.modules += new /obj/item/holosign_creator/medical(src) //CHOMPAdd
|
||||
src.modules += new /obj/item/holosign_creator/medical(src) //Re-enable after Guti's PR.
|
||||
var/obj/item/reagent_containers/spray/PS = new /obj/item/reagent_containers/spray(src)
|
||||
src.emag += PS
|
||||
PS.reagents.add_reagent(REAGENT_ID_PACID, 250)
|
||||
PS.name = "Polyacid spray"
|
||||
|
||||
var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(30000) // CHOMPedit: Increased capacity.
|
||||
var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(30000)
|
||||
synths += medicine
|
||||
|
||||
var/obj/item/stack/medical/advanced/clotting/C = new (src) // CHOMPedit: Clotting kit from medhound.
|
||||
var/obj/item/stack/medical/advanced/clotting/C = new (src)
|
||||
var/obj/item/stack/medical/advanced/ointment/O = new /obj/item/stack/medical/advanced/ointment(src)
|
||||
var/obj/item/stack/medical/advanced/bruise_pack/B = new /obj/item/stack/medical/advanced/bruise_pack(src)
|
||||
var/obj/item/stack/medical/splint/S = new /obj/item/stack/medical/splint(src)
|
||||
// CHOMPedit start: Clotting kit from medhound.
|
||||
C.uses_charge = 1
|
||||
C.charge_costs = list(5000)
|
||||
C.synths = list(medicine)
|
||||
// CHOMPedit end: Clotting kit from medhound.
|
||||
O.uses_charge = 1
|
||||
O.charge_costs = list(1000)
|
||||
O.synths = list(medicine)
|
||||
@@ -384,7 +388,7 @@ var/global/list/robot_modules = list(
|
||||
src.modules += O
|
||||
src.modules += B
|
||||
src.modules += S
|
||||
src.modules += C //CHOMPEdit - AND ACTUALLY ADD IT TO THE MODULES LIST
|
||||
src.modules += C
|
||||
|
||||
src.modules += new /obj/item/dogborg/sleeper(src)
|
||||
src.emag += new /obj/item/dogborg/pounce(src) //Pounce
|
||||
@@ -697,6 +701,42 @@ var/global/list/robot_modules = list(
|
||||
if(PB)
|
||||
PB.reagents.add_reagent(REAGENT_ID_BEER2, 2 * amount)
|
||||
|
||||
/obj/item/robot_module/robot/clerical/honkborg
|
||||
name = "clown robot module"
|
||||
channels = list("Service" = 1,
|
||||
"Entertainment" = 1)
|
||||
pto_type = PTO_CIVILIAN
|
||||
can_be_pushed = 0
|
||||
|
||||
/obj/item/robot_module/robot/clerical/honkborg/create_equipment(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/gripper/service(src)
|
||||
src.modules += new /obj/item/reagent_containers/glass/bucket(src)
|
||||
src.modules += new /obj/item/material/minihoe(src)
|
||||
src.modules += new /obj/item/analyzer/plant_analyzer(src)
|
||||
src.modules += new /obj/item/storage/bag/serviceborg(src)
|
||||
src.modules += new /obj/item/robot_harvester(src)
|
||||
src.modules += new /obj/item/multitool(src)
|
||||
src.modules += new /obj/item/dogborg/pounce(src)
|
||||
src.modules += new /obj/item/bikehorn(src)
|
||||
src.modules += new /obj/item/gun/launcher/confetti_cannon/robot(src)
|
||||
|
||||
var/obj/item/rsf/M = new /obj/item/rsf(src)
|
||||
M.stored_matter = 30
|
||||
src.modules += M
|
||||
|
||||
src.modules += new /obj/item/reagent_containers/dropper/industrial(src)
|
||||
|
||||
var/obj/item/flame/lighter/zippo/L = new /obj/item/flame/lighter/zippo(src)
|
||||
L.lit = 1
|
||||
src.modules += L
|
||||
|
||||
src.modules += new /obj/item/tray/robotray(src)
|
||||
src.modules += new /obj/item/reagent_containers/borghypo/service(src)
|
||||
|
||||
var/obj/item/dogborg/sleeper/compactor/honkborg/B = new /obj/item/dogborg/sleeper/compactor/honkborg(src)
|
||||
src.modules += B
|
||||
..()
|
||||
|
||||
/obj/item/robot_module/robot/clerical/general
|
||||
name = "clerical robot module"
|
||||
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
var/has_eye_sprites = TRUE
|
||||
var/has_eye_light_sprites = FALSE
|
||||
var/has_robotdecal_sprites = FALSE
|
||||
var/has_custom_open_sprites = FALSE
|
||||
var/has_vore_belly_sprites = FALSE
|
||||
var/has_vore_belly_resting_sprites = FALSE
|
||||
var/has_sleeper_light_indicator = FALSE //Moved here because there's no reason lights should be limited to just medical borgs. Or redefined every time they ARE used.
|
||||
var/has_vore_struggle_sprite = FALSE
|
||||
var/max_belly_size = 1 //If larger bellies are made, set this to the value of the largest size
|
||||
var/has_rest_sprites = FALSE
|
||||
var/list/rest_sprite_options
|
||||
@@ -32,6 +32,7 @@
|
||||
var/whitelist_charname
|
||||
var/list/belly_light_list = list() // Support multiple sleepers with r/g light "sleeper"
|
||||
var/list/belly_capacity_list = list() //Support multiple bellies with multiple sizes, default: "sleeper" = 1
|
||||
var/list/sprite_decals = list() // Allow extra decals
|
||||
|
||||
/// Determines if the borg has the proper flags to show an overlay.
|
||||
/datum/robot_sprite/proc/sprite_flag_check(var/flag_to_check)
|
||||
@@ -132,11 +133,18 @@
|
||||
else
|
||||
return
|
||||
|
||||
/datum/robot_sprite/proc/get_robotdecal_overlay(var/mob/living/silicon/robot/ourborg)
|
||||
if(!(ourborg.resting && has_robotdecal_sprites))
|
||||
return "[sprite_icon_state]-decals"
|
||||
else
|
||||
return
|
||||
/datum/robot_sprite/proc/get_robotdecal_overlay(var/mob/living/silicon/robot/ourborg, var/type)
|
||||
if(LAZYLEN(sprite_decals))
|
||||
if(!ourborg.resting)
|
||||
return "[sprite_icon_state]-[type]"
|
||||
switch(ourborg.rest_style)
|
||||
if("Sit")
|
||||
return "[sprite_icon_state]-[type]-sit"
|
||||
if("Bellyup")
|
||||
return "[sprite_icon_state]-[type]-bellyup"
|
||||
else
|
||||
return "[sprite_icon_state]-[type]-rest"
|
||||
|
||||
|
||||
/datum/robot_sprite/proc/get_rest_sprite(var/mob/living/silicon/robot/ourborg)
|
||||
if(!(ourborg.rest_style in rest_sprite_options))
|
||||
|
||||
@@ -42,9 +42,10 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
sprite_icon = 'icons/mob/robot/catborgs/departmental/small/kittyborg_cargo.dmi'
|
||||
rest_sprite_options = list("Default", "Bellyup", "Sit")
|
||||
belly_capacity_list = list("sleeper" = 2, "throat" =2)
|
||||
belly_capacity_list = list("sleeper" = 2)
|
||||
sprite_flags = ROBOT_HAS_SHIELD_SPRITE | ROBOT_HAS_GUN_SPRITE
|
||||
|
||||
/// Engineering
|
||||
@@ -56,6 +57,7 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
sprite_icon = 'icons/mob/robot/catborgs/departmental/small/kittyborg_engi.dmi'
|
||||
rest_sprite_options = list("Default", "Bellyup", "Sit")
|
||||
belly_capacity_list = list("sleeper" = 2)
|
||||
@@ -71,6 +73,7 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
sprite_icon = 'icons/mob/robot/catborgs/departmental/small/kittyborg_jani.dmi'
|
||||
rest_sprite_options = list("Default", "Bellyup", "Sit")
|
||||
belly_capacity_list = list("sleeper" = 2)
|
||||
@@ -85,6 +88,7 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
sprite_icon = 'icons/mob/robot/catborgs/departmental/small/kittyborg_medicat.dmi'
|
||||
rest_sprite_options = list("Default", "Bellyup", "Sit")
|
||||
belly_capacity_list = list("sleeper" = 2)
|
||||
@@ -100,6 +104,7 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
sprite_icon = 'icons/mob/robot/catborgs/departmental/small/kittyborg_sci.dmi'
|
||||
rest_sprite_options = list("Default", "Bellyup", "Sit")
|
||||
belly_capacity_list = list("sleeper" = 2)
|
||||
@@ -114,6 +119,7 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
sprite_icon = 'icons/mob/robot/catborgs/departmental/small/kittyborg_sec.dmi'
|
||||
rest_sprite_options = list("Default", "Bellyup", "Sit")
|
||||
belly_capacity_list = list("sleeper" = 2)
|
||||
@@ -128,6 +134,7 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
sprite_icon = 'icons/mob/robot/catborgs/departmental/small/kittyborg_service.dmi'
|
||||
rest_sprite_options = list("Default", "Bellyup", "Sit")
|
||||
belly_capacity_list = list("sleeper" = 2)
|
||||
@@ -228,7 +235,6 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
sprite_icon = 'icons/mob/robot/catborgs/departmental/large/catborg_service.dmi'
|
||||
rest_sprite_options = list("Default", "Bellyup", "Sit")
|
||||
belly_capacity_list = list("sleeper" = 2, "throat" =2)
|
||||
@@ -252,7 +258,7 @@
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = FALSE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
sprite_decals = list("decals")
|
||||
is_whitelisted = FALSE //Putting this here as a declaration that it is NOT whitelisted.
|
||||
// whitelist_ckey = "cameron653" //The owner of the character.
|
||||
// There is only one version of this borg, so it gets all the departments.
|
||||
|
||||
@@ -68,13 +68,15 @@
|
||||
sprite_icon_state = "noble"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
|
||||
/datum/robot_sprite/civilian/worm
|
||||
name = "W02M"
|
||||
sprite_icon_state = "worm-service" //CHOMPEdit
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
sprite_icon_state = "worm-service"
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
/datum/robot_sprite/civilian/uptall
|
||||
name = "Feminine Humanoid"
|
||||
@@ -311,23 +313,30 @@
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/service/dullahanv3
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
//named v3 to avoid conflicts with downstream
|
||||
/datum/robot_sprite/dogborg/tall/service/dullahan
|
||||
name = "Dullahan"
|
||||
sprite_icon_state = "dullahanserv"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_serv.dmi'
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/service/dullahanv3/basic
|
||||
name = "Dullahan service v3"
|
||||
/datum/robot_sprite/dogborg/tall/service/dullahan/servicealt
|
||||
name = "Dullahan v2"
|
||||
sprite_icon_state = "dullahanserv_alt"
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/service/dullahan/servicealt2
|
||||
name = "Dullahan v3"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/service.dmi'
|
||||
sprite_icon_state = "dullahanservice"
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
sprite_decals = list("decals")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/service/dullahanv3/barista
|
||||
name = "Dullahan matcha v3"
|
||||
/datum/robot_sprite/dogborg/tall/service/dullahan/servicealt3
|
||||
name = "Dullahan v4 matcha"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/barista.dmi'
|
||||
sprite_icon_state = "dullahanbarista"
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
sprite_decals = list("decals")
|
||||
|
||||
// Clerical
|
||||
|
||||
@@ -404,3 +413,76 @@
|
||||
|
||||
// None yet
|
||||
*/
|
||||
|
||||
/datum/robot_sprite/dogborg/clown
|
||||
module_type = "Clown"
|
||||
sprite_icon = 'icons/mob/robot/widerobot/widerobot.dmi'
|
||||
|
||||
/datum/robot_sprite/dogborg/clown/vale
|
||||
name = "Honkhound V2"
|
||||
sprite_icon_state = "honkborg"
|
||||
has_eye_light_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/clown
|
||||
module_type = "Clown"
|
||||
sprite_icon = 'icons/mob/robot/tallrobot/tallrobots.dmi'
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/clown/k4t
|
||||
name = "K4T"
|
||||
sprite_icon_state = "k4tclown"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/clown/dullahan/clown
|
||||
name = "Dullahan Clown"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_clown.dmi'
|
||||
sprite_icon_state = "dullahanclown"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/clown/stoat
|
||||
name = "ST-04t"
|
||||
sprite_icon = 'icons/mob/robot/stoatborg.dmi'
|
||||
sprite_icon_state = "stoatclown"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/service/valech
|
||||
name = "ServicehoundV2 - Alt"
|
||||
sprite_icon = 'icons/mob/robot/widerobot/widerobot.dmi'
|
||||
sprite_icon_state = "servborg"
|
||||
rest_sprite_options = list("Default")
|
||||
has_eye_light_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/service/cat
|
||||
name = "Cat"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixserv"
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/service/mekaserve_alt
|
||||
sprite_icon = 'icons/mob/robot/tallrobot/tallrobots.dmi'
|
||||
name = "MEKA Alt"
|
||||
pixel_x = 0
|
||||
sprite_icon_state = "mekaserve_alt"
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
|
||||
/datum/robot_sprite/dogborg/service/smolraptorservicesprite
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_serv.dmi'
|
||||
|
||||
/datum/robot_sprite/dogborg/service/smolraptorservicesprite/smolraptorserv
|
||||
name = "Small Raptor"
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
@@ -49,12 +49,15 @@
|
||||
|
||||
/datum/robot_sprite/combat/worm
|
||||
name = "W02M"
|
||||
sprite_icon_state = "worm-combat" //CHOMPEdit
|
||||
sprite_icon_state = "worm-combat"
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_flags = ROBOT_HAS_SHIELD_SPRITE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
|
||||
/datum/robot_sprite/combat/uptall
|
||||
name = "Feminine Humanoid"
|
||||
@@ -150,3 +153,59 @@
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/combat/tall
|
||||
name = "MEKA"
|
||||
sprite_icon_state = "mekasyndi"
|
||||
module_type = "Combat"
|
||||
sprite_icon = 'icons/mob/robot/tallrobot/tallrobots.dmi'
|
||||
has_vore_belly_sprites = TRUE
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/combat/tall/mmeka
|
||||
name = "NIKO"
|
||||
sprite_icon_state = "mmekasyndi"
|
||||
has_vore_belly_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/combat/tall/fmeka
|
||||
name = "NIKA"
|
||||
sprite_icon_state = "fmekasyndi"
|
||||
has_vore_belly_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/combat/tall/k4t
|
||||
name = "K4T"
|
||||
sprite_icon_state = "k4tsyndi"
|
||||
has_vore_belly_sprites = FALSE
|
||||
|
||||
//Using our own category wide here not to interfere with upstream in case they add wide sprites under just dogborg.
|
||||
/datum/robot_sprite/dogborg/wide/combat
|
||||
module_type = "Combat"
|
||||
has_custom_equipment_sprites = TRUE
|
||||
has_eye_sprites = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/wide/combat/blade/do_equipment_glamour(var/obj/item/robot_module/module)
|
||||
if(!has_custom_equipment_sprites)
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
var/obj/item/melee/robotic/blade/CBB = locate() in module.modules
|
||||
if(CBB)
|
||||
CBB.name = "combat saw"
|
||||
CBB.desc = "A high frequency blade attached to the end of a cyborg's tail. It appears to be extremely sharp."
|
||||
var/obj/item/melee/robotic/borg_combat_shocker/BCS = locate() in module.modules
|
||||
if(BCS)
|
||||
BCS.name = "combat jaws"
|
||||
BCS.desc = "Shockingly chompy!"
|
||||
BCS.icon_state = "ertjaws"
|
||||
BCS.hitsound = 'sound/weapons/bite.ogg'
|
||||
BCS.attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced")
|
||||
BCS.dogborg = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/wide/combat/blade
|
||||
sprite_icon = 'icons/mob/robot/widerobot/widerobot.dmi'
|
||||
name = "Blade"
|
||||
sprite_icon_state = "blade"
|
||||
sprite_hud_icon_state = "ert"
|
||||
rest_sprite_options = list()
|
||||
sprite_flags = ROBOT_HAS_LASER_SPRITE | ROBOT_HAS_DISABLER_SPRITE | ROBOT_HAS_DAGGER_SPRITE
|
||||
|
||||
113
code/modules/mob/living/silicon/robot/sprites/command.dm
Normal file
@@ -0,0 +1,113 @@
|
||||
/obj/item/robot_module/robot/chound
|
||||
languages = list(
|
||||
LANGUAGE_SOL_COMMON = 1,
|
||||
LANGUAGE_TRADEBAND = 1,
|
||||
LANGUAGE_UNATHI = 1,
|
||||
LANGUAGE_SIIK = 1,
|
||||
LANGUAGE_SKRELLIAN = 1,
|
||||
LANGUAGE_ROOTLOCAL = 0,
|
||||
LANGUAGE_GUTTER = 0,
|
||||
LANGUAGE_SCHECHI = 1,
|
||||
LANGUAGE_EAL = 1,
|
||||
LANGUAGE_SIGN = 0,
|
||||
LANGUAGE_BIRDSONG = 1,
|
||||
LANGUAGE_SAGARU = 1,
|
||||
LANGUAGE_CANILUNZT = 1,
|
||||
LANGUAGE_ECUREUILIAN= 1,
|
||||
LANGUAGE_DAEMON = 1,
|
||||
LANGUAGE_ENOCHIAN = 1,
|
||||
LANGUAGE_DRUDAKAR = 1,
|
||||
LANGUAGE_TAVAN = 1
|
||||
)
|
||||
|
||||
//Build our Module
|
||||
/obj/item/robot_module/robot/chound
|
||||
name = "command robot module"
|
||||
channels = list(
|
||||
"Medical" = 1,
|
||||
"Engineering" = 1,
|
||||
"Security" = 1,
|
||||
"Service" = 1,
|
||||
"Supply" = 0,
|
||||
"Science" = 1,
|
||||
"Command" = 1,
|
||||
"Explorer" = 0
|
||||
)
|
||||
pto_type = PTO_CIVILIAN
|
||||
can_be_pushed = 0
|
||||
|
||||
/obj/item/robot_module/robot/chound/create_equipment(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/pen/robopen(src)
|
||||
src.modules += new /obj/item/form_printer(src)
|
||||
src.modules += new /obj/item/gripper/paperwork(src)
|
||||
src.modules += new /obj/item/hand_labeler(src)
|
||||
src.modules += new /obj/item/stamp(src)
|
||||
src.modules += new /obj/item/stamp/denied(src)
|
||||
src.modules += new /obj/item/taskmanager(src) //Needs to be ported over. //CHOMPEDIT ENABLE
|
||||
src.emag += new /obj/item/stamp/chameleon(src)
|
||||
src.emag += new /obj/item/pen/chameleon(src)
|
||||
|
||||
src.modules += new /obj/item/dogborg/sleeper/command(src)
|
||||
src.emag += new /obj/item/dogborg/pounce(src)
|
||||
..()
|
||||
|
||||
/datum/robot_sprite/dogborg/command
|
||||
name = "Commandhound V2"
|
||||
sprite_icon_state = "kcom"
|
||||
has_eye_light_sprites = TRUE
|
||||
module_type = "Command"
|
||||
sprite_icon = 'icons/mob/robot/widerobot/widerobot.dmi'
|
||||
|
||||
/datum/robot_sprite/dogborg/command/borgi
|
||||
name = "Borgi"
|
||||
sprite_icon_state = "borgi"
|
||||
has_eye_light_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/command
|
||||
module_type = "Command"
|
||||
sprite_icon = 'icons/mob/robot/tallrobot/tallrobots.dmi'
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/raptor/command
|
||||
module_type = "Command"
|
||||
sprite_icon = 'icons/mob/robot/raptor.dmi'
|
||||
|
||||
/datum/robot_sprite/dogborg/raptor/command/raptor
|
||||
name = "Raptor"
|
||||
sprite_icon_state = "chraptor"
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_equipment_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/command/meka
|
||||
name = "MEKA"
|
||||
sprite_icon_state = "mekaunity"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/command/mmeka
|
||||
name = "NIKO"
|
||||
sprite_icon_state = "mmekaunity"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/command/fmeka
|
||||
name = "NIKA"
|
||||
sprite_icon_state = "fmekaunity"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/command/smolraptorcommand
|
||||
name = "Small Raptor"
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_cc.dmi'
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
@@ -105,13 +105,16 @@
|
||||
sprite_icon_state = "zoomba"
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
|
||||
/datum/robot_sprite/engineering/worm
|
||||
name = "W02M"
|
||||
sprite_icon_state = "worm-engineering" //CHOMPEdit
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
sprite_icon_state = "worm-engineering"
|
||||
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
/datum/robot_sprite/engineering/uptall
|
||||
name = "Feminine Humanoid"
|
||||
@@ -217,13 +220,38 @@
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/engineering/dullahanv3
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
//named v3 to avoid conflicts with downstream
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/engineering/dullahanv3/engineerdully
|
||||
name = "Dullahan engineer v3"
|
||||
sprite_icon_state = "dullahanengineer"
|
||||
/datum/robot_sprite/dogborg/tall/engineering/dullahan
|
||||
name = "Dullahan v1"
|
||||
sprite_icon_state = "dullahaneng"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_eng.dmi'
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/engineering/dullahan/engineerv2
|
||||
name = "Dullahan v2"
|
||||
sprite_icon_state = "dullahaneng_alt"
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/engineering/dullahan/engineerv3
|
||||
name = "Dullahan v3"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/engineer.dmi'
|
||||
sprite_icon_state = "dullahanengineer"
|
||||
sprite_decals = list("decals")
|
||||
|
||||
/datum/robot_sprite/dogborg/engineering/cat
|
||||
name = "Cat"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixengi"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/engineering/smolraptorengineeringsprite
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_eng.dmi'
|
||||
name = "Small Raptor"
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
sprite_hud_icon_state = "medihound"
|
||||
|
||||
/datum/robot_sprite/fluff/argonne/surgical
|
||||
module_type = "Surgeon"
|
||||
module_type = "Crisis"
|
||||
|
||||
sprite_icon_state = "argonne-russ-surg"
|
||||
sprite_hud_icon_state = "medihound"
|
||||
|
||||
@@ -96,11 +96,13 @@
|
||||
|
||||
/datum/robot_sprite/janitor/worm
|
||||
name = "W02M"
|
||||
sprite_icon_state = "worm-janitor" //CHOMPEdit
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
sprite_icon_state = "worm-janitor"
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
|
||||
/datum/robot_sprite/janitor/uptall
|
||||
name = "Feminine Humanoid"
|
||||
@@ -202,13 +204,48 @@
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/janitor/dullahanv3
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
//named v3 to avoid conflicts with downstream
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/janitor/dullahanv3/janitordully
|
||||
name = "Dullahan janitor v3"
|
||||
sprite_icon_state = "dullahanjanitor"
|
||||
/datum/robot_sprite/dogborg/tall/janitor/dullahan
|
||||
name = "Dullahan v1"
|
||||
sprite_icon_state = "dullahanjani"
|
||||
module_type = "Janitor"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_jani.dmi'
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/janitor/dullahan/janitoralt
|
||||
name = "Dullahan v2"
|
||||
sprite_icon_state = "dullahanjani_alt"
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/janitor/dullahan/janitoralt2
|
||||
name = "Dullahan v3"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/janitor.dmi'
|
||||
sprite_icon_state = "dullahanjanitor"
|
||||
sprite_decals = list("decals")
|
||||
|
||||
/datum/robot_sprite/dogborg/janitor/cat
|
||||
name = "Cat"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixjani"
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/smolraptorjanitorsprite
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_jani.dmi'
|
||||
module_type = "Janitor"
|
||||
name = "Small Raptor"
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/janitor/possum
|
||||
name = "0-P0SSm"
|
||||
sprite_icon = 'icons/mob/robot/possumborg.dmi'
|
||||
sprite_icon_state = "possjani"
|
||||
//has_vore_belly_resting_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
@@ -73,13 +73,14 @@
|
||||
sprite_icon_state = "noble"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/medical/worm
|
||||
name = "W02M - Crisis" //CHOMPEdit
|
||||
sprite_icon_state = "worm-crisis" //CHOMPEdit
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
/datum/robot_sprite/surgical/worm
|
||||
name = "W02M - Surgical"
|
||||
sprite_icon_state = "worm-surgeon"
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
// Wide/dogborg sprites
|
||||
/*
|
||||
@@ -140,76 +141,77 @@
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/medical/dullahanv3
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
//named v3 to avoid conflicts with downstream
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/medical/dullahanv3/medicaldully
|
||||
name = "Dullahan medical v3"
|
||||
sprite_icon_state = "dullahanmedical"
|
||||
/datum/robot_sprite/dogborg/tall/crisis/dullahan
|
||||
name = "Dullahan"
|
||||
sprite_icon_state = "dullahanmed"
|
||||
module_type = "Crisis"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_med.dmi'
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/crisis/dullahan/crisisalt
|
||||
name = "Dullahan v2"
|
||||
sprite_icon_state = "dullahanmed_alt"
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/medical/dullahan/crisisalt2
|
||||
name = "Dullahan medical v3"
|
||||
sprite_decals = list("decals")
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/medical.dmi'
|
||||
sprite_icon_state = "dullahanmedical"
|
||||
|
||||
// Surgeon
|
||||
|
||||
// Regular sprites
|
||||
|
||||
/datum/robot_sprite/surgical
|
||||
module_type = "Surgeon"
|
||||
module_type = "Crisis"
|
||||
sprite_icon = 'icons/mob/robot/surgical.dmi'
|
||||
|
||||
/datum/robot_sprite/surgical/toiletbot
|
||||
name = "Telemachus"
|
||||
name = "Telemachus - Surgical"
|
||||
sprite_icon_state = "toiletbot"
|
||||
|
||||
/datum/robot_sprite/surgical/sleek
|
||||
name = "WTOperator"
|
||||
name = "WTOperator - Surgical"
|
||||
sprite_icon_state = "sleek"
|
||||
|
||||
/datum/robot_sprite/surgical/drone
|
||||
name = "AG Model"
|
||||
name = "AG Model - Surgical"
|
||||
sprite_icon_state = "drone"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/surgical/glitterfly
|
||||
name = "Pyralis"
|
||||
name = "Pyralis - Surgical"
|
||||
sprite_icon_state = "glitterfly"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/surgical/decapod
|
||||
name = "Decapod"
|
||||
name = "Decapod - Surgical"
|
||||
sprite_icon_state = "decapod"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/surgical/pneuma
|
||||
name = "Pneuma"
|
||||
name = "Pneum - Surgical"
|
||||
sprite_icon_state = "pneuma"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/surgical/zoomba
|
||||
name = "ZOOM-BA"
|
||||
name = "ZOOM-BA - Surgical"
|
||||
sprite_icon_state = "zoomba"
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
/datum/robot_sprite/surgical/uptall
|
||||
name = "Feminine Humanoid"
|
||||
name = "Feminine Humanoid - Surgical"
|
||||
sprite_icon_state = "uptall"
|
||||
|
||||
// Wide/dogborg sprites
|
||||
|
||||
/datum/robot_sprite/dogborg/surgical
|
||||
module_type = "Surgeon"
|
||||
module_type = "Crisis"
|
||||
sprite_icon = 'icons/mob/robot/surgical_wide.dmi'
|
||||
|
||||
/* //Handled by the normal belly code now.
|
||||
/datum/robot_sprite/dogborg/surgical/get_belly_overlay(var/mob/living/silicon/robot/ourborg)
|
||||
if(has_sleeper_light_indicator)
|
||||
if(ourborg.sleeper_state == 2 && !(ourborg.vore_selected?.silicon_belly_overlay_preference == "Vorebelly")) return "[sprite_icon_state]-sleeper_g"
|
||||
else return "[sprite_icon_state]-sleeper_r"
|
||||
else
|
||||
return ..()
|
||||
*/
|
||||
/datum/robot_sprite/dogborg/surgical/do_equipment_glamour(var/obj/item/robot_module/module)
|
||||
if(!has_custom_equipment_sprites)
|
||||
return
|
||||
@@ -232,7 +234,7 @@
|
||||
has_sleeper_light_indicator = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/surgical/borgi
|
||||
name = "Borgi"
|
||||
name = "Borgi - Surgical"
|
||||
sprite_icon_state = "borgi"
|
||||
sprite_hud_icon_state = "medihound"
|
||||
has_eye_sprites = FALSE
|
||||
@@ -240,13 +242,13 @@
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/surgical/drake
|
||||
name = "Drake"
|
||||
name = "Drake - Surgical"
|
||||
sprite_icon_state = "drake"
|
||||
|
||||
// Tall sprites
|
||||
//CHOMPNote -- many of the lines in this is overriden in modular
|
||||
/datum/robot_sprite/dogborg/tall/surgical
|
||||
module_type = "Surgeon"
|
||||
module_type = "Crisis"
|
||||
sprite_icon = 'icons/mob/robot/surgical_large.dmi'
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/surgical/do_equipment_glamour(var/obj/item/robot_module/module)
|
||||
@@ -264,7 +266,7 @@
|
||||
SP.attack_verb = list("batted", "pawed", "bopped", "whapped")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/surgical/raptor
|
||||
name = "Raptor V-4"
|
||||
name = "Raptor V-4 - Surgical"
|
||||
sprite_icon_state = "raptor"
|
||||
has_custom_equipment_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
@@ -279,11 +281,11 @@
|
||||
sprite_icon = 'icons/mob/robot/crisis.dmi'
|
||||
|
||||
/datum/robot_sprite/crisis/toiletbot
|
||||
name = "Telemachus"
|
||||
name = "Telemachus - Crisis"
|
||||
sprite_icon_state = "toiletbot"
|
||||
|
||||
/datum/robot_sprite/crisis/sleek
|
||||
name = "WTOperator"
|
||||
name = "WTOperator - Crisis"
|
||||
sprite_icon_state = "sleek"
|
||||
|
||||
/datum/robot_sprite/crisis/drone
|
||||
@@ -297,27 +299,27 @@
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/crisis/glitterfly
|
||||
name = "Pyralis"
|
||||
name = "Pyralis - Crisis"
|
||||
sprite_icon_state = "glitterfly"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/crisis/decapod
|
||||
name = "Decapod"
|
||||
name = "Decapod - Crisis"
|
||||
sprite_icon_state = "decapod"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/crisis/pneuma
|
||||
name = "Pneuma"
|
||||
name = "Pneuma - Crisis"
|
||||
sprite_icon_state = "pneuma"
|
||||
has_custom_open_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/crisis/zoomba
|
||||
name = "ZOOM-BA"
|
||||
name = "ZOOM-BA - Crisis"
|
||||
sprite_icon_state = "zoomba"
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
/datum/robot_sprite/crisis/uptall
|
||||
name = "Feminine Humanoid"
|
||||
name = "Feminine Humanoid - Crisis"
|
||||
sprite_icon_state = "uptall"
|
||||
|
||||
// Wide/dogborg sprites
|
||||
@@ -370,7 +372,7 @@
|
||||
has_sleeper_light_indicator = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/crisis/borgi
|
||||
name = "Borgi"
|
||||
name = "Borgi - Crisis"
|
||||
sprite_icon_state = "borgi"
|
||||
sprite_hud_icon_state = "medihound"
|
||||
has_eye_sprites = FALSE
|
||||
@@ -378,7 +380,7 @@
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/crisis/drake
|
||||
name = "Drake"
|
||||
name = "Drake - Crisis"
|
||||
sprite_icon_state = "drake"
|
||||
|
||||
// Tall sprites
|
||||
@@ -402,7 +404,49 @@
|
||||
SP.attack_verb = list("batted", "pawed", "bopped", "whapped")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/crisis/raptor
|
||||
name = "Raptor V-4"
|
||||
name = "Raptor V-4 - Crisis"
|
||||
sprite_icon_state = "raptor"
|
||||
has_custom_equipment_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/crisis/cat
|
||||
name = "Cat"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixmed"
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
//Medical into Crisis type merge
|
||||
/datum/robot_sprite/surgical
|
||||
module_type = "Crisis"
|
||||
|
||||
/datum/robot_sprite/dogborg/surgical
|
||||
module_type = "Crisis"
|
||||
|
||||
//Added sprites
|
||||
/datum/robot_sprite/dogborg/crisis/vale2
|
||||
name = "Mediborg Model V-3"
|
||||
sprite_icon = 'icons/mob/robot/widerobot/widerobot.dmi'
|
||||
sprite_icon_state = "vale2"
|
||||
sprite_hud_icon_state = "medihound"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/crisis/cat
|
||||
name = "Cat"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixmed"
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/crisis/smolraptor
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_med.dmi'
|
||||
name = "Small Raptor"
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
@@ -95,11 +95,12 @@
|
||||
|
||||
/datum/robot_sprite/mining/worm
|
||||
name = "W02M"
|
||||
sprite_icon_state = "worm-miner" //CHOMPEdit
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
sprite_icon_state = "worm-miner"
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
/datum/robot_sprite/mining/uptall
|
||||
name = "Feminine Humanoid"
|
||||
@@ -187,13 +188,108 @@
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/dullahanv3
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
//named v3 to avoid conflicts with downstream
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/dullahanv3/miningdully
|
||||
name = "Dullahan mining v3"
|
||||
sprite_icon_state = "dullahanmining"
|
||||
/datum/robot_sprite/dogborg/tall/mining/dullahan
|
||||
name = "Dullahan Mining unit"
|
||||
sprite_icon_state = "dullahanmine"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_mine.dmi'
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_eye_light_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/dullahan/mineralt
|
||||
name = "Dullahan Mining unit v2"
|
||||
sprite_icon_state = "dullahanmine_alt"
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/dullahan/miningdully
|
||||
name = "Dullahan mining v3"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/mining.dmi'
|
||||
sprite_icon_state = "dullahanmining"
|
||||
sprite_decals = list("decals")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/dullahancarg
|
||||
name = "Dullahan Cargo"
|
||||
sprite_icon_state = "dullahancargo"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_cargo.dmi'
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/dullahancarg/cargoalt
|
||||
name = "Dullahan Cargo v2"
|
||||
sprite_icon_state = "dullahancargo_alt"
|
||||
|
||||
/datum/robot_sprite/dogborg/mining/cat
|
||||
name = "Cat - Mining"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixmine"
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/mining/catcargo
|
||||
name = "Cat - Cargo"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixcargo"
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/tall
|
||||
sprite_icon = 'icons/mob/robot/tallrobot/tallrobots.dmi'
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/tall/mekacargo
|
||||
name = "MEKA - Cargo"
|
||||
sprite_icon_state = "mekacargo"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/tall/mmekacargo
|
||||
name = "NIKO - Cargo"
|
||||
sprite_icon_state = "mmekacargo"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/tall/fmekacargo
|
||||
name = "NIKA - Cargo"
|
||||
sprite_icon_state = "fmekacargo"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_sleeper_light_indicator = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/tall/k4tcargo
|
||||
name = "K4T - Cargo"
|
||||
sprite_icon_state = "k4tcargo"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mining/tall/k4t_alt1cargo
|
||||
name = "K4Talt - Cargo"
|
||||
sprite_icon_state = "k4tcargo_alt1"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/mining/smolraptorminer
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_min.dmi'
|
||||
name = "Small Raptor Miner"
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/mining/smolraptorcargo
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_car.dmi'
|
||||
name = "Small Raptor Cargo"
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
@@ -83,13 +83,15 @@
|
||||
name = "XI-GUS"
|
||||
sprite_icon_state = "spider"
|
||||
|
||||
|
||||
/datum/robot_sprite/science/worm
|
||||
name = "W02M"
|
||||
sprite_icon_state = "worm-science" //CHOMPEdit
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
sprite_icon_state = "worm-science"
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
/datum/robot_sprite/science/uptall
|
||||
name = "Feminine Humanoid"
|
||||
@@ -208,13 +210,42 @@
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/science/dullahanv3
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
//named v3 to avoid conflicts with downstream
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/science/dullahanv3/sciencedully
|
||||
name = "Dullahan science v3"
|
||||
sprite_icon_state = "dullahanscience"
|
||||
/datum/robot_sprite/dogborg/tall/science/dullahan
|
||||
name = "Dullahan"
|
||||
sprite_icon_state = "dullahansci"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_sci.dmi'
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
sprite_hud_icon_state = "sci-borg"
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/science/dullahan/scialt
|
||||
name = "Dullahan v2"
|
||||
sprite_icon_state = "dullahansci_alt"
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/science/dullahan/scialt2
|
||||
name = "Dullahan v3"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/science.dmi'
|
||||
sprite_icon_state = "dullahanscience"
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
sprite_decals = list("decals")
|
||||
|
||||
/datum/robot_sprite/dogborg/science/cat
|
||||
name = "Cat"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixsci"
|
||||
sprite_hud_icon_state = "sci-borg"
|
||||
has_vore_belly_resting_sprites = TRUE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
|
||||
/datum/robot_sprite/dogborg/science/smolraptor
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_sci.dmi'
|
||||
name = "Small Raptor"
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
@@ -108,11 +108,12 @@
|
||||
|
||||
/datum/robot_sprite/security/worm
|
||||
name = "W02M"
|
||||
sprite_icon_state = "worm-security" //CHOMPEdit
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
sprite_icon_state = "worm-security"
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
/datum/robot_sprite/security/uptall
|
||||
name = "Feminine Humanoid"
|
||||
@@ -216,13 +217,47 @@
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/security/dullahanv3
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
//named v3 to avoid conflicts with downstream
|
||||
/datum/robot_sprite/dogborg/tall/security/dullahan
|
||||
name = "Dullahan"
|
||||
sprite_icon_state = "dullahansec"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_sec.dmi'
|
||||
pixel_x = 0
|
||||
sprite_hud_icon_state = "k9"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/security/dullahanv3/securitydully
|
||||
/datum/robot_sprite/dogborg/tall/security/dullahan/secalt
|
||||
name = "Dullahan v2"
|
||||
sprite_icon_state = "dullahansec_alt"
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/security/dullahan/securitydully
|
||||
name = "Dullahan security v3"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/security.dmi'
|
||||
sprite_icon_state = "dullahansecurity"
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
sprite_decals = list("decals")
|
||||
|
||||
/datum/robot_sprite/dogborg/security/vale2
|
||||
name = "Secborg model V-3"
|
||||
sprite_icon = 'icons/mob/robot/widerobot/widerobot.dmi'
|
||||
sprite_icon_state = "secvale"
|
||||
sprite_hud_icon_state = "k9"
|
||||
has_eye_light_sprites = TRUE
|
||||
|
||||
/datum/robot_sprite/dogborg/security/cat
|
||||
name = "Cat"
|
||||
sprite_icon = 'icons/mob/robot/catborg_variant.dmi'
|
||||
sprite_icon_state = "vixsec"
|
||||
sprite_hud_icon_state = "k9"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_dead_sprite_overlay = FALSE
|
||||
|
||||
/datum/robot_sprite/dogborg/security/smolraptor
|
||||
sprite_icon = 'icons/mob/robot/smallraptors/smolraptor_pk.dmi'
|
||||
name = "Small Raptor"
|
||||
sprite_icon_state = "smolraptor"
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
|
||||
@@ -100,11 +100,12 @@
|
||||
|
||||
/datum/robot_sprite/standard/worm
|
||||
name = "W02M"
|
||||
sprite_icon_state = "worm-standard" //CHOMPEdit
|
||||
has_custom_open_sprites = TRUE
|
||||
sprite_icon = 'modular_chomp/icons/mob/wormborg.dmi' //CHOMPEdit
|
||||
has_vore_belly_sprites = TRUE //CHOMPEdit
|
||||
has_dead_sprite = TRUE //CHOMPEdit
|
||||
sprite_icon_state = "worm-standard"
|
||||
sprite_icon = 'icons/mob/robot/wormborg.dmi'
|
||||
has_dead_sprite_overlay = FALSE
|
||||
has_custom_open_sprites = FALSE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_dead_sprite = TRUE
|
||||
|
||||
/datum/robot_sprite/standard/uptall
|
||||
name = "Feminine Humanoid"
|
||||
@@ -135,13 +136,72 @@
|
||||
module_type = "Standard"
|
||||
//sprite_icon = 'icons/mob/robot/standard_large.dmi' NOT USED YET
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/standard/dullahanv3
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
//named v3 to avoid conflicts with downstream
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/standard/dullahanv3/standarddully
|
||||
name = "Dullahan standard v3"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/standard.dmi'
|
||||
sprite_icon_state = "dullahanstandard"
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
sprite_decals = list("decals")
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
|
||||
|
||||
/* //This used to be Widerobot_Standard_ch.dm. It was unticked, so it shall be put here instead.
|
||||
//Modular Standard borg hound edition
|
||||
//This restructures how borg additions are done to make them sane/modular/maintainable
|
||||
//Also makes it easier to make new borgs
|
||||
|
||||
//INCOMPLETE and not ready, no sprites other than tall and basically useless, also lacking a belly
|
||||
|
||||
//Add ourselves to the borg list
|
||||
/hook/startup/proc/Modular_Borg_init_standardhound()
|
||||
//robot_modules["Honk-Hound"] = /obj/item/robot_module/robot/clerical/honkborg - done in station_vr modular chomp for ordering reasons
|
||||
robot_module_types += "Standard-Hound" //Add ourselves to global
|
||||
return 1
|
||||
|
||||
/obj/item/robot_module/robot/standard/hound
|
||||
name = "Standard-Hound"
|
||||
sprites = list(
|
||||
"MEKA" = list(SKIN_ICON_STATE = "mekastandard", SKIN_ICON = 'icons/mob/robot/tallrobot/tallrobots.dmi', SKIN_OFFSET = 0, SKIN_HEIGHT = 64),
|
||||
"NIKO" = list(SKIN_ICON_STATE = "mmekastandard", SKIN_ICON = 'icons/mob/robot/tallrobot/tallrobots.dmi', SKIN_OFFSET = 0, SKIN_HEIGHT = 64),
|
||||
"NIKA" = list(SKIN_ICON_STATE = "fmekastandard", SKIN_ICON = 'icons/mob/robot/tallrobot/tallrobots.dmi', SKIN_OFFSET = 0, SKIN_HEIGHT = 64),
|
||||
"K4T" = list(SKIN_ICON_STATE = "k4tclown", SKIN_ICON = 'icons/mob/robot/tallrobot/tallrobots.dmi', SKIN_OFFSET = 0, SKIN_HEIGHT = 64)
|
||||
)
|
||||
|
||||
can_be_pushed = 0
|
||||
|
||||
/obj/item/robot_module/robot/standard/hound/New(var/mob/living/silicon/robot/R)
|
||||
..()
|
||||
src.modules += new /obj/item/melee/baton/loaded(src)
|
||||
src.modules += new /obj/item/tool/wrench/cyborg(src)
|
||||
src.modules += new /obj/item/healthanalyzer(src)
|
||||
src.emag += new /obj/item/melee/energy/sword(src)
|
||||
|
||||
var/datum/matter_synth/water = new /datum/matter_synth(500)
|
||||
water.name = "Water reserves"
|
||||
water.recharge_rate = 10
|
||||
water.max_energy = 1000
|
||||
R.water_res = water
|
||||
synths += water
|
||||
|
||||
var/obj/item/dogborg/tongue/T = new /obj/item/dogborg/tongue(src)
|
||||
T.water = water
|
||||
src.modules += T
|
||||
|
||||
R.icon = 'modular_chomp/icons/mob/widerobot_ch.dmi'
|
||||
R.wideborg_dept = 'modular_chomp/icons/mob/widerobot_ch.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.vore_capacity = 1
|
||||
R.vore_capacity_ex = list("stomach" = 1)
|
||||
R.wideborg = TRUE
|
||||
add_verb(R,/mob/living/silicon/robot/proc/ex_reserve_refill)
|
||||
add_verb(R,/mob/living/silicon/robot/proc/robot_mount)
|
||||
add_verb(R,/mob/living/proc/toggle_rider_reins)
|
||||
add_verb(R,/mob/living/proc/shred_limb)
|
||||
add_verb(R,/mob/living/silicon/robot/proc/rest_style)
|
||||
..()
|
||||
*/
|
||||
|
||||
@@ -69,14 +69,23 @@
|
||||
has_vore_belly_sprites = FALSE
|
||||
rest_sprite_options = list("Default", "Bellyup")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/combat_medic/dullahancombatmedic
|
||||
name = "Dullahan Combat Medic"
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_syndie.dmi'
|
||||
sprite_icon_state = "dullahansyndi"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
rest_sprite_options = list("Default", "Sit")
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/syndie/dullahanv3syndi
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/syndi.dmi'
|
||||
sprite_icon_state = "dullahansyndi"
|
||||
name = "Dullahan syndie v3"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_custom_open_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
sprite_decals = list("decals")
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
|
||||
// Protector
|
||||
@@ -168,13 +177,13 @@
|
||||
sprite_hud_icon_state = "malf"
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mechanist/dullahanv3mech
|
||||
sprite_icon = 'icons/mob/tallborg/dullahans64x64.dmi'
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v3/mechanist.dmi'
|
||||
sprite_icon_state = "dullahanmechanist"
|
||||
name = "Dullahan mechanist v3"
|
||||
has_eye_light_sprites = TRUE
|
||||
has_custom_open_sprites = TRUE
|
||||
has_vore_belly_sprites = TRUE
|
||||
has_robotdecal_sprites = TRUE
|
||||
sprite_decals = list("decals")
|
||||
rest_sprite_options = list("Default", "sit")
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/mechanist/syndimechraptor
|
||||
|
||||
180
code/modules/mob/living/silicon/robot/subtypes/boozeborg.dm
Normal file
@@ -0,0 +1,180 @@
|
||||
//Attempted unify style implementation of boozeborgs. To lower peoples needed code diving to both understand this module and make new ones.
|
||||
//Dropping my usual _unify for _ch this time. Commenting it here for github search.
|
||||
|
||||
// code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm //tag so it shows up in gitsearch
|
||||
|
||||
/*
|
||||
What Borgs are available is sadly handled in the above file in the proc
|
||||
|
||||
/hook/startup/proc/robot_modules_vr()
|
||||
robot_modules["Medihound"] = /obj/item/robot_module/robot/medihound
|
||||
robot_modules["K9"] = /obj/item/robot_module/robot/knine
|
||||
robot_modules["ERT"] = /obj/item/robot_module/robot/ert
|
||||
robot_modules["Janihound"] = /obj/item/robot_module/robot/scrubpup
|
||||
robot_modules["Sci-borg"] = /obj/item/robot_module/robot/science
|
||||
robot_modules["Pupdozer"] = /obj/item/robot_module/robot/engiedog
|
||||
return 1
|
||||
*/
|
||||
|
||||
/obj/item/robot_module/robot/booze
|
||||
name = "BoozeHound robot module"
|
||||
channels = list("Service" = 1)
|
||||
languages = list(
|
||||
LANGUAGE_SOL_COMMON = 1,
|
||||
LANGUAGE_UNATHI = 1,
|
||||
LANGUAGE_SIIK = 1,
|
||||
LANGUAGE_AKHANI = 1,
|
||||
LANGUAGE_SKRELLIAN = 1,
|
||||
LANGUAGE_SKRELLIANFAR = 0,
|
||||
LANGUAGE_ROOTLOCAL = 0,
|
||||
LANGUAGE_TRADEBAND = 1,
|
||||
LANGUAGE_GUTTER = 0,
|
||||
LANGUAGE_SCHECHI = 1,
|
||||
LANGUAGE_EAL = 1,
|
||||
LANGUAGE_TERMINUS = 1,
|
||||
LANGUAGE_SIGN = 0
|
||||
)
|
||||
|
||||
/obj/item/robot_module/robot/booze
|
||||
sprites = list(
|
||||
"Beer Buddy" = "boozeborg",
|
||||
"Brilliant Blue" = "boozeborg(blue)",
|
||||
"Caffine Dispenser" = "boozeborg(coffee)",
|
||||
"Gamer Juice Maker" = "boozeborg(green)",
|
||||
"Liqour Licker" = "boozeborg(orange)",
|
||||
"The Grapist" = "boozeborg(purple)",
|
||||
"Vampire's Aid" = "boozeborg(red)",
|
||||
"Vodka Komrade" = "boozeborg(vodka)"
|
||||
)
|
||||
/obj/item/robot_module/robot/booze/New(var/mob/living/silicon/robot/R)
|
||||
src.modules += new /obj/item/gripper/service(src)
|
||||
//src.modules += new /obj/item/reagent_containers/glass/bucket(src)
|
||||
//src.modules += new /obj/item/material/minihoe(src)
|
||||
//src.modules += new /obj/item/analyzer/plant_analyzer(src)
|
||||
//src.modules += new /obj/item/storage/bag/plants(src)
|
||||
//src.modules += new /obj/item/robot_harvester(src)
|
||||
src.modules += new /obj/item/material/knife(src)
|
||||
src.modules += new /obj/item/material/kitchen/rollingpin(src)
|
||||
src.modules += new /obj/item/multitool(src) //to freeze trays
|
||||
src.modules += new /obj/item/dogborg/jaws/small(src)
|
||||
src.modules += new /obj/item/dogborg/boop_module(src)
|
||||
src.modules += new /obj/item/dogborg/sleeper/compactor/brewer(src)
|
||||
src.modules += new /obj/item/reagent_containers/glass/beaker(src)//For holding the ALCOHOL
|
||||
src.emag = new /obj/item/dogborg/pounce(src)
|
||||
add_verb(R,/mob/living/silicon/robot/proc/reskin_booze)
|
||||
|
||||
var/obj/item/rsf/M = new /obj/item/rsf(src)
|
||||
M.stored_matter = 30
|
||||
src.modules += M
|
||||
|
||||
src.modules += new /obj/item/reagent_containers/dropper/industrial(src)
|
||||
|
||||
/* Remembered this causes the dogs to catch on fire lol.
|
||||
var/obj/item/flame/lighter/zippo/L = new /obj/item/flame/lighter/zippo(src)
|
||||
L.lit = 1
|
||||
src.modules += L
|
||||
*/
|
||||
|
||||
var/datum/matter_synth/water = new /datum/matter_synth()
|
||||
water.name = "Water reserves"
|
||||
water.recharge_rate = 0.1 // Recharging water for plants - hehe drooly borg
|
||||
water.max_energy = 1000
|
||||
water.energy = 0
|
||||
R.water_res = water
|
||||
synths += water
|
||||
|
||||
var/obj/item/dogborg/tongue/T = new /obj/item/dogborg/tongue(src)
|
||||
T.water = water
|
||||
src.modules += T
|
||||
|
||||
|
||||
src.modules += new /obj/item/tray/robotray(src)
|
||||
src.modules += new /obj/item/reagent_containers/borghypo/service/booze(src)
|
||||
src.emag = new /obj/item/reagent_containers/food/drinks/bottle/small/beer(src)
|
||||
|
||||
var/datum/reagents/N = new/datum/reagents(50)
|
||||
src.emag.reagents = N
|
||||
N.my_atom = src.emag
|
||||
N.add_reagent("beer2", 50)
|
||||
src.emag.name = "Mickey Finn's Special Brew"
|
||||
|
||||
R.can_buckle = 1
|
||||
R.icon = 'icons/mob/widerobot_colors_ch.dmi'
|
||||
R.wideborg_dept = 'icons/mob/widerobot_colors_ch.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.vore_capacity = 1
|
||||
R.vore_capacity_ex = list("stomach" = 1)
|
||||
R.wideborg = TRUE
|
||||
add_verb(R,/mob/living/silicon/robot/proc/ex_reserve_refill) //TGPanel
|
||||
..()
|
||||
|
||||
/obj/item/robot_module/robot/booze/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
|
||||
var/obj/item/reagent_containers/food/condiment/enzyme/E = locate() in src.modules
|
||||
E.reagents.add_reagent("enzyme", 2 * amount)
|
||||
if(src.emag)
|
||||
var/obj/item/reagent_containers/food/drinks/bottle/small/beer/B = src.emag
|
||||
B.reagents.add_reagent("beer2", 2 * amount)
|
||||
|
||||
//BORGHYPO
|
||||
/obj/item/reagent_containers/borghypo/service/booze
|
||||
name = "cyborg drink synthesizer"
|
||||
desc = "A portable drink dispencer."
|
||||
icon = 'icons/obj/drinks.dmi'
|
||||
icon_state = "shaker"
|
||||
charge_cost = 20
|
||||
recharge_time = 3
|
||||
volume = 120
|
||||
possible_transfer_amounts = list(1 ,5, 10, 20, 30)
|
||||
|
||||
//Resking proc for boozos
|
||||
|
||||
/mob/living/silicon/robot/proc/reskin_booze()
|
||||
set name = "Change Drink Color"
|
||||
set category = "Abilities.Silicon" //TGPanel
|
||||
set desc = "Choose the color of drink displayed inside you."
|
||||
|
||||
var/mob/M = usr
|
||||
var/list/options = list()
|
||||
options["Beer"] = "Beer Buddy"
|
||||
options["Curacao"] = "Brilliant Blue"
|
||||
options["Coffee"] = "Caffine Dispenser"
|
||||
options["Space Mountain Wind"] = "Gamer Juice Maker"
|
||||
options["Whiskey Soda"] = "Liqour Licker"
|
||||
options["Grape Soda"] = "The Grapist"
|
||||
options["Demon's Blood"] = "Vampire's Aid"
|
||||
options["Slav Vodka"] = "Vodka Komrade"
|
||||
var/choice = input(M,"Choose your drink!") in options
|
||||
if(src && choice && !M.stat && in_range(M,src))
|
||||
icontype = options[choice]
|
||||
var/active_sound = 'sound/effects/bubbles.ogg'
|
||||
playsound(src.loc, "[active_sound]", 100, 0, 4)
|
||||
M << "Your Tank now displays [choice]. Drink up and enjoy!"
|
||||
updateicon()
|
||||
return 1
|
||||
|
||||
//SLEEPER "Brewer"
|
||||
/obj/item/dogborg/sleeper/compactor/brewer //Boozehound gut.
|
||||
name = "Brew Belly"
|
||||
desc = "A mounted drunk tank unit with fuel processor."
|
||||
icon_state = "brewer"
|
||||
injection_chems = list(REAGENT_ID_VODKA,REAGENT_ID_BEER,REAGENT_ID_GIN) //Injected alcohol is 3 times as strong
|
||||
max_item_count = 1
|
||||
|
||||
/obj/item/dogborg/sleeper/compactor/brewer/inject_chem(mob/user, chem)
|
||||
if(patient && patient.reagents)
|
||||
if(chem in injection_chems + REAGENT_ID_INAPROVALINE)
|
||||
if(hound.cell.charge < 200) //This is so borgs don't kill themselves with it.
|
||||
to_chat(hound, span_notice("You don't have enough power to synthesize fluids."))
|
||||
return
|
||||
else if(patient.reagents.get_reagent_amount(chem) + 10 >= 50) //Preventing people from accidentally killing themselves by trying to inject too many chemicals!
|
||||
to_chat(hound, span_notice("Your stomach is currently too full of fluids to secrete more fluids of this kind."))
|
||||
else if(patient.reagents.get_reagent_amount(chem) + 10 <= 50) //No overdoses for you
|
||||
patient.reagents.add_reagent(chem, inject_amount)
|
||||
drain(100) //-100 charge per injection
|
||||
var/units = round(patient.reagents.get_reagent_amount(chem))
|
||||
to_chat(hound, span_notice("Injecting [units] unit\s into occupant.")) //If they were immersed, the reagents wouldn't leave with them.
|
||||
@@ -1,8 +1,9 @@
|
||||
/* //Uncomment the exploration modules in code\global.dm
|
||||
/hook/startup/proc/Modular_Borg_init_Exploration()
|
||||
robot_modules["Exploration"] = /obj/item/robot_module/robot/exploration //add to array
|
||||
robot_module_types += "Exploration" //Add to global list
|
||||
return 1
|
||||
|
||||
*/
|
||||
//Explo doggos
|
||||
/obj/item/robot_module/robot/exploration
|
||||
name = "exploration robot module"
|
||||
@@ -1,6 +1,6 @@
|
||||
/datum/robot_sprite/dogborg/explorer
|
||||
module_type = "Exploration"
|
||||
sprite_icon = 'modular_chomp/icons/mob/widerobot_exp_ch.dmi'
|
||||
sprite_icon = 'icons/mob/robot/widerobot/widerobot_exp.dmi'
|
||||
sprite_hud_icon_state = "platform"
|
||||
|
||||
/datum/robot_sprite/dogborg/explorer/vale2
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/explorer/dullahan
|
||||
module_type = "Exploration"
|
||||
sprite_icon = 'modular_chomp/icons/mob/dullahanborg/dullahan_explorer.dmi'
|
||||
sprite_icon = 'icons/mob/robot/dullahan/v1/dullahan_explorer.dmi'
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/tall/explorer/dullahan/explorer
|
||||
@@ -35,12 +35,12 @@
|
||||
/* placeholder
|
||||
/datum/robot_sprite/dogborg/tall/explorer
|
||||
module_type = "Exploration"
|
||||
sprite_icon = 'modular_chomp/icons/mob/tallborg/tallrobots.dmi'
|
||||
sprite_icon = 'icons/mob/robot/tallrobot/tallrobots.dmi'
|
||||
pixel_x = 0
|
||||
|
||||
/datum/robot_sprite/dogborg/raptor/explorer
|
||||
module_type = "Exploration"
|
||||
sprite_icon = 'modular_chomp/icons/mob/raptorborg/raptor_ch.dmi'
|
||||
sprite_icon = 'icons/mob/robot/raptor.dmi'
|
||||
|
||||
/datum/robot_sprite/dogborg/raptor/explorer/raptor
|
||||
name = "Raptor"
|
||||
@@ -70,6 +70,10 @@
|
||||
name = "Party Cannon"
|
||||
desc = "Confetti, pies, banana peels, chaos!"
|
||||
|
||||
/obj/item/gun/launcher/confetti_cannon/robot
|
||||
name = "Party Cannon"
|
||||
desc = "Confetti, pies, banana peels, chaos!"
|
||||
|
||||
/obj/item/gun/launcher/confetti_cannon/robot/pump(mob/user)
|
||||
playsound(user, 'sound/weapons/shotgunpump.ogg', 60, 1)
|
||||
if(!chambered)
|
||||
|
||||
189
code/unit_tests/robot_tests.dm
Normal file
@@ -0,0 +1,189 @@
|
||||
/datum/unit_test/all_robot_sprites_must_be_valid
|
||||
name = "ROBOTS: Robot sprites must be valid"
|
||||
var/signal_failed = FALSE
|
||||
|
||||
/datum/unit_test/all_robot_sprites_must_be_valid/start_test()
|
||||
var/failed = 0
|
||||
|
||||
for(var/sprite in subtypesof(/datum/robot_sprite))
|
||||
var/datum/robot_sprite/RS = new sprite()
|
||||
if(!RS.name) // Parent type, ignore me
|
||||
continue
|
||||
|
||||
var/list/checks = list(
|
||||
"[ROBOT_HAS_SPEED_SPRITE]" = "-roll",
|
||||
"[ROBOT_HAS_SHIELD_SPRITE]" = "-shield",
|
||||
"[ROBOT_HAS_SHIELD_SPEED_SPRITE]" = "-speed_shield",
|
||||
"[ROBOT_HAS_MELEE_SPRITE]" = "-melee",
|
||||
"[ROBOT_HAS_DAGGER_SPRITE]" = "-dagger",
|
||||
"[ROBOT_HAS_BLADE_SPRITE]" = "-blade",
|
||||
"[ROBOT_HAS_GUN_SPRITE]" = "-gun",
|
||||
"[ROBOT_HAS_LASER_SPRITE]" = "-laser",
|
||||
"[ROBOT_HAS_TASER_SPRITE]" = "-taser",
|
||||
"[ROBOT_HAS_DISABLER_SPRITE]" = "-disabler"
|
||||
)
|
||||
for(var/C in checks)
|
||||
if(RS.sprite_flag_check(text2num(C)))
|
||||
if(check_state(RS,checks[C]))
|
||||
failed = TRUE
|
||||
// eyes, lights, markings
|
||||
if(RS.has_eye_sprites)
|
||||
if(check_state(RS,"-eyes"))
|
||||
failed = TRUE
|
||||
if(RS.has_eye_light_sprites)
|
||||
if(check_state(RS,"-lights"))
|
||||
failed = TRUE
|
||||
if(LAZYLEN(RS.sprite_decals))
|
||||
for(var/decal in RS.sprite_decals)
|
||||
if(check_state(RS,"-[decal]"))
|
||||
failed = TRUE
|
||||
// Control panel
|
||||
if(RS.has_custom_open_sprites)
|
||||
if(check_state(RS,"-openpanel_nc"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-openpanel_c"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-openpanel_w"))
|
||||
failed = TRUE
|
||||
// Bellies
|
||||
if(RS.has_vore_belly_sprites && !RS.belly_capacity_list)
|
||||
if(RS.has_sleeper_light_indicator)
|
||||
// belly r/g light
|
||||
if(check_state(RS,"-sleeper-r"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-sleeper-g"))
|
||||
failed = TRUE
|
||||
if(RS.has_vore_belly_resting_sprites)
|
||||
for(var/rest_style in RS.rest_sprite_options)
|
||||
rest_style = lowertext(rest_style)
|
||||
if(rest_style == "Default")
|
||||
rest_style = "rest"
|
||||
if(check_state(RS,"-sleeper-r-[rest_style]"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-sleeper-g-[rest_style]"))
|
||||
failed = TRUE
|
||||
// struggling
|
||||
if(RS.has_vore_struggle_sprite)
|
||||
if(check_state(RS,"-sleeper-r-struggle"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-sleeper-g-struggle"))
|
||||
failed = TRUE
|
||||
if(RS.has_vore_belly_resting_sprites)
|
||||
for(var/rest_style in RS.rest_sprite_options)
|
||||
rest_style = lowertext(rest_style)
|
||||
if(rest_style == "Default")
|
||||
rest_style = "rest"
|
||||
if(check_state(RS,"-sleeper-r-[rest_style]-struggle"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-sleeper-g-[rest_style]-struggle"))
|
||||
failed = TRUE
|
||||
else
|
||||
// belly
|
||||
if(check_state(RS,"-sleeper"))
|
||||
failed = TRUE
|
||||
if(RS.has_vore_belly_resting_sprites)
|
||||
for(var/rest_style in RS.rest_sprite_options)
|
||||
rest_style = lowertext(rest_style)
|
||||
if(rest_style == "Default")
|
||||
rest_style = "rest"
|
||||
if(check_state(RS,"-sleeper-[rest_style]"))
|
||||
failed = TRUE
|
||||
// struggling
|
||||
if(RS.has_vore_struggle_sprite)
|
||||
if(check_state(RS,"-sleeper-struggle"))
|
||||
failed = TRUE
|
||||
if(RS.has_vore_belly_resting_sprites)
|
||||
for(var/rest_style in RS.rest_sprite_options)
|
||||
rest_style = lowertext(rest_style)
|
||||
if(rest_style == "Default")
|
||||
rest_style = "rest"
|
||||
if(check_state(RS,"-sleeper-[rest_style]-struggle"))
|
||||
failed = TRUE
|
||||
else if (RS.belly_capacity_list)
|
||||
for(var/belly in RS.belly_capacity_list)
|
||||
for(var/num = 1 to RS.belly_capacity_list[belly])
|
||||
// big belly
|
||||
if(check_state(RS,"-[belly]-[num]"))
|
||||
failed = TRUE
|
||||
if(RS.has_vore_belly_resting_sprites)
|
||||
for(var/rest_style in RS.rest_sprite_options)
|
||||
rest_style = lowertext(rest_style)
|
||||
if(rest_style == "Default")
|
||||
rest_style = "rest"
|
||||
if(check_state(RS,"-[belly]-[num]-[rest_style]"))
|
||||
failed = TRUE
|
||||
// struggling
|
||||
if(RS.has_vore_struggle_sprite)
|
||||
if(check_state(RS,"-[belly]-[num]-struggle"))
|
||||
failed = TRUE
|
||||
if(RS.has_vore_belly_resting_sprites)
|
||||
for(var/rest_style in RS.rest_sprite_options)
|
||||
rest_style = lowertext(rest_style)
|
||||
if(rest_style == "Default")
|
||||
rest_style = "rest"
|
||||
if(check_state(RS,"-[belly]-[num]-[rest_style]-struggle"))
|
||||
failed = TRUE
|
||||
if(RS.belly_light_list)
|
||||
for(var/belly in RS.belly_light_list)
|
||||
for(var/num = 1 to RS.belly_light_list[belly])
|
||||
// multi belly r/g light
|
||||
if(check_state(RS,"-[belly]-[num]-r"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-[belly]-[num]-g"))
|
||||
failed = TRUE
|
||||
if(RS.has_vore_belly_resting_sprites)
|
||||
for(var/rest_style in RS.rest_sprite_options)
|
||||
rest_style = lowertext(rest_style)
|
||||
if(rest_style == "Default")
|
||||
rest_style = "rest"
|
||||
if(check_state(RS,"-[belly]-[num]-r-[rest_style]"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-[belly]-[num]-g-[rest_style]"))
|
||||
failed = TRUE
|
||||
// struggling
|
||||
if(RS.has_vore_struggle_sprite)
|
||||
if(check_state(RS,"-[belly]-[num]-r-struggle"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-[belly]-[num]-g-struggle"))
|
||||
failed = TRUE
|
||||
if(RS.has_vore_belly_resting_sprites)
|
||||
for(var/rest_style in RS.rest_sprite_options)
|
||||
rest_style = lowertext(rest_style)
|
||||
if(rest_style == "Default")
|
||||
rest_style = "rest"
|
||||
if(check_state(RS,"-[belly]-[num]-r-[rest_style]-struggle"))
|
||||
failed = TRUE
|
||||
if(check_state(RS,"-[belly]-[num]-g-[rest_style]-struggle"))
|
||||
failed = TRUE
|
||||
// reseting
|
||||
if(RS.rest_sprite_options in list("Sit"))
|
||||
if(check_state(RS,"-sit"))
|
||||
failed = TRUE
|
||||
if(RS.rest_sprite_options in list("Default"))
|
||||
if(check_state(RS,"-rest"))
|
||||
failed = TRUE
|
||||
if(RS.rest_sprite_options in list("Bellyup"))
|
||||
if(check_state(RS,"-bellyup"))
|
||||
failed = TRUE
|
||||
// death
|
||||
if(RS.has_dead_sprite)
|
||||
if(check_state(RS,"-wreck"))
|
||||
failed = TRUE
|
||||
if(RS.has_dead_sprite_overlay) // Only one per dmi
|
||||
if(!("wreck-overlay" in cached_icon_states(RS.sprite_icon)))
|
||||
log_unit_test("[RS.type]: Robots - Robot sprite \"[RS.name]\", had wreck-overlay state enabled, but was missing icon_state wreck-overlay, in dmi \"[RS.sprite_icon]\".")
|
||||
failed = TRUE
|
||||
qdel(RS)
|
||||
|
||||
if(failed)
|
||||
fail("One or more /datum/robot_sprite items had invalid flags or icons")
|
||||
else
|
||||
pass("All /datum/robot_sprite are valid.")
|
||||
return 1
|
||||
|
||||
/datum/unit_test/all_robot_sprites_must_be_valid/proc/check_state(var/datum/robot_sprite/RS,var/append)
|
||||
var/check_state = "[RS.sprite_icon_state][append]"
|
||||
if(!(check_state in cached_icon_states(RS.sprite_icon)))
|
||||
log_unit_test("[RS.type]: Robots - Robot sprite \"[RS.name]\", had [append] state enabled, but was missing icon_state \"[check_state]\", in dmi \"[RS.sprite_icon]\".")
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 342 KiB After Width: | Height: | Size: 342 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
BIN
icons/mob/robot/dullahan/v1/dullahan_mine.dmi
Normal file
|
After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 296 B After Width: | Height: | Size: 296 B |
|
Before Width: | Height: | Size: 428 B After Width: | Height: | Size: 428 B |
BIN
icons/mob/robot/dullahan/v3/barista.dmi
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/mob/robot/dullahan/v3/coffee.dmi
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/mob/robot/dullahan/v3/command.dmi
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
icons/mob/robot/dullahan/v3/engineer.dmi
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
icons/mob/robot/dullahan/v3/janitor.dmi
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/mob/robot/dullahan/v3/mechanist.dmi
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/mob/robot/dullahan/v3/medical.dmi
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/mob/robot/dullahan/v3/mining.dmi
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
icons/mob/robot/dullahan/v3/miscinnfo/dullahan assets.dmi
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
BIN
icons/mob/robot/dullahan/v3/ninja.dmi
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
icons/mob/robot/dullahan/v3/science.dmi
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/mob/robot/dullahan/v3/security.dmi
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
icons/mob/robot/dullahan/v3/service.dmi
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/mob/robot/dullahan/v3/standard.dmi
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/mob/robot/dullahan/v3/syndi.dmi
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 318 KiB After Width: | Height: | Size: 318 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 40 KiB |
BIN
icons/mob/robot/possumborg.dmi
Normal file
|
After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |