Merge pull request #998 from ArchieBeepBoop/andhismusicwaselectric

...and his music was electric.
This commit is contained in:
QuoteFox
2021-02-26 00:31:24 +00:00
committed by GitHub
4 changed files with 64 additions and 2 deletions
+1 -1
View File
@@ -239,5 +239,5 @@
id = "lunaraltar"
description = "Millenia ago, the humanoids of this strange land used to offer sacrifices here..."
suffix = "lavaland_surface_lunaraltar.dmm"
allow_duplicates = FALSE
allow_duplicates = TRUE
cost = 10
+63 -1
View File
@@ -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.loc)
visible_message("<span class='warning'>As you blink, cracks appear on the altar and a flash of lunar light reaches its surface. A gift?</span>")
message_admins("[ADMIN_LOOKUPFLW(user)] has sacrificed their [bodypart] on the lunar altar at [AREACOORD(src)].")
icon_state = "sacrificealtar-blue"
@@ -90,3 +92,63 @@
icon_state = "helfire_tincture"
update_icon()
to_chat(user, "<span class='warning'>The tincture vibrates with power once again.</span>")
/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/reactive_cooldown_duration = 20
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(owner.flags_1 & TESLA_IGNORE_1)
//Do literally nothing. Checking for absence of flags doesn't work for whatever reason, so if !TESLA_IGNORE_1 is not an option.
else if (owner.flags_1)
owner.flags_1 |= TESLA_IGNORE_1 //Sometimes picking up the item doesn't grant the user the flag. This is a way to go around that. Thank you, DM Code.
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("<span class='danger'>The electric strings of [owner]'s bigger ukulele! The instrument merely emits some sparks.</span>")
return
owner.visible_message("<span class='danger'>[src] blocks [attack_text], sending out arcs of lightning!</span>")
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
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB