Dogborg sword colorization (#17854)

* Dogborg swords show up properly colorized

* nl

* Update cyborg.dm

* dagger a child of blade

* dagger

* Update cyborg.dm

* Update cyborg.dm

* Blades
This commit is contained in:
Cameron Lennox
2025-06-14 03:03:18 -07:00
committed by GitHub
parent 9bdd9d5e7b
commit ecc11796da
5 changed files with 59 additions and 17 deletions
@@ -843,7 +843,7 @@ var/global/list/robot_modules = list(
src.modules += new /obj/item/gun/energy/robotic/laser/rifle(src)
src.modules += new /obj/item/gun/energy/robotic/disabler(src)
src.modules += new /obj/item/pickaxe/plasmacutter/borg(src)
src.modules += new /obj/item/melee/robotic/dagger(src)
src.modules += new /obj/item/melee/robotic/blade/dagger(src)
src.modules += new /obj/item/borg/combat/shield(src)
src.modules += new /obj/item/borg/combat/mobility(src)
src.modules += new /obj/item/melee/robotic/borg_combat_shocker(src)
@@ -24,7 +24,7 @@
/obj/item/robot_module/robot/syndicate/create_equipment(var/mob/living/silicon/robot/robot)
..()
src.modules += new /obj/item/pinpointer/shuttle/merc(src)
src.modules += new /obj/item/melee/robotic/blade(src)
src.modules += new /obj/item/melee/robotic/blade/syndicate(src)
var/datum/matter_synth/cloth = new /datum/matter_synth/cloth(40000)
synths += cloth
@@ -94,7 +94,7 @@
..()
var/obj/item/melee/robotic/dagger/CBB = locate() in module.modules
var/obj/item/melee/robotic/blade/dagger/CBB = locate() in module.modules
if(CBB)
CBB.name = "sword tail"
CBB.desc = "A glowing dagger normally attached to the end of a cyborg's tail. It appears to be extremely sharp."
+56 -14
View File
@@ -263,7 +263,7 @@
borg_flags = COUNTS_AS_ROBOTIC_MELEE | COUNTS_AS_ROBOT_BLADE
icon = 'icons/mob/dogborg_vr.dmi'
icon_state = "swordtail"
force = 35 //Takes 3 hits to 100-0
force = 0
armor_penetration = 70
sharp = TRUE
edge = TRUE
@@ -271,21 +271,63 @@
hitsound = 'sound/weapons/blade1.ogg'
attack_verb = list("slashed", "stabbed", "jabbed", "mauled", "sliced")
w_class = ITEMSIZE_NORMAL
var/active_force = 35
var/active = 0 //Off by default.
var/lcolor = "#38e541"
/obj/item/melee/robotic/dagger //For downstreams that use dagger
/obj/item/melee/robotic/blade/attack_self(mob/user)
if(active) //turning off
playsound(src, 'sound/weapons/saberoff.ogg', 50, 1)
force = 0
else //turning on
playsound(src, 'sound/weapons/saberon.ogg', 50, 1)
force = active_force
active = !active
to_chat(user, span_notice("[src] is now [active ? "on" : "off"]."))
update_icon()
/obj/item/melee/robotic/blade/update_icon()
cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other
if(active)
var/mutable_appearance/blade_overlay = mutable_appearance(icon, "[icon_state]_blade")
blade_overlay.color = lcolor
add_overlay(blade_overlay)
set_light(2, 1, lcolor)
else
set_light(0)
/obj/item/melee/robotic/blade/AltClick(mob/living/user)
if(!in_range(src, user)) //Basic checks to prevent abuse
return
if(user.incapacitated() || !istype(user))
to_chat(user, span_warning("You can't do that right now!"))
return
if(tgui_alert(user, "Are you sure you want to recolor your blade?", "Confirm Recolor", list("Yes", "No")) == "Yes")
var/energy_color_input = tgui_color_picker(user,"","Choose Energy Color",lcolor)
if(energy_color_input)
lcolor = sanitize_hexcolor(energy_color_input)
update_icon()
/obj/item/melee/robotic/blade/examine(mob/user)
. = ..()
. += span_notice("Alt-click to recolor it.")
///Syndicate version. Just had a red glow.
/obj/item/melee/robotic/blade/syndicate
lcolor = "#ff0000"
///Ninja version. Has more damage and 100% armor pen, along with parry chance.
/obj/item/melee/robotic/blade/ninja
lcolor = "#38e541"
active_force = 40
armor_penetration = 100
projectile_parry_chance = 60
/obj/item/melee/robotic/blade/dagger //For downstreams that use dagger
name = "Robotic Dagger"
desc = "A glowing dagger. It appears to be extremely sharp."
borg_flags = COUNTS_AS_ROBOTIC_MELEE | COUNTS_AS_ROBOT_DAGGER
icon = 'icons/mob/dogborg_vr.dmi'
icon_state = "swordtail"
force = 35 //Takes 3 hits to 100-0
armor_penetration = 70
sharp = TRUE
edge = TRUE
throwforce = 0 //This shouldn't be thrown in the first place.
hitsound = 'sound/weapons/blade1.ogg'
attack_verb = list("slashed", "stabbed", "jabbed", "mauled", "sliced")
w_class = ITEMSIZE_NORMAL
/obj/item/melee/robotic/blade/ionic
name = "ionic rapier"
@@ -329,7 +371,7 @@
name = "stunbaton"
desc = "A stun baton for incapacitating people with."
icon = 'icons/obj/weapons.dmi'
icon_state = "stunbaton_active"
icon_state = "stunbaton"
item_state = "baton"
slot_flags = SLOT_BELT
force = 15
@@ -344,7 +386,7 @@
var/stunforce = 0
var/agonyforce = 60
var/hitcost = 500
var/status = 1 //On by default.
var/status = 0 //Off by default.
var/lightcolor = "#FF6A00"
borg_flags = COUNTS_AS_ROBOTIC_MELEE