From 914ae0cc4f1c90feb7ae1fa75f318bbc0290e1c6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 10 May 2017 18:04:42 -0500 Subject: [PATCH] You can now buy double eswords from the uplink, but you can no longer use two eswords to construct them (#891) --- .../objects/items/weapons/melee/energy.dm | 28 ++++++------------- .../items/weapons/storage/uplink_kits.dm | 3 +- code/game/objects/items/weapons/twohanded.dm | 4 +-- code/modules/uplink/uplink_item.dm | 20 ++++++++++--- 4 files changed, 27 insertions(+), 28 deletions(-) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 56c53e9cd8..fd8c5483a2 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -16,7 +16,7 @@ var/brightness_on = 3 /obj/item/weapon/melee/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. @@ -183,8 +183,8 @@ light_color = "#40ceff" possible_colors = null -/obj/item/weapon/melee/energy/sword/cyborg/saw/New() - ..() +/obj/item/weapon/melee/energy/sword/cyborg/saw/Initialize() + . = ..() icon_state = "esaw_0" item_color = null @@ -207,19 +207,9 @@ /obj/item/weapon/melee/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user, params) - if(istype(W, /obj/item/weapon/melee/energy/sword/saber)) - to_chat(user, "You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool.") - var/obj/item/weapon/melee/energy/sword/saber/other_esword = W - var/obj/item/weapon/twohanded/dualsaber/newSaber = new(user.loc) - if(hacked || other_esword.hacked) - newSaber.hacked = TRUE - newSaber.item_color = "rainbow" - qdel(W) - qdel(src) - user.put_in_hands(newSaber) - else if(istype(W, /obj/item/device/multitool)) - if(hacked == 0) - hacked = 1 + if(istype(W, /obj/item/device/multitool)) + if(!hacked) + hacked = TRUE item_color = "rainbow" to_chat(user, "RNBW_ENGAGE") @@ -253,14 +243,12 @@ 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/New() +/obj/item/weapon/melee/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/dropped() - ..() - /obj/item/weapon/melee/energy/blade/attack_self(mob/user) return diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 9cf806f6b3..6dd8dbb43a 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -92,8 +92,7 @@ new /obj/item/pizzabox/bomb if("darklord") //20 tc + tk + summon item close enough for now - new /obj/item/weapon/melee/energy/sword/saber(src) - new /obj/item/weapon/melee/energy/sword/saber(src) + new /obj/item/weapon/twohanded/dualsaber(src) new /obj/item/weapon/dnainjector/telemut/darkbundle(src) new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) new /obj/item/weapon/card/id/syndicate(src) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 002c7773b4..daa86eb833 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -262,11 +262,11 @@ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 70) resistance_flags = FIRE_PROOF var/hacked = 0 - var/brightness_on = 6//TWICE AS BRIGHT AS A REGULAR ESWORD + var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD var/list/possible_colors = list("red", "blue", "green", "purple") /obj/item/weapon/twohanded/dualsaber/Initialize() - ..() + . = ..() if(LAZYLEN(possible_colors)) item_color = pick(possible_colors) switch(item_color) diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index 09334b24c8..98aa41e88f 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -44,7 +44,7 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. for(var/i in 1 to 3) var/datum/uplink_item/I = pick_n_take(sale_items) var/datum/uplink_item/A = new I.type - var/discount = pick(4;0.75,2;0.5,1;0.25) + var/discount = A.get_discount() var/list/disclaimer = list("Void where prohibited.", "Not recommended for children.", "Contains small parts.", "Check local laws for legality in region.", "Do not taunt.", "Not responsible for direct, indirect, incidental or consequential damages resulting from any defect, error or failure to perform.", "Keep away from fire or flames.", "Product is provided \"as is\" without any implied or expressed warranties.", "As seen on TV.", "For recreational use only.", "Use only as directed.", "16% sales tax will be charged for orders originating within Space Nebraska.") A.limited_stock = 1 I.refundable = FALSE //THIS MAN USES ONE WEIRD TRICK TO GAIN FREE TC, CODERS HATES HIM! @@ -86,6 +86,9 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. var/player_minimum //The minimum crew size needed for this item to be added to uplinks. var/purchase_log_vis = TRUE // Visible in the purchase log? +/datum/uplink_item/proc/get_discount() + return pick(4;0.75,2;0.5,1;0.25) + /datum/uplink_item/proc/spawn_item(turf/loc, obj/item/device/uplink/U) if(item) SSblackbox.add_details("traitor_uplink_items_bought", "[name]|[cost]") @@ -276,12 +279,21 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. /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. One can combine two \ - energy swords to create a double energy sword, which must be wielded in two hands but is more robust \ - and deflects all energy projectiles." + pocketed when inactive. Activating it produces a loud, distinctive noise." item = /obj/item/weapon/melee/energy/sword/saber cost = 8 +/datum/uplink_item/dangerous/doublesword + name = "Double-Bladed Energy Sword" + desc = "The double-bladed energy sword does slightly more damage than a standard energy sword and will deflect \ + all energy projectiles, but requires two hands to wield." + item = /obj/item/weapon/twohanded/dualsaber + player_minimum = 25 + cost = 16 + +/datum/uplink_item/dangerous/doublesword/get_discount() + return pick(4;0.8,2;0.65,1;0.5) + /datum/uplink_item/dangerous/powerfist name = "Power Fist" desc = "The power-fist is a metal gauntlet with a built-in piston-ram powered by an external gas supply.\