diff --git a/hyperstation/code/obj/lunaritems.dm b/hyperstation/code/obj/lunaritems.dm index 27d82cfe..0c38f1df 100644 --- a/hyperstation/code/obj/lunaritems.dm +++ b/hyperstation/code/obj/lunaritems.dm @@ -53,7 +53,9 @@ H.update_disabled_bodyparts() H.bleed_rate += 5 H.emote("scream") - new /obj/item/helfiretincture(src.loc) //Eventually a pick, with different items. + var/obj/item/lunar = pick(/obj/item/helfiretincture, + /obj/item/instrument/guitar/biggerukulele) + new lunar(src) visible_message("As you blink, cracks appear on the altar and a flash of lunar light reaches its surface. A gift?") message_admins("[ADMIN_LOOKUPFLW(user)] has sacrificed their [bodypart] on the lunar altar at [AREACOORD(src)].") icon_state = "sacrificealtar-blue" @@ -90,3 +92,62 @@ icon_state = "helfire_tincture" update_icon() to_chat(user, "The tincture vibrates with power once again.") + + +/obj/item/instrument/guitar/biggerukulele + name = "bigger ukulele" + desc = "...and his music was electric." + icon_state = "biggerukulele" + item_state = "guitar" + instrumentExt = "ogg" + attack_verb = list("played a sick solo on", "electrified", "crashed", "smashed") + hitsound = 'sound/weapons/stringsmash.ogg' + instrumentId = "guitar" + siemens_coefficient = -1 + hit_reaction_chance = 100 + var/tesla_power = 25000 + var/tesla_range = 20 + var/tesla_flags = TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE + var/legacy = FALSE + var/legacy_dmg = 30 + var/active = 1 + var/reactive_cooldown_duration = 5 + var/reactive_cooldown = 0 + var/firstpickup = TRUE + +/obj/item/instrument/guitar/biggerukulele/dropped(mob/user) + ..() + if(istype(user)) + user.flags_1 &= ~TESLA_IGNORE_1 + +/obj/item/instrument/guitar/biggerukulele/pickup(mob/user) + ..() + if(istype(user)) + user.flags_1 |= TESLA_IGNORE_1 + if(firstpickup) + SEND_SOUND(user, sound('hyperstation/sound/misc/biggerukulelepickup.ogg', volume = 100)) + firstpickup = FALSE + +/obj/item/instrument/guitar/biggerukulele/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 FALSE + if(prob(hit_reaction_chance)) + if(world.time < reactive_cooldown) + var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread + sparks.set_up(1, 1, src) + sparks.start() + owner.visible_message("The electric strings of [owner]'s bigger ukulele! The instrument merely emits some sparks.") + return + owner.visible_message("[src] blocks [attack_text], sending out arcs of lightning!") + if(!legacy) + tesla_zap(owner, tesla_range, tesla_power, tesla_flags) + playsound(src.loc, 'sound/weapons/emitter2.ogg', 100, 1, extrarange = 10) + else + for(var/mob/living/M in view(7, owner)) + if(M == owner) + continue + owner.Beam(M,icon_state="purple_lightning",icon='icons/effects/effects.dmi',time=5) + M.adjustFireLoss(legacy_dmg) + playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1) + reactive_cooldown = world.time + reactive_cooldown_duration + return TRUE diff --git a/hyperstation/sound/misc/biggerukulelepickup.ogg b/hyperstation/sound/misc/biggerukulelepickup.ogg new file mode 100644 index 00000000..43eeca19 Binary files /dev/null and b/hyperstation/sound/misc/biggerukulelepickup.ogg differ diff --git a/icons/obj/musician.dmi b/icons/obj/musician.dmi index 8375b38e..46705002 100644 Binary files a/icons/obj/musician.dmi and b/icons/obj/musician.dmi differ