diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm index d24199a32e..f5fdd3d496 100644 --- a/_maps/RandomZLevels/spacebattle.dmm +++ b/_maps/RandomZLevels/spacebattle.dmm @@ -384,7 +384,7 @@ /area/awaymission/spacebattle/syndicate3) "bt" = ( /obj/structure/table/reinforced, -/obj/item/weapon/melee/energy/sword/saber/red, +/obj/item/weapon/melee/transforming/energy/sword/saber/red, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) "bu" = ( @@ -1479,7 +1479,7 @@ /area/awaymission/spacebattle/cruiser) "eW" = ( /obj/effect/mob_spawn/human/syndicatesoldier, -/obj/item/weapon/melee/energy/sword/saber/red, +/obj/item/weapon/melee/transforming/energy/sword/saber/red, /obj/effect/decal/cleanable/blood, /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) diff --git a/_maps/map_files/generic/Centcomm.dmm b/_maps/map_files/generic/Centcomm.dmm index 660ee9a6e4..8d30e887a9 100644 --- a/_maps/map_files/generic/Centcomm.dmm +++ b/_maps/map_files/generic/Centcomm.dmm @@ -2099,7 +2099,7 @@ /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, /obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/saber/red, +/obj/item/weapon/melee/transforming/energy/sword/saber/red, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -2136,7 +2136,7 @@ /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, /obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/saber/green, +/obj/item/weapon/melee/transforming/energy/sword/saber/green, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -11705,7 +11705,7 @@ /obj/item/clothing/suit/armor/tdome/red, /obj/item/clothing/head/helmet/thunderdome, /obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/saber/red, +/obj/item/weapon/melee/transforming/energy/sword/saber/red, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -11825,7 +11825,7 @@ /obj/item/clothing/suit/armor/tdome/green, /obj/item/clothing/head/helmet/thunderdome, /obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword/saber/green, +/obj/item/weapon/melee/transforming/energy/sword/saber/green, /obj/effect/turf_decal/stripes/line{ dir = 8 }, diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 3b3a871269..af127e9450 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -237,7 +237,7 @@ w_class = WEIGHT_CLASS_SMALL add_fingerprint(user) -// Copied from /obj/item/weapon/melee/energy/sword/attackby +// Copied from /obj/item/weapon/melee/transforming/energy/sword/attackby /obj/item/toy/sword/attackby(obj/item/weapon/W, mob/living/user, params) if(istype(W, /obj/item/toy/sword)) if((W.flags & NODROP) || (flags & NODROP)) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index d7dc87b196..f366704e50 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -1,46 +1,63 @@ -/obj/item/weapon/melee/energy - var/active = 0 - var/force_on = 30 //force when active - var/throwforce_on = 20 - var/icon_state_on = "axe1" - var/list/attack_verb_on = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - var/list/possible_colors - w_class = WEIGHT_CLASS_SMALL - sharpness = IS_SHARP - var/w_class_on = WEIGHT_CLASS_BULKY +/obj/item/weapon/melee/transforming/energy + hitsound_on = 'sound/weapons/blade1.ogg' heat = 3500 max_integrity = 200 armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 30) resistance_flags = FIRE_PROOF var/brightness_on = 3 -/obj/item/weapon/melee/energy/Initialize() +/obj/item/weapon/melee/transforming/energy/Initialize() . = ..() - if(LAZYLEN(possible_colors)) - item_color = pick(possible_colors) - switch(item_color)//Only run this check if the color was picked randomly, so that colors can be manually set for non-random colored energy weapons. - if("red") - light_color = LIGHT_COLOR_RED - if("green") - light_color = LIGHT_COLOR_GREEN - if("blue") - light_color = LIGHT_COLOR_LIGHT_CYAN - if("purple") - light_color = LIGHT_COLOR_LAVENDER if(active) set_light(brightness_on) + START_PROCESSING(SSobj, src) -/obj/item/weapon/melee/energy/suicide_act(mob/user) +/obj/item/weapon/melee/transforming/energy/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/item/weapon/melee/transforming/energy/suicide_act(mob/user) user.visible_message("[user] is [pick("slitting [user.p_their()] stomach open with", "falling on")] [src]! It looks like [user.p_theyre()] trying to commit seppuku!") return (BRUTELOSS|FIRELOSS) -/obj/item/weapon/melee/energy/add_blood(list/blood_dna) +/obj/item/weapon/melee/transforming/energy/add_blood(list/blood_dna) return 0 -/obj/item/weapon/melee/energy/is_sharp() +/obj/item/weapon/melee/transforming/energy/is_sharp() return active * sharpness -/obj/item/weapon/melee/energy/axe +/obj/item/weapon/melee/transforming/energy/process() + open_flame() + +/obj/item/weapon/melee/transforming/energy/transform_weapon(mob/living/user, supress_message_text) + . = ..() + if(.) + if(active) + if(item_color) + icon_state = "sword[item_color]" + START_PROCESSING(SSobj, src) + set_light(brightness_on) + else + STOP_PROCESSING(SSobj, src) + set_light(0) + +/obj/item/weapon/melee/transforming/energy/is_hot() + return active * heat + +/obj/item/weapon/melee/transforming/energy/ignition_effect(atom/A, mob/user) + if(!active) + return "" + + var/in_mouth = "" + if(iscarbon(user)) + var/mob/living/carbon/C = user + if(C.wear_mask == src) + in_mouth = ", barely missing their nose" + . = "[user] swings their [src][in_mouth]. They light [A] in the process." + playsound(loc, hitsound, get_clamped_volume(), 1, -1) + add_fingerprint(user) + +/obj/item/weapon/melee/transforming/energy/axe name = "energy axe" desc = "An energized battle axe." icon_state = "axe0" @@ -56,21 +73,22 @@ flags = CONDUCT armour_penetration = 100 origin_tech = "combat=4;magnets=3" - attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") + attack_verb_off = list("attacked", "chopped", "cleaved", "torn", "cut") attack_verb_on = list() light_color = "#40ceff" -/obj/item/weapon/melee/energy/axe/suicide_act(mob/user) +/obj/item/weapon/melee/transforming/energy/axe/suicide_act(mob/user) user.visible_message("[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!") return (BRUTELOSS|FIRELOSS) -/obj/item/weapon/melee/energy/sword +/obj/item/weapon/melee/transforming/energy/sword name = "energy sword" desc = "May the force be within you." icon_state = "sword0" force = 3 throwforce = 5 hitsound = "swing_hit" //it starts deactivated + attack_verb_off = list("tapped", "poked") throw_speed = 3 throw_range = 5 sharpness = IS_SHARP @@ -79,93 +97,30 @@ armour_penetration = 35 origin_tech = "combat=3;magnets=4;syndicate=4" block_chance = 50 - possible_colors = list("red", "blue", "green", "purple") - var/hacked = FALSE -/obj/item/weapon/melee/energy/sword/Destroy() - STOP_PROCESSING(SSobj, src) +/obj/item/weapon/melee/transforming/energy/sword/transform_weapon(mob/living/user, supress_message_text) . = ..() + if(. && active && item_color) + icon_state = "sword[item_color]" -/obj/item/weapon/melee/energy/sword/process() - if(active) - if(hacked) - light_color = pick(LIGHT_COLOR_RED, LIGHT_COLOR_GREEN, LIGHT_COLOR_LIGHT_CYAN, LIGHT_COLOR_LAVENDER) - open_flame() - else - STOP_PROCESSING(SSobj, src) - -/obj/item/weapon/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) +/obj/item/weapon/melee/transforming/energy/sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(active) return ..() return 0 -/obj/item/weapon/melee/energy/attack_self(mob/living/carbon/user) - if(user.disabilities & CLUMSY && prob(50)) - to_chat(user, "You accidentally cut yourself with [src], like a doofus!") - user.take_bodypart_damage(5,5) - active = !active - if (active) - force = force_on - throwforce = throwforce_on - hitsound = 'sound/weapons/blade1.ogg' - throw_speed = 4 - if(attack_verb_on.len) - attack_verb = attack_verb_on - if(!item_color) - icon_state = icon_state_on - else - icon_state = "sword[item_color]" - w_class = w_class_on - playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness - to_chat(user, "[src] is now active.") - START_PROCESSING(SSobj, src) - set_light(brightness_on) - else - force = initial(force) - throwforce = initial(throwforce) - hitsound = initial(hitsound) - throw_speed = initial(throw_speed) - if(attack_verb_on.len) - attack_verb = list() - icon_state = initial(icon_state) - w_class = initial(w_class) - playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness - to_chat(user, "[src] can now be concealed.") - STOP_PROCESSING(SSobj, src) - set_light(0) - add_fingerprint(user) - -/obj/item/weapon/melee/energy/is_hot() - return active * heat - -/obj/item/weapon/melee/energy/ignition_effect(atom/A, mob/user) - if(!active) - return "" - - var/in_mouth = "" - if(iscarbon(user)) - var/mob/living/carbon/C = user - if(C.wear_mask == src) - in_mouth = ", barely missing their nose" - . = "[user] swings their \ - [src][in_mouth]. They light [A] in the process." - playsound(loc, hitsound, get_clamped_volume(), 1, -1) - add_fingerprint(user) - -/obj/item/weapon/melee/energy/sword/cyborg +/obj/item/weapon/melee/transforming/energy/sword/cyborg var/hitcost = 50 -/obj/item/weapon/melee/energy/sword/cyborg/attack(mob/M, var/mob/living/silicon/robot/R) +/obj/item/weapon/melee/transforming/energy/sword/cyborg/attack(mob/M, var/mob/living/silicon/robot/R) if(R.cell) var/obj/item/weapon/stock_parts/cell/C = R.cell if(active && !(C.use(hitcost))) attack_self(R) to_chat(R, "It's out of charge!") return - ..() - return + return ..() -/obj/item/weapon/melee/energy/sword/cyborg/saw //Used by medical Syndicate cyborgs +/obj/item/weapon/melee/transforming/energy/sword/cyborg/saw //Used by medical Syndicate cyborgs name = "energy saw" desc = "For heavy duty cutting. It has a carbon-fiber blade in addition to a toggleable hard-light edge to dramatically increase sharpness." icon_state = "esaw" @@ -176,36 +131,44 @@ icon_state = "esaw_0" icon_state_on = "esaw_1" hitcost = 75 //Costs more than a standard cyborg esword - item_color = null w_class = WEIGHT_CLASS_NORMAL sharpness = IS_SHARP light_color = "#40ceff" - possible_colors = null -/obj/item/weapon/melee/energy/sword/cyborg/saw/Initialize() - . = ..() - icon_state = "esaw_0" - item_color = null - -/obj/item/weapon/melee/energy/sword/cyborg/saw/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) +/obj/item/weapon/melee/transforming/energy/sword/cyborg/saw/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) return 0 -/obj/item/weapon/melee/energy/sword/saber +/obj/item/weapon/melee/transforming/energy/sword/saber + var/list/possible_colors = list("red" = LIGHT_COLOR_RED, "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER) + var/hacked = FALSE -/obj/item/weapon/melee/energy/sword/saber/blue - possible_colors = list("blue") +/obj/item/weapon/melee/transforming/energy/sword/saber/Initialize(mapload) + . = ..() + if(LAZYLEN(possible_colors)) + var/set_color = pick(possible_colors) + item_color = set_color + light_color = possible_colors[set_color] -/obj/item/weapon/melee/energy/sword/saber/purple - possible_colors = list("purple") +/obj/item/weapon/melee/transforming/energy/sword/saber/process() + . = ..() + if(hacked) + var/set_color = pick(possible_colors) + light_color = possible_colors[set_color] + update_light() -/obj/item/weapon/melee/energy/sword/saber/green - possible_colors = list("green") +/obj/item/weapon/melee/transforming/energy/sword/saber/red + possible_colors = list("red" = LIGHT_COLOR_RED) -/obj/item/weapon/melee/energy/sword/saber/red - possible_colors = list("red") +/obj/item/weapon/melee/transforming/energy/sword/saber/blue + possible_colors = list("blue" = LIGHT_COLOR_LIGHT_CYAN) +/obj/item/weapon/melee/transforming/energy/sword/saber/green + possible_colors = list("green" = LIGHT_COLOR_GREEN) -/obj/item/weapon/melee/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user, params) +/obj/item/weapon/melee/transforming/energy/sword/saber/purple + possible_colors = list("purple" = LIGHT_COLOR_LAVENDER) + +/obj/item/weapon/melee/transforming/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user, params) if(istype(W, /obj/item/device/multitool)) if(!hacked) hacked = TRUE @@ -220,21 +183,21 @@ else return ..() -/obj/item/weapon/melee/energy/sword/pirate +/obj/item/weapon/melee/transforming/energy/sword/pirate name = "energy cutlass" desc = "Arrrr matey." icon_state = "cutlass0" icon_state_on = "cutlass1" light_color = "#ff0000" -/obj/item/weapon/melee/energy/blade +/obj/item/weapon/melee/transforming/energy/blade name = "energy blade" desc = "A concentrated beam of energy in the shape of a blade. Very stylish... and lethal." icon_state = "blade" - force = 30 //Normal attacks deal esword damage + force = 30 //Normal attacks deal esword damage hitsound = 'sound/weapons/blade1.ogg' active = 1 - throwforce = 1//Throwing or dropping the item deletes it. + throwforce = 1 //Throwing or dropping the item deletes it. throw_speed = 3 throw_range = 1 w_class = WEIGHT_CLASS_BULKY//So you can't hide it in your pocket or some such. @@ -242,16 +205,16 @@ sharpness = IS_SHARP //Most of the other special functions are handled in their own files. aka special snowflake code so kewl -/obj/item/weapon/melee/energy/blade/Initialize() +/obj/item/weapon/melee/transforming/energy/blade/Initialize() . = ..() spark_system = new /datum/effect_system/spark_spread() spark_system.set_up(5, 0, src) spark_system.attach(src) -/obj/item/weapon/melee/energy/blade/attack_self(mob/user) +/obj/item/weapon/melee/transforming/energy/blade/transform_weapon(mob/living/user, supress_message_text) return -/obj/item/weapon/melee/energy/blade/hardlight +/obj/item/weapon/melee/transforming/energy/blade/hardlight name = "hardlight blade" desc = "An extremely sharp blade made out of hard light. Packs quite a punch." icon_state = "lightblade" diff --git a/code/game/objects/items/weapons/melee/transforming.dm b/code/game/objects/items/weapons/melee/transforming.dm index fb3f3c5801..689bc24f69 100644 --- a/code/game/objects/items/weapons/melee/transforming.dm +++ b/code/game/objects/items/weapons/melee/transforming.dm @@ -28,7 +28,7 @@ /obj/item/weapon/melee/transforming/attack(mob/living/target, mob/living/carbon/human/user) var/nemesis_faction = FALSE - if(nemesis_factions.len) + if(LAZYLEN(nemesis_factions)) for(var/F in target.faction) if(F in nemesis_factions) nemesis_faction = TRUE diff --git a/code/game/objects/items/weapons/sharpener.dm b/code/game/objects/items/weapons/sharpener.dm index d17df5ab77..ace66060af 100644 --- a/code/game/objects/items/weapons/sharpener.dm +++ b/code/game/objects/items/weapons/sharpener.dm @@ -20,7 +20,7 @@ if(requires_sharpness && !I.sharpness) to_chat(user, "You can only sharpen items that are already sharp, such as knives.") return - if(istype(I, /obj/item/weapon/melee/energy)) + if(istype(I, /obj/item/weapon/melee/transforming/energy)) to_chat(user, "You don't think \the [I] will be the thing getting modified if you use it on \the [src].") return if(istype(I, /obj/item/weapon/twohanded))//some twohanded items should still be sharpenable, but handle force differently. therefore i need this stuff diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index c80f9cf08f..63afdce472 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -52,7 +52,7 @@ new /obj/item/clothing/under/suit_jacket/really_black(src) if("murder") // 28 tc now - new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/melee/transforming/energy/sword/saber(src) new /obj/item/clothing/glasses/thermal/syndi(src) new /obj/item/weapon/card/emag(src) new /obj/item/clothing/shoes/chameleon(src) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 94452dce8b..8c97cab431 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -360,7 +360,7 @@ return 1 /obj/item/weapon/twohanded/dualsaber/ignition_effect(atom/A, mob/user) - // same as /obj/item/weapon/melee/energy, mostly + // same as /obj/item/weapon/melee/transforming/energy, mostly if(!wielded) return "" var/in_mouth = "" diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index 8b68adff42..c732fff3c5 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -63,7 +63,7 @@ for(var/i in 1 to 3) new /obj/item/clothing/suit/armor/tdome/red(src) for(var/i in 1 to 3) - new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/melee/transforming/energy/sword/saber(src) for(var/i in 1 to 3) new /obj/item/weapon/gun/energy/laser(src) for(var/i in 1 to 3) @@ -82,7 +82,7 @@ for(var/i in 1 to 3) new /obj/item/clothing/suit/armor/tdome/green(src) for(var/i in 1 to 3) - new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/melee/transforming/energy/sword/saber(src) for(var/i in 1 to 3) new /obj/item/weapon/gun/energy/laser(src) for(var/i in 1 to 3) diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index ebe6972434..1b62fc69b9 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -442,7 +442,7 @@ /datum/outfit/syndicate_empty/SBC/assault/captain name = "Syndicate Battlecruiser Captain" - l_pocket = /obj/item/weapon/melee/energy/sword/saber/red + l_pocket = /obj/item/weapon/melee/transforming/energy/sword/saber/red r_pocket = /obj/item/weapon/melee/classic_baton/telescopic suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate suit_store = /obj/item/weapon/gun/ballistic/revolver/mateba diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 458a067723..b1dadcdf32 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -104,7 +104,7 @@ /obj/item/weapon/dnainjector/lasereyesmut = 7, /obj/item/weapon/gun/magic/wand/fireball/inert = 3, /obj/item/weapon/pneumatic_cannon = 15, - /obj/item/weapon/melee/energy/sword = 7, + /obj/item/weapon/melee/transforming/energy/sword = 7, /obj/item/weapon/spellbook/oneuse/knock = 15, /obj/item/weapon/spellbook/oneuse/summonitem = 20, /obj/item/weapon/spellbook/oneuse/forcewall = 17, diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index fccfe21589..11283f8039 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -52,7 +52,7 @@ /obj/item/weapon/melee/baton/loaded=1,\ /obj/item/clothing/mask/gas/sechailer/swat=1,\ /obj/item/weapon/gun/energy/pulse/pistol/loyalpin=1) - l_pocket = /obj/item/weapon/melee/energy/sword/saber + l_pocket = /obj/item/weapon/melee/transforming/energy/sword/saber /datum/outfit/ert/security name = "ERT Security" diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index b405c16a7b..a16226bda5 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -84,7 +84,7 @@ shoes = /obj/item/clothing/shoes/sneakers/brown head = /obj/item/clothing/head/bandana glasses = /obj/item/clothing/glasses/eyepatch - r_hand = /obj/item/weapon/melee/energy/sword/pirate + r_hand = /obj/item/weapon/melee/transforming/energy/sword/pirate /datum/outfit/pirate/space name = "Space Pirate" @@ -147,7 +147,7 @@ gloves = /obj/item/clothing/gloves/color/black ears = /obj/item/device/radio/headset glasses = /obj/item/clothing/glasses/sunglasses - l_pocket = /obj/item/weapon/melee/energy/sword/saber + l_pocket = /obj/item/weapon/melee/transforming/energy/sword/saber l_hand = /obj/item/weapon/storage/secure/briefcase id = /obj/item/weapon/card/id/syndicate belt = /obj/item/device/pda/heads @@ -344,7 +344,7 @@ mask = /obj/item/clothing/mask/gas/sechailer/swat glasses = /obj/item/clothing/glasses/hud/toggle/thermal back = /obj/item/weapon/storage/backpack/security - l_pocket = /obj/item/weapon/melee/energy/sword/saber + l_pocket = /obj/item/weapon/melee/transforming/energy/sword/saber r_pocket = /obj/item/weapon/shield/energy suit_store = /obj/item/weapon/tank/internals/emergency_oxygen belt = /obj/item/weapon/gun/ballistic/revolver/mateba diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index b446943ee4..6d13145626 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -304,7 +304,7 @@ item_color = "syndi" w_class = WEIGHT_CLASS_NORMAL armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50, fire = 50, acid = 90) - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/transforming/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/weapon/tank/jetpack/suit @@ -698,7 +698,7 @@ item_state = "syndie_hardsuit" item_color = "syndi" armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50, fire = 100, acid = 100) - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/transforming/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi slowdown = 0 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 91d2aa063d..ce31dd7995 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -146,7 +146,7 @@ Contains: item_state = "pirate" w_class = WEIGHT_CLASS_NORMAL flags_inv = 0 - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals, /obj/item/weapon/melee/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals, /obj/item/weapon/melee/transforming/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum) slowdown = 0 armor = list(melee = 30, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 60, acid = 75) strip_delay = 40 diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 5fd3a6725b..35fb43f87b 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -4,7 +4,7 @@ /obj/item/clothing/suit/space/eva/plasmaman name = "EVA plasma envirosuit" desc = "A special plasma containment suit designed to be space-worthy, as well as worn over other clothing. Like it's smaller counterpart, it can automatically extinguish the wearer in a crisis, and holds twice as many charges." - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/transforming/energy/sword,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0, fire = 100, acid = 75) resistance_flags = FIRE_PROOF icon_state = "plasmaman_suit" diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 5301c2ea98..5c64764813 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -12,7 +12,7 @@ item_state = "space_suit_syndicate" desc = "Has a tag on it: Totally not property of an enemy corporation, honest!" w_class = WEIGHT_CLASS_NORMAL - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/transforming/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) armor = list(melee = 40, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 80, acid = 85) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 8125bb0bdf..873f15f346 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -36,7 +36,7 @@ desc = "Yarr." icon_state = "pirate" item_state = "pirate" - allowed = list(/obj/item/weapon/melee/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum) + allowed = list(/obj/item/weapon/melee/transforming/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum) /obj/item/clothing/suit/pirate/captain name = "pirate captain coat" diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 6c03200869..0b1187e9bc 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -529,7 +529,7 @@ Gunshots/explosions/opening doors/less rare audio (done) return var/static/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item/ammo_box/a357,\ - /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow, /obj/item/weapon/melee/energy/sword/saber,\ + /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow, /obj/item/weapon/melee/transforming/energy/sword/saber,\ /obj/item/weapon/storage/box/syndicate, /obj/item/weapon/storage/box/emps,\ /obj/item/weapon/cartridge/virus/syndicate, /obj/item/clothing/under/chameleon,\ /obj/item/clothing/shoes/chameleon, /obj/item/weapon/card/id/syndicate,\ diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 3848c528e9..0e9a0054ca 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -246,7 +246,7 @@ /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg, /obj/item/weapon/soap/nanotrasen, /obj/item/borg/cyborghug) - emag_modules = list(/obj/item/weapon/melee/energy/sword/cyborg) + emag_modules = list(/obj/item/weapon/melee/transforming/energy/sword/cyborg) ratvar_modules = list( /obj/item/clockwork/slab/cyborg, /obj/item/clockwork/ratvarian_spear/cyborg, @@ -590,7 +590,7 @@ name = "Syndicate Assault" basic_modules = list( /obj/item/device/assembly/flash/cyborg, - /obj/item/weapon/melee/energy/sword/cyborg, + /obj/item/weapon/melee/transforming/energy/sword/cyborg, /obj/item/weapon/gun/energy/printer, /obj/item/weapon/gun/ballistic/revolver/grenadelauncher/cyborg, /obj/item/weapon/card/emag, @@ -617,7 +617,7 @@ /obj/item/weapon/hemostat, /obj/item/weapon/cautery, /obj/item/weapon/scalpel, - /obj/item/weapon/melee/energy/sword/cyborg/saw, + /obj/item/weapon/melee/transforming/energy/sword/cyborg/saw, /obj/item/roller/robo, /obj/item/weapon/card/emag, /obj/item/weapon/crowbar/cyborg, diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index 7410957ef7..398964175d 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -25,7 +25,7 @@ unsuitable_atmos_damage = 15 speak_emote = list("yarrs") loot = list(/obj/effect/mob_spawn/human/corpse/pirate, - /obj/item/weapon/melee/energy/sword/pirate) + /obj/item/weapon/melee/transforming/energy/sword/pirate) del_on_death = 1 faction = list("pirate") diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index a9f0e4914e..6c5e4d935c 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -278,8 +278,8 @@ ..() if(istype(A, /obj/item/ammo_box) || istype(A, /obj/item/ammo_casing)) chamber_round() - if(istype(A, /obj/item/weapon/melee/energy)) - var/obj/item/weapon/melee/energy/W = A + if(istype(A, /obj/item/weapon/melee/transforming/energy)) + var/obj/item/weapon/melee/transforming/energy/W = A if(W.active) sawoff(user) if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/gun/energy/plasmacutter)) diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 76c60dd130..59dc214dc3 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -89,8 +89,8 @@ ..() if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/gun/energy/plasmacutter)) sawoff(user) - if(istype(A, /obj/item/weapon/melee/energy)) - var/obj/item/weapon/melee/energy/W = A + if(istype(A, /obj/item/weapon/melee/transforming/energy)) + var/obj/item/weapon/melee/transforming/energy/W = A if(W.active) sawoff(user) diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index 2fbc61c239..e7d4ce7940 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -161,7 +161,7 @@ /datum/outfit/lavaland_syndicate/comms name = "Lavaland Syndicate Comms Agent" - r_hand = /obj/item/weapon/melee/energy/sword/saber + r_hand = /obj/item/weapon/melee/transforming/energy/sword/saber mask = /obj/item/clothing/mask/chameleon suit = /obj/item/clothing/suit/armor/vest l_pocket = /obj/item/weapon/card/id/syndicate/anyone diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index af7bb41126..f8f8ba9be2 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -9,7 +9,7 @@ /datum/surgery_step/sever_limb name = "sever limb" - implements = list(/obj/item/weapon/scalpel = 100, /obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, /obj/item/weapon/melee/arm_blade = 80, /obj/item/weapon/twohanded/required/chainsaw = 80, /obj/item/weapon/mounted_chainsaw = 80, /obj/item/weapon/twohanded/fireaxe = 50, /obj/item/weapon/hatchet = 40, /obj/item/weapon/kitchen/knife/butcher = 25) + implements = list(/obj/item/weapon/scalpel = 100, /obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/weapon/melee/arm_blade = 80, /obj/item/weapon/twohanded/required/chainsaw = 80, /obj/item/weapon/mounted_chainsaw = 80, /obj/item/weapon/twohanded/fireaxe = 50, /obj/item/weapon/hatchet = 40, /obj/item/weapon/kitchen/knife/butcher = 25) time = 64 /datum/surgery_step/sever_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/generic_steps.dm b/code/modules/surgery/generic_steps.dm index d788d9208d..9b5a63dbf3 100644 --- a/code/modules/surgery/generic_steps.dm +++ b/code/modules/surgery/generic_steps.dm @@ -2,7 +2,7 @@ //make incision /datum/surgery_step/incise name = "make incision" - implements = list(/obj/item/weapon/scalpel = 100, /obj/item/weapon/melee/energy/sword = 75, /obj/item/weapon/kitchen/knife = 65, + implements = list(/obj/item/weapon/scalpel = 100, /obj/item/weapon/melee/transforming/energy/sword = 75, /obj/item/weapon/kitchen/knife = 65, /obj/item/weapon/shard = 45, /obj/item = 30) // 30% success with any sharp item. time = 16 @@ -87,7 +87,7 @@ //saw bone /datum/surgery_step/saw name = "saw bone" - implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, + implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/weapon/melee/arm_blade = 75, /obj/item/weapon/mounted_chainsaw = 65, /obj/item/weapon/twohanded/required/chainsaw = 50, /obj/item/weapon/twohanded/fireaxe = 50, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25) time = 54 diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm index 9299f7038e..d49f28028c 100644 --- a/code/modules/surgery/lipoplasty.dm +++ b/code/modules/surgery/lipoplasty.dm @@ -12,7 +12,7 @@ //cut fat /datum/surgery_step/cut_fat name = "cut excess fat" - implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25) + implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25) time = 64 /datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 4fc22ec2c2..5c0e31456e 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -192,7 +192,7 @@ /obj/item/organ/cyberimp/arm/esword name = "arm-mounted energy blade" desc = "An illegal, and highly dangerous cybernetic implant that can project a deadly blade of concentrated enregy." - contents = newlist(/obj/item/weapon/melee/energy/blade/hardlight) + contents = newlist(/obj/item/weapon/melee/transforming/energy/blade/hardlight) origin_tech = "materials=4;combat=5;biotech=3;powerstorage=2;syndicate=5" /obj/item/organ/cyberimp/arm/medibeam @@ -222,7 +222,7 @@ /obj/item/organ/cyberimp/arm/combat name = "combat cybernetics implant" desc = "A powerful cybernetic implant that contains combat modules built into the user's arm" - contents = newlist(/obj/item/weapon/melee/energy/blade/hardlight, /obj/item/weapon/gun/medbeam, /obj/item/borg/stun, /obj/item/device/assembly/flash/armimplant) + contents = newlist(/obj/item/weapon/melee/transforming/energy/blade/hardlight, /obj/item/weapon/gun/medbeam, /obj/item/borg/stun, /obj/item/device/assembly/flash/armimplant) origin_tech = "materials=5;combat=7;biotech=5;powerstorage=5;syndicate=6;programming=5" /obj/item/organ/cyberimp/arm/combat/Initialize() diff --git a/code/modules/surgery/tail_modification.dm b/code/modules/surgery/tail_modification.dm index b8e8da5d31..34993b02c6 100644 --- a/code/modules/surgery/tail_modification.dm +++ b/code/modules/surgery/tail_modification.dm @@ -18,7 +18,7 @@ /datum/surgery_step/sever_tail name = "sever tail" implements = list(/obj/item/weapon/scalpel = 100, /obj/item/weapon/circular_saw = 100, - /obj/item/weapon/melee/sabre = 100, /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, + /obj/item/weapon/melee/sabre = 100, /obj/item/weapon/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/weapon/melee/arm_blade = 80, /obj/item/weapon/twohanded/required/chainsaw = 80, /obj/item/weapon/mounted_chainsaw = 80, /obj/item/weapon/twohanded/fireaxe = 50, /obj/item/weapon/hatchet = 40, /obj/item = 30) // 30% success with any sharp item. diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index 5c646f76f3..30318a64c2 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -280,7 +280,7 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. name = "Energy Sword" desc = "The energy sword is an edged weapon with a blade of pure energy. The sword is small enough to be \ pocketed when inactive. Activating it produces a loud, distinctive noise." - item = /obj/item/weapon/melee/energy/sword/saber + item = /obj/item/weapon/melee/transforming/energy/sword/saber cost = 8 /datum/uplink_item/dangerous/doublesword