diff --git a/_maps/map_files/tgstation.2.1.3.dmm b/_maps/map_files/tgstation.2.1.3.dmm index ea4f5800724..f1b05d6654f 100644 --- a/_maps/map_files/tgstation.2.1.3.dmm +++ b/_maps/map_files/tgstation.2.1.3.dmm @@ -7081,14 +7081,14 @@ "cGB" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) "cGC" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station) "cGD" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) -"cGE" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/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/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"cGE" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/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,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "cGF" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "cGG" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) "cGH" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome) "cGI" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) "cGJ" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) "cGK" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"cGL" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/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/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"cGL" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/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,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "cGM" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "cGN" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "cGO" = (/obj/structure/table,/obj/item/device/sbeacondrop/bomb,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index fa6d850888e..ec6b11ef660 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -144,7 +144,7 @@ var/list/uplink_items = list() /datum/uplink_item/dangerous/sword 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 + item = /obj/item/weapon/melee/energy/sword/saber cost = 4 /datum/uplink_item/dangerous/emp diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index ce066c0501e..d6b446dea03 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/melee/energy/ +/obj/item/weapon/melee/energy var/active = 0 /obj/item/weapon/melee/energy/suicide_act(mob/user) @@ -44,7 +44,6 @@ add_fingerprint(user) /obj/item/weapon/melee/energy/sword - color name = "energy sword" desc = "May the force be within you." icon_state = "sword0" @@ -57,9 +56,11 @@ flags = NOSHIELD origin_tech = "magnets=3;syndicate=4" var/hacked = 0 + item_color = null /obj/item/weapon/melee/energy/sword/New() - item_color = pick("red", "blue", "green", "purple") + if(item_color == null) + item_color = pick("red", "blue", "green", "purple") /obj/item/weapon/melee/energy/sword/IsShield() if(active) @@ -98,9 +99,36 @@ add_fingerprint(user) return -/obj/item/weapon/melee/energy/sword/attackby(obj/item/weapon/W, mob/living/user) +/obj/item/weapon/melee/energy/sword/cyborg + var/hitcost = 500 + +/obj/item/weapon/melee/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) + R << "It's out of charge!" + return + ..() + return + +/obj/item/weapon/melee/energy/sword/saber + +/obj/item/weapon/melee/energy/sword/saber/blue + item_color = "blue" + +/obj/item/weapon/melee/energy/sword/saber/purple + item_color = "purple" + +/obj/item/weapon/melee/energy/sword/saber/green + item_color = "green" + +/obj/item/weapon/melee/energy/sword/saber/red + item_color = "red" + +/obj/item/weapon/melee/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user) ..() - if(istype(W, /obj/item/weapon/melee/energy/sword)) + if(istype(W, /obj/item/weapon/melee/energy/sword/saber)) if(W == src) user << "You try to attach the end of the energy sword to... itself. You're not very smart, are you?" if(ishuman(user)) @@ -115,6 +143,7 @@ user.unEquip(src) qdel(W) qdel(src) + user.put_in_hands(newSaber) else if(istype(W, /obj/item/device/multitool)) if(hacked == 0) hacked = 1 @@ -133,32 +162,11 @@ else user << "It's already fabulous!" -/obj/item/weapon/melee/energy/sword/cyborg - var/hitcost = 500 - -/obj/item/weapon/melee/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) - R << "It's out of charge!" - return - ..() - return - /obj/item/weapon/melee/energy/sword/pirate name = "energy cutlass" desc = "Arrrr matey." icon_state = "cutlass0" -/obj/item/weapon/melee/energy/sword/green - New() - item_color = "green" - -/obj/item/weapon/melee/energy/sword/red - New() - item_color = "red" - /obj/item/weapon/melee/energy/blade name = "energy blade" desc = "A concentrated beam of energy in the shape of a blade. Very stylish... and lethal." diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index b8664ed01e6..4dcdd2659a4 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -40,7 +40,7 @@ return if("murder") - new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword/saber(src) new /obj/item/clothing/glasses/thermal/syndi(src) new /obj/item/weapon/card/emag(src) new /obj/item/clothing/shoes/syndigaloshes(src) @@ -75,8 +75,8 @@ return if("darklord") - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/melee/energy/sword/saber(src) new /obj/item/weapon/dnainjector/telemut/darkbundle(src) new /obj/item/clothing/head/chaplain_hood(src) new /obj/item/clothing/suit/chaplain_hoodie(src) diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index 97539334704..befabec5c28 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -96,9 +96,9 @@ new /obj/item/clothing/suit/armor/tdome/red(src) new /obj/item/clothing/suit/armor/tdome/red(src) new /obj/item/clothing/suit/armor/tdome/red(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/melee/energy/sword/saber(src) new /obj/item/weapon/gun/energy/laser(src) new /obj/item/weapon/gun/energy/laser(src) new /obj/item/weapon/gun/energy/laser(src) @@ -124,9 +124,9 @@ new /obj/item/clothing/suit/armor/tdome/green(src) new /obj/item/clothing/suit/armor/tdome/green(src) new /obj/item/clothing/suit/armor/tdome/green(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/melee/energy/sword/saber(src) new /obj/item/weapon/gun/energy/laser(src) new /obj/item/weapon/gun/energy/laser(src) new /obj/item/weapon/gun/energy/laser(src) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 91cf7d75fb6..4a446271907 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -826,7 +826,7 @@ var/global/list/g_fancy_list_of_safe_types = null M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(M), slot_l_store) + M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store) var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = new(M) for(var/obj/item/briefcase_item in sec_briefcase) @@ -1118,7 +1118,7 @@ var/global/list/g_fancy_list_of_safe_types = null M.equip_to_slot_or_del(new /obj/item/weapon/plastique(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(M), slot_l_store) + M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store) M.equip_to_slot_or_del(new /obj/item/weapon/shield/energy(M), slot_r_store) M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen(M), slot_s_store) M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 866668e6376..5d61c402824 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -123,7 +123,7 @@ slowdown = 1 w_class = 3 armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) - 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,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + 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/handcuffs,/obj/item/weapon/tank/emergency_oxygen) //Wizard hardsuit diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 4520c15fc06..a781e49f2d8 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -13,7 +13,7 @@ item_state = "space_suit_syndicate" desc = "Has a tag on it: Totally not property of of a hostile corporation, honest!" w_class = 3 - 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,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + 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/handcuffs,/obj/item/weapon/tank/emergency_oxygen) slowdown = 1 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 32692b64771..f9aecb1c3c9 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -337,7 +337,7 @@ proc/check_panel(mob/M) return var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_box/a357,\ - /obj/item/weapon/gun/energy/crossbow, /obj/item/weapon/melee/energy/sword,\ + /obj/item/weapon/gun/energy/crossbow, /obj/item/weapon/melee/energy/sword/saber,\ /obj/item/weapon/storage/box/syndicate, /obj/item/weapon/storage/box/emps,\ /obj/item/weapon/cartridge/syndicate, /obj/item/clothing/under/chameleon,\ /obj/item/clothing/shoes/syndigaloshes, /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 a2df8da25d9..c41a521fcac 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -68,7 +68,7 @@ modules += new /obj/item/weapon/wrench(src) modules += new /obj/item/weapon/crowbar(src) modules += new /obj/item/device/healthanalyzer(src) - emag = new /obj/item/weapon/melee/energy/sword(src) + emag = new /obj/item/weapon/melee/energy/sword/cyborg(src) /obj/item/weapon/robot_module/medical diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 8e1ff31edca..1b77403f4c9 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -52,7 +52,7 @@ melee_damage_upper = 25 icon_state = "syndicatemelee" icon_living = "syndicatemelee" - weapon1 = /obj/item/weapon/melee/energy/sword/red + weapon1 = /obj/item/weapon/melee/energy/sword/saber/red weapon2 = /obj/item/weapon/shield/energy attacktext = "slashes" status_flags = 0