diff --git a/maplestation.dme b/maplestation.dme index 3b90db3873a2..bbfd99311284 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -5714,6 +5714,7 @@ #include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" #include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\laser_override.dm" #include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\ppc_override.dm" +#include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\armored_corps\code\techweb\all_nodes.dm" #include "maplestation_modules\story_content\bartender_equipment\code\barmanvintage.dm" #include "maplestation_modules\story_content\captain_equipment\code\captainclothing.dm" diff --git a/maplestation_modules/code/game/objects/items/weaponry.dm b/maplestation_modules/code/game/objects/items/weaponry.dm index d14288f75541..61e2282458ed 100644 --- a/maplestation_modules/code/game/objects/items/weaponry.dm +++ b/maplestation_modules/code/game/objects/items/weaponry.dm @@ -65,19 +65,33 @@ light_range = 2 light_power = 1 light_on = FALSE + ///force when active, passed onto component/transforming + var/active_force = 18 + ///throwforce when active, passed onto component/transforming + var/active_throwforce = 16 + ///hitsound when active, passed onto component/transforming + var/active_hitsound = 'maplestation_modules/sound/weapons/plasmaslice.ogg' + ///w_class when active, passed onto component/transforming + var/active_w_class = WEIGHT_CLASS_BULKY + ///attack_verb_continous_on when active, passed onto component/transforming + var/active_attack_verb_continous_on = list("incinerates", "slashes", "singes", "scorches", "tears", "stabs") + ///attack_verb_simple_on when active, passed onto component/transforming + var/active_attack_verb_simple_on = list("incinerate", "slash", "singe", "scorch", "tear", "stab") + ///light color when active, passed onto proc/on_transform + var/active_light_color = COLOR_AMETHYST /obj/item/melee/maple_plasma_blade/Initialize(mapload) . = ..() AddComponent(/datum/component/transforming, \ - force_on = 18, \ - throwforce_on = 16, \ + force_on = active_force, \ + throwforce_on = active_throwforce, \ throw_speed_on = throw_speed, \ sharpness_on = SHARP_EDGED, \ - hitsound_on = 'maplestation_modules/sound/weapons/plasmaslice.ogg', \ - w_class_on = WEIGHT_CLASS_BULKY, \ - attack_verb_continuous_on = list("incinerates", "slashes", "singes", "scorches", "tears", "stabs"), \ - attack_verb_simple_on = list("incinerate", "slash", "singe", "scorch", "tear", "stab"), \ + hitsound_on = active_hitsound, \ + w_class_on = active_w_class, \ + attack_verb_continuous_on = active_attack_verb_continous_on, \ + attack_verb_simple_on = active_attack_verb_simple_on, \ ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) @@ -87,7 +101,7 @@ playsound(user ? user : src, active ? 'maplestation_modules/sound/weapons/plasmaon.ogg' : 'maplestation_modules/sound/weapons/plasmaoff.ogg', 20, TRUE) update_appearance(UPDATE_ICON) set_light_on(active) - set_light_color(COLOR_AMETHYST) // shoutouts to jade for the lighting code. + set_light_color(active_light_color) // shoutouts to jade for the lighting code. tool_behaviour = (active ? TOOL_KNIFE : NONE) // Yolo. this will let it work as a knife can. slot_flags = active ? NONE : ITEM_SLOT_BELT // this is to prevent it from being storable in belt. return COMPONENT_NO_DEFAULT_MESSAGE diff --git a/maplestation_modules/story_content/armored_corps/code/melee/void_blade.dm b/maplestation_modules/story_content/armored_corps/code/melee/void_blade.dm new file mode 100644 index 000000000000..4de170061512 --- /dev/null +++ b/maplestation_modules/story_content/armored_corps/code/melee/void_blade.dm @@ -0,0 +1,21 @@ +/// Void Blade, an upgraded version of the plasma blade +/obj/item/melee/maple_plasma_blade/void_blade + name = "void blade" + desc = "An upgraded version of the plasma blade. The interior plasma absorbs energy, causing a darkened apperance and a shearing effect to anything caught in the blade. The guard seems to be stylized in the shape of some winged entity." + force = 8 + throwforce = 10 + throw_speed = 4 + throw_range = 7 + icon_state = "dark_blade" + base_icon_state = "dark_blade" + icon = 'maplestation_modules/story_content/armored_corps/icons/dark_blade.dmi' + inhand_icon_state = "dark_blade" + lefthand_file = 'maplestation_modules/story_content/armored_corps/icons/inhands/dark_blade_lefthand.dmi' + righthand_file = 'maplestation_modules/story_content/armored_corps/icons/inhands/dark_blade_righthand.dmi' + hitsound = 'sound/weapons/genhit1.ogg' + attack_verb_continuous = list("stubs","whacks","bludgeons") + attack_verb_simple = list("stub","whack","bludgeon") + armour_penetration = 25 + active_force = 25 + active_throwforce = 20 + active_light_color = COLOR_STRONG_VIOLET diff --git a/maplestation_modules/story_content/armored_corps/icons/dark_blade.dmi b/maplestation_modules/story_content/armored_corps/icons/dark_blade.dmi new file mode 100644 index 000000000000..a1eac1056145 Binary files /dev/null and b/maplestation_modules/story_content/armored_corps/icons/dark_blade.dmi differ diff --git a/maplestation_modules/story_content/armored_corps/icons/inhands/dark_blade_lefthand.dmi b/maplestation_modules/story_content/armored_corps/icons/inhands/dark_blade_lefthand.dmi new file mode 100644 index 000000000000..c3382e8f5a1e Binary files /dev/null and b/maplestation_modules/story_content/armored_corps/icons/inhands/dark_blade_lefthand.dmi differ diff --git a/maplestation_modules/story_content/armored_corps/icons/inhands/dark_blade_righthand.dmi b/maplestation_modules/story_content/armored_corps/icons/inhands/dark_blade_righthand.dmi new file mode 100644 index 000000000000..88fa228a126b Binary files /dev/null and b/maplestation_modules/story_content/armored_corps/icons/inhands/dark_blade_righthand.dmi differ