diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index d4f65c03a0..1eb4e6d08b 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -17,9 +17,9 @@ #define COMBOHUD_LIGHTING (1<<14) #define VERB_CONSENT (1<<15) // Skyrat - ERP Mechanic Addition #define LEWD_VERB_SOUNDS (1<<16) // Skyrat - ERP Mechanic Addition -#define SOUND_BOSS_MUSIC (1<<17) // Sandstorm - New Lavaland bosses have musics +#define SOUND_MEGAFAUNA (1<<17) // Skyrat - Megafauna boss music -#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS|SOUND_BOSS_MUSIC) //(Sandcode Addition - SOUND_BOSS_MUSIC) +#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS) //Chat toggles #define CHAT_OOC (1<<0) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 9bdcd518d3..3101d41172 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -674,6 +674,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Ghost PDA: [(chat_toggles & CHAT_GHOSTPDA) ? "All Messages" : "Nearest Creatures"]
" dat += "Window Flashing: [(windowflashing) ? "Enabled":"Disabled"]
" dat += "
" + //SKYRAT CHANGES BEGIN + dat += "Play Megafauna Music: [(toggles & SOUND_MEGAFAUNA) ? "Enabled":"Disabled"]
" + //SKYRAT CHANGES END dat += "Play Admin MIDIs: [(toggles & SOUND_MIDI) ? "Enabled":"Disabled"]
" dat += "Play Lobby Music: [(toggles & SOUND_LOBBY) ? "Enabled":"Disabled"]
" dat += "See Pull Requests: [(chat_toggles & CHAT_PULLR) ? "Enabled":"Disabled"]
" @@ -2469,6 +2472,11 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("hear_midis") toggles ^= SOUND_MIDI + //SKYRAT CHANGES BEGIN - Megafauna music + if("hear_megafauna") + toggles ^= SOUND_MEGAFAUNA + //SKYRAT CHANGES END + if("verb_consent") // Skyrat - ERP Mechanic Addition toggles ^= VERB_CONSENT // Skyrat - ERP Mechanic Addition diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 208bbabc51..8343735252 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -132,24 +132,6 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggletitlemusic)() /datum/verbs/menu/Settings/Sound/toggletitlemusic/Get_checked(client/C) return C.prefs.toggles & SOUND_LOBBY -//Sandstorm additions -TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, Toggle_BossMusic)() - set name = "Hear/Silence Boss Musics" - set category = "Preferences" - set desc = "Hear Boss Musics" - usr.client.prefs.toggles ^= SOUND_BOSS_MUSIC - usr.client.prefs.save_preferences() - if(usr.client.prefs.toggles & SOUND_BOSS_MUSIC) - to_chat(usr, "You will now hear Boss Musics.") - else - to_chat(usr, "You will no longer hear Boss Musics.") - usr.stop_sound_channel(CHANNEL_BOSSMUSIC) - usr.stop_sound_channel(CHANNEL_BUZZ) - SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Toggle Boss Music", "[usr.client.prefs.toggles & SOUND_BOSS_MUSIC ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/datum/verbs/menu/Settings/Sound/Toggle_Soundscape/Get_checked(client/C) - return C.prefs.toggles & SOUND_BOSS_MUSIC -//End of Sandstorm additions - TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglemidis)() set name = "Hear/Silence Midis" set category = "Preferences" diff --git a/sandcode/code/modules/client/preferences_toggles.dm b/sandcode/code/modules/client/preferences_toggles.dm new file mode 100644 index 0000000000..20428017a6 --- /dev/null +++ b/sandcode/code/modules/client/preferences_toggles.dm @@ -0,0 +1,12 @@ +TOGGLE_CHECKBOX(/datum/verbs/menu/Settings, megafauna_music)() + set name = "Toggle Megafauna Music" + set category = "Preferences" + set desc = "Turn megafauna music on/off" + + usr.client.prefs.toggles ^= SOUND_MEGAFAUNA + usr.client.prefs.save_preferences() + to_chat(usr, "You [(usr.client.prefs.toggles & SOUND_MEGAFAUNA) ? "turn on" : "turn off"] the playback of megafauna music.") + SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Toggle Megafauna Music", "[usr.client.prefs.toggles & SOUND_MEGAFAUNA ? "Yes" : "No"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/datum/verbs/menu/Settings/megafauna_music/Get_checked(client/C) + return C.prefs.toggles & SOUND_MEGAFAUNA diff --git a/sandcode/code/modules/mining/lavaland/necropolis_chests.dm b/sandcode/code/modules/mining/lavaland/necropolis_chests.dm index a702f7c270..1d404e9943 100644 --- a/sandcode/code/modules/mining/lavaland/necropolis_chests.dm +++ b/sandcode/code/modules/mining/lavaland/necropolis_chests.dm @@ -108,6 +108,8 @@ item_state = "heckgun" sharpness = SHARP_EDGED force = 15 + inhand_x_dimension = 0 + inhand_y_dimension = 0 var/recharge_rate = 4 var/charge_tick = 0 var/toggled = FALSE @@ -207,8 +209,8 @@ icon = 'sandcode/icons/obj/1x2.dmi' icon_state = "crucible0" var/icon_state_on = "crucible1" - lefthand_file = 'sandcode/icons/mob/inhands/weapons/crucible_lefthand.dmi' - righthand_file = 'sandcode/icons/mob/inhands/weapons/crucible_righthand.dmi' + lefthand_file = 'sandcode/icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'sandcode/icons/mob/inhands/weapons/swords_righthand.dmi' item_state = "crucible0" force = 3 throwforce = 5 @@ -965,7 +967,7 @@ icon_state = "necklace_forsaken_active" actions_types = list(/datum/action/item_action/hands_free/necklace_of_the_forsaken) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - var/mob/living/carbon/human/active_owner + var/mob/living/carbon/active_owner var/numUses = 1 /obj/item/clothing/neck/necklace/necklace_of_the_forsaken/item_action_slot_check(slot) @@ -989,10 +991,10 @@ icon_state = "necklace_forsaken_active" if(!active_owner) return - var/mob/living/carbon/human/H = active_owner + var/mob/living/carbon/C = active_owner active_owner = null - to_chat(H, "You feel a scorching burn fill your body and limbs!") - H.revive(TRUE, FALSE) + to_chat(C, "You feel a scorching burn fill your body and limbs!") + C.revive(TRUE, FALSE) remove_necklace() //remove buffs //Remove buffs @@ -1012,14 +1014,14 @@ //What happens when the user clicks on datum /datum/action/item_action/hands_free/necklace_of_the_forsaken/Trigger() var/obj/item/clothing/neck/necklace/necklace_of_the_forsaken/MM = target - if(MM.numUses == 0)//skip if it has already been used up + if(MM.numUses <= 0)//skip if it has already been used up return if(!MM.active_owner)//apply bind if there is no active owner - if(ishuman(owner)) + if(iscarbon(owner)) MM.temp_buff(owner) src.desc = "Revive or fully heal yourself, but you can only do this once! Can be used when knocked out or dead." to_chat(MM.active_owner, "You have binded the ember to yourself! The next time you use the necklace it will heal you!") - else if(MM.numUses == 1 && MM.active_owner)//revive / heal then remove usage + else if(MM.numUses >= 1 && MM.active_owner)//revive / heal then remove usage MM.second_chance() MM.numUses = 0 MM.icon_state = "necklace_forsaken" @@ -1076,7 +1078,7 @@ tool_behaviour = TOOL_MINING toolspeed = 0.1 slot_flags = ITEM_SLOT_BELT - custom_materials = list(/datum/material/diamond=2000, /datum/material/titanium=20000, /datum/material/plasma=20000) + custom_materials = list(/datum/material/diamond=10000, /datum/material/titanium=20000, /datum/material/plasma=20000) usesound = 'sound/weapons/drill.ogg' hitsound = 'sound/weapons/drill.ogg' attack_verb = list("drilled") @@ -1092,11 +1094,11 @@ . = ..() if(user.a_intent == INTENT_HARM) var/datum/component/two_handed/TH = GetComponent(/datum/component/two_handed) - if(isliving(target) && TH.wielded && proximity_flag && cooldown <= world.time) - cooldown = world.time + (cooldowntime * 0.75) + if(TH.wielded && isliving(target) && proximity_flag && cooldown <= world.time) + cooldown = world.time + (cooldowntime * 0.5) playsound(src,'sound/misc/crunch.ogg', 200, 1) var/mob/living/M = target - M.DefaultCombatKnockdown(30) + M.DefaultCombatKnockdown(40) M.adjustStaminaLoss(20) else if(TH.wielded) if(cooldown < world.time) diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 795dc42dee..f3ee810773 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -1,7 +1,7 @@ /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner crusher_loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator/premiumka/bdminer, /obj/item/borg/upgrade/modkit/lifesteal/miner, /obj/item/crusher_trophy/miner_eye) loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator/premiumka/bdminer, /obj/item/borg/upgrade/modkit/lifesteal/miner) - songs = list("2360" = sound(file = 'sandcode/sound/ambience/igneon-system-and-death-machine-sins.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC), "2440" = sound(file = 'sandcode/sound/ambience/machinegirl_excruciatingdeath.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC)) // I don't actually know if any of this is copyright free or CC. Fuck. + songs = list("2360" = sound(file = 'sandcode/sound/ambience/igneon-system-and-death-machine-sins.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX), "2440" = sound(file = 'sandcode/sound/ambience/machinegirl_excruciatingdeath.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) // I don't actually know if any of this is copyright free or CC. Fuck. glorymessageshand = list("grabs the blood-drunk's arm, flips their cleaving saw with the other hand, and forcefully makes them chop off their own head with it!", "grabs blood-drunk by their PKA, aims it at their head and then shoots, splattering his brains out!", "rips out both of the blood-drunk's arms, then kicks their limp torso on the groundd and curbstomps their head in so hard it explodes!") glorymessagescrusher = list("chops off the blood-drunk's cleaving saw arm in one swift move, then grabs the saw and swings it against their head, chopping their skull vertically in half!", "bashes the miner to the ground with the hilt of their crusher, then elbow drops their skull so hard it explodes in gore!", "chops the blood-drunk diagonally with their crusher, not quite cutting through but getting their crusher halfway stuck and killing the moaning fiend!") glorymessagespka = list("grabs the blood-drunk by the neck and flips them, shooting through their guts with a PKA blast!", "shoots at the blood-drunk's shoulder, exploding their arm! To finish the fiend off, they grab their PKA and bonk the blood-drunk's head inside their torso!", "doesn't bother with being fancy, and simply shoots at the blood-drunk's head with their PKA, exploding it in one violent blast!") diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 2e835e9b8b..8c2fd2cf95 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -11,7 +11,7 @@ Removes slaughterlings (because they are bullshit), instead replacing them with /mob/living/simple_animal/hostile/megafauna/bubblegum death_sound = 'sandcode/sound/misc/gorenest.ogg' //fuck it var/movesound = 'sound/effects/meteorimpact.ogg' - songs = list("1860" = sound(file = 'sandcode/sound/ambience/bfgdivision.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC), "2070" = sound(file = 'sandcode/sound/ambience/theonlythingtheyfearisyou.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC)) //Thanks Mr. Infringio! + songs = list("1860" = sound(file = 'sandcode/sound/ambience/bfgdivision.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX), "2070" = sound(file = 'sandcode/sound/ambience/theonlythingtheyfearisyou.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) //Thanks Mr. Infringio! glorymessageshand = list("grabs bubblegum by the leg, and pulls them down! While downed, they climb on their torso and punch through it, smashing their demonic heart!", "goes around bubblegum and climbs them by their back, once on top of their head they punch right through the demon's skull, ripping out brain matter and killing it as it limply falls on the ground!") glorymessagescrusher = list("jumps and chops off both of bubblegum's legs in one swift move with their crusher! To finish off the now wheelchair-bound demon, they chop at the torso vertically, getting the crusher stuck in the process but killing the demonic fiend!", "goes around bubblegum and climbs them by their back, once on the top they chop their head off with the crusher!") glorymessagespka = list("shoots the weakened demon in the chest, opening a hole and exposing their inner core! With another blast, the demon's heart explodes, and they fall dead and limp on the ground!", "shoots the weakened demon's head, stunning them and revealing their brain! Another PKA blast finishes off what little brainmatter they had!") diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index fdadfc856f..12273d7a80 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -1,5 +1,5 @@ /mob/living/simple_animal/hostile/megafauna/colossus - songs = list("1170" = sound(file = 'sandcode/sound/ambience/theopenedway.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC)) //Shadow of the colossus OST + songs = list("1170" = sound(file = 'sandcode/sound/ambience/theopenedway.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) //Shadow of the colossus OST glorymessageshand = list("grabs the colossus by the leg, and pulls them down! While downed, they climb on his neck and violently rip off their vocal cords!", "goes around the colossus and climbs them by their back, once on top of their shoulder they grab it's arm and aim the blaster at the creature's head, which finishes itself off with a penetrating death bolt that blasts off their head!") glorymessagescrusher = list("throws their crusher at the colossus' head, which surprisingly works! Humiliated, the angelic creature dies with a big fucking axe stuck on their skull!", "chops off one of the colossus' legs with the crusher, as it falls down they grab the leg and use it as a makeshift club on the creature's head, which explodes in differently-sized giblets on impact!") glorymessagespka = list("somehow parries a death bolt with a PKA blast, which goes right back to it's owner's torso, opening a hole on them and killing them!") diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index 970e80a432..96a81e5487 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -1,2 +1,5 @@ /mob/living/simple_animal/hostile/megafauna/demonic_frost_miner + songs = list("1530" = sound(file = 'sandcode/sound/ambience/lisapebbleman.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) // Doubt the creator would care lol deathsound = "bodyfall" + glorymessageshand = list("grabs the demonic miner's arm, flips their cleaving saw with the other hand, and forcefully makes them chop off their own head with it!", "grabs demonic miner by their PKA, aims it at their head and then shoots, splattering his brains out!", "rips out both of the demonic miner's arms, then kicks their limp torso on the groundd and curbstomps their head in so hard it explodes!") + glorymessagescrusher = list("chops off the demonic miner's cleaving saw arm in one swift move, then grabs the saw and swings it against their head, chopping their skull vertically in half!", "bashes the miner to the ground with the hilt of their crusher, then elbow drops their skull so hard it explodes in gore!", "chops the demonic miner diagonally with their crusher, not quite cutting through but getting their crusher halfway stuck and killing the moaning fiend!") diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index bd6eb9cf37..7632125d7e 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -1,5 +1,5 @@ /mob/living/simple_animal/hostile/megafauna/dragon - songs = list("1860" = sound(file = 'sandcode/sound/ambience/duskcreations.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC), "2350" = sound(file = 'sandcode/sound/ambience/dragonborn.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC)) // Andrew is a nice guy, he'll let it slide. Taken from the DUSK OST. Not sure about the skyrim theme though... + songs = list("1860" = sound(file = 'sandcode/sound/ambience/duskcreations.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX), "2350" = sound(file = 'sandcode/sound/ambience/dragonborn.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) // Andrew is a nice guy, he'll let it slide. Taken from the DUSK OST. Not sure about the skyrim theme though... glorymessageshand = list("climbs atop the drake's head as it dangles weakly near the ground, ripping its left horn off and jumping down before swinging it at the drake's face full force, cracking its maw!", "goes around the dragon and rips off their tail, using it's spiked end to beat the dragon's bloodied face until it cracks open and it dies!") glorymessagescrusher = list("chops off the dragon's head by the neck, and it falls down with a strong thud!", "rams into the dragon's skull with the hilt of their crusher repeatedly and cracking holes into their skull each time, turning it's brain into mush!") glorymessagespka = list("shoots at the dragon's wings with their PKA, exploding them into bizarre giblets! They then finish the poor creature off with a point-blank blast to the head, exploding it!") diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/gladiator.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/gladiator.dm index 17d89e27bf..d376c6b4e2 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/gladiator.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/gladiator.dm @@ -49,6 +49,7 @@ They deal 35 brute (armor is considered). var/stunned = FALSE var/stunduration = 15 var/move_to_charge = 1.5 + songs = list("3850" = sound(file = 'sandcode/sound/ambience/gladiator.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) loot = list(/obj/structure/closet/crate/necropolis/gladiator) crusher_loot = list(/obj/structure/closet/crate/necropolis/gladiator/crusher) glorymessageshand = list("grabs the gladiator's arm, flips their zweihander with the other hand, and forcefully makes them chop off their own head with it!", "grabs the gladiator by their zweihander, and mark detonate them into a shower of gibs!", "rips out both of the gladiator's arms, then kicks their limp torso on the groundd and curbstomps their head in so hard it explodes!") @@ -74,6 +75,13 @@ They deal 35 brute (armor is considered). if(!(M in introduced) && (stat != DEAD)) introduction(M) +/mob/living/simple_animal/hostile/megafauna/gladiator/death() + . = ..() + addtimer(CALLBACK(src, .proc/deadify), 2.5 SECONDS) + +/mob/living/simple_animal/hostile/megafauna/gladiator/proc/deadify() + icon_state = "gladiator_dead" + /mob/living/simple_animal/hostile/megafauna/gladiator/apply_damage(damage, damagetype, def_zone, blocked, forced, bare_wound_bonus = FALSE, sharpness = FALSE, wound_bonus=CANT_WOUND) if(speen) visible_message("[src] brushes off all incoming attacks!") diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 926c13971c..89acaea255 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -1,7 +1,7 @@ /mob/living/simple_animal/hostile/megafauna/hierophant loot = list(/obj/item/hierophant_club, /obj/item/borg/upgrade/modkit/wall) crusher_loot = list(/obj/item/hierophant_club, /obj/item/borg/upgrade/modkit/wall) - songs = list("2610" = sound(file = 'sandcode/sound/ambience/dummyremix.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC), "1680" = sound(file = 'sandcode/sound/ambience/rollermobster.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC)) //Dummy originally made by Toby Fox, remix by Emsdache. Roller Mobster by Carpenter Brut. + songs = list("2610" = sound(file = 'sandcode/sound/ambience/dummyremix.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX), "1680" = sound(file = 'sandcode/sound/ambience/rollermobster.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) //Dummy originally made by Toby Fox, remix by Emsdache. Roller Mobster by Carpenter Brut. glorymessageshand = list("grabs the floating club by the hilt, and violently smashes it onto the ground, killing it!", "jumps onto the hierophant and rips off their beacon with one hand as it crackles and explodes!") glorymessagescrusher = list("violently chops the floating club with seemingly no effect, until it falls onto the ground limply!") glorymessagespka = list("shoots at the floating club in the middle of it's 'face', which seemingly overloads it until it explodes!") diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/king_of_goats.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/king_of_goats.dm index 04dc21aab7..78338790c5 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/king_of_goats.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/king_of_goats.dm @@ -229,11 +229,11 @@ Difficulty: Insanely Hard current_song_length = 1759 var/sound/song_played = sound(current_song) for(var/mob/M in rangers) - if(!M.client || !(M.client.prefs.toggles & SOUND_BOSS_MUSIC)) + if(!M.client || !(M.client.prefs.toggles & SOUND_MEGAFAUNA)) continue - M.stop_sound_channel(CHANNEL_BOSSMUSIC) + M.stop_sound_channel(CHANNEL_JUKEBOX) rangers[M] = world.time + current_song_length - M.playsound_local(null, null, 30, channel = CHANNEL_BOSSMUSIC, S = song_played) + M.playsound_local(null, null, 30, channel = CHANNEL_JUKEBOX, S = song_played) stun_chance = 10 update_icon() visible_message("\The [src]' wounds close with a flash, and when he emerges, he's even larger than before!") @@ -256,24 +256,24 @@ Difficulty: Insanely Hard var/sound/song_played = sound(current_song) for(var/mob/M in range(10, src)) - if(!M.client || !(M.client.prefs.toggles & SOUND_BOSS_MUSIC)) + if(!M.client || !(M.client.prefs.toggles & SOUND_MEGAFAUNA)) continue if(!(M in rangers) || world.time > rangers[M]) - M.stop_sound_channel(CHANNEL_BOSSMUSIC) + M.stop_sound_channel(CHANNEL_JUKEBOX) rangers[M] = world.time + current_song_length - M.playsound_local(null, null, 30, channel = CHANNEL_BOSSMUSIC, S = song_played) + M.playsound_local(null, null, 30, channel = CHANNEL_JUKEBOX, S = song_played) for(var/mob/L in rangers) if(get_dist(src, L) > 10) rangers -= L if(!L || !L.client) continue - L.stop_sound_channel(CHANNEL_BOSSMUSIC) + L.stop_sound_channel(CHANNEL_JUKEBOX) else for(var/mob/L in rangers) rangers -= L if(!L || !L.client) continue - L.stop_sound_channel(CHANNEL_BOSSMUSIC) + L.stop_sound_channel(CHANNEL_JUKEBOX) if(move_to_delay < 3) move_to_delay += 0.2 if(!phase3 && ((health <= 150 && spellscast == 5) || stat == DEAD)) //begin phase 3, reset spell limit and heal @@ -297,7 +297,7 @@ Difficulty: Insanely Hard rangers -= L if(!L || !L.client) continue - L.stop_sound_channel(CHANNEL_BOSSMUSIC) + L.stop_sound_channel(CHANNEL_JUKEBOX) if(phase3) visible_message("\The [src] shrieks as the seal on his power breaks and he starts to break apart!") new /obj/structure/ladder/unbreakable/goat(loc) @@ -313,7 +313,7 @@ Difficulty: Insanely Hard rangers -= L if(!L || !L.client) continue - L.stop_sound_channel(CHANNEL_BOSSMUSIC) + L.stop_sound_channel(CHANNEL_JUKEBOX) . = ..() /mob/living/simple_animal/hostile/megafauna/king/AttackingTarget() diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 6ee3978af6..2c003012a6 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -1,6 +1,6 @@ /mob/living/simple_animal/hostile/megafauna/legion loot = list(/obj/item/stack/sheet/bone = 3) - songs = list("3550" = sound(file = 'sandcode/sound/ambience/mastermind.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC), "1360" = sound(file = 'sandcode/sound/ambience/terrariaboss1.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC), "1560" = sound('sandcode/sound/ambience/megalovania.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC)) //Threading on some lines here with the DOOM 16 OST. But terraria should be fine, megalovania too. + songs = list("3550" = sound(file = 'sandcode/sound/ambience/mastermind.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX), "1360" = sound(file = 'sandcode/sound/ambience/terrariaboss1.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX), "1560" = sound('sandcode/sound/ambience/megalovania.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) //Threading on some lines here with the DOOM 16 OST. But terraria should be fine, megalovania too. glorymessageshand = list("punches into the Legion's maw and rips off a floating skull, which they then proceed to use to bash the Legion until it dies!", "punches through both of the Legion's eyeholes with both hands, ripping out a bunch of tiny skulls and killing it!") glorymessagescrusher = list("slashes the Legion's maw, which falls on the ground as it dies!") glorymessagespka = list("parries a floating legion skulls with a pka shoot, which goes flying violently into the Legion, bursting through them and killing them in the process!") diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index b8a480dbe8..caff7121f1 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -56,8 +56,8 @@ chosenlength = text2num(chosenlengthstring) chosensong = songs[chosenlengthstring] if(chosensong && !songend) - if(M.client.prefs.toggles & SOUND_BOSS_MUSIC) - M.stop_sound_channel(CHANNEL_BOSSMUSIC) + if(M?.client?.prefs?.toggles & SOUND_MEGAFAUNA) + M.stop_sound_channel(CHANNEL_JUKEBOX) songend = chosenlength + world.time SEND_SOUND(M, chosensong) // so silence boss music will mute moosic for people who don't want that, or it just doesn't play at all if prefs disable it if(!retaliated) @@ -70,8 +70,8 @@ enemies |= M enemies |= M.occupant var/mob/living/O = M.occupant - if(O.client.prefs.toggles & SOUND_BOSS_MUSIC) - O.stop_sound_channel(CHANNEL_BOSSMUSIC) + if(O?.client?.prefs?.toggles & SOUND_MEGAFAUNA) + O.stop_sound_channel(CHANNEL_JUKEBOX) songend = chosenlength + world.time SEND_SOUND(O, chosensong) if(!retaliated) @@ -95,8 +95,8 @@ if(world.time >= songend) for(var/mob/living/M in view(src, vision_range)) if(client) - if(M.client.prefs.toggles & SOUND_BOSS_MUSIC) - M.stop_sound_channel(CHANNEL_BOSSMUSIC) + if(M?.client?.prefs?.toggles & SOUND_MEGAFAUNA) + M.stop_sound_channel(CHANNEL_JUKEBOX) songend = chosenlength + world.time SEND_SOUND(M, chosensong) if(health <= glorythreshold && !glorykill && stat != DEAD) @@ -115,8 +115,8 @@ return else for(var/mob/living/M in view(src, vision_range)) - if(M.client) - M.stop_sound_channel(CHANNEL_AMBIENCE) + if(M?.client?.prefs?.toggles & SOUND_MEGAFAUNA) + M.stop_sound_channel(CHANNEL_JUKEBOX) animate(src, color = initial(color), time = 3) desc = initial(desc) var/datum/status_effect/crusher_damage/C = has_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING) @@ -131,7 +131,7 @@ SSblackbox.record_feedback("tally", tab, 1, "[initial(name)]") if(!elimination) //used so the achievment only occurs for the last legion to die. grant_achievement(medal_type, score_type, crusher_kill) - ..() + return ..() /mob/living/simple_animal/hostile/megafauna/AltClick(mob/living/carbon/slayer) if(!slayer.canUseTopic(src, TRUE)) @@ -174,7 +174,7 @@ "You feast on [L], restoring your health!") if(!is_station_level(z) || client) //NPC monsters won't heal while on station adjustBruteLoss(-L.maxHealth/2) - if(L.client) - L.stop_sound_channel(CHANNEL_AMBIENCE) + if(L?.client?.prefs?.toggles & SOUND_MEGAFAUNA) + L.stop_sound_channel(CHANNEL_JUKEBOX) L.gib() ..() diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/rogueprocess.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/rogueprocess.dm index 9e64ebc73c..22da296115 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/rogueprocess.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/rogueprocess.dm @@ -29,7 +29,7 @@ anger_modifier = 0 footstep_type = FOOTSTEP_MOB_HEAVY mob_biotypes = MOB_ROBOTIC - songs = list("2930" = sound(file = 'sandcode/sound/ambience/mbrsystemshock.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC)) //System shock theme remix by Master Boot Record + songs = list("2930" = sound(file = 'sandcode/sound/ambience/mbrsystemshock.ogg', repeat = 0, wait = 0, volume = 70, channel = CHANNEL_JUKEBOX)) //System shock theme remix by Master Boot Record var/special = FALSE wander = FALSE faction = list("mining", "boss") @@ -66,60 +66,93 @@ /mob/living/simple_animal/hostile/megafauna/rogueprocess/OpenFire(target) if(special) return FALSE - ranged_cooldown = world.time + min((ranged_cooldown_time - anger_modifier), 60) + ranged_cooldown = world.time + max((ranged_cooldown_time - anger_modifier), 30) switch(anger_modifier) if(0 to 25) if(prob(50)) - INVOKE_ASYNC(src, .proc/plasmashot, target, FALSE) - sleep(6) - INVOKE_ASYNC(src, .proc/plasmashot, target, FALSE) - sleep(4) - INVOKE_ASYNC(src, .proc/plasmashot, target, FALSE) + INVOKE_ASYNC(src, .proc/plasmashot, target) + if(prob(80)) + sleep(6) + INVOKE_ASYNC(src, .proc/plasmashot, target) + if(prob(50)) + sleep(6) + INVOKE_ASYNC(src, .proc/plasmashot, target) else - INVOKE_ASYNC(src, .proc/shockwave, src.dir, 7, TRUE) + animate(src, color = "#ff0000", time = 3) + sleep(4) + INVOKE_ASYNC(src, .proc/shockwave, src.dir, 7, 2.5) if(25 to 50) if(prob(60)) + special = TRUE INVOKE_ASYNC(src, .proc/plasmaburst, target, FALSE) - sleep(5) + sleep(6) INVOKE_ASYNC(src, .proc/plasmaburst, target, TRUE) - sleep(3) - INVOKE_ASYNC(src, .proc/plasmashot, target, FALSE) - sleep(3) if(prob(50)) + sleep(6) INVOKE_ASYNC(src, .proc/plasmashot, target, FALSE) + if(prob(50)) + sleep(6) + INVOKE_ASYNC(src, .proc/plasmashot, target, FALSE) + special = FALSE else + special = TRUE + animate(src, color = "#ff0000", time = 3) + sleep(4) INVOKE_ASYNC(src, .proc/shockwave, WEST, 10, TRUE) INVOKE_ASYNC(src, .proc/shockwave, EAST, 10, TRUE) sleep(7) INVOKE_ASYNC(src, .proc/shockwave, NORTH, 10, TRUE) INVOKE_ASYNC(src, .proc/shockwave, SOUTH, 10, TRUE) + animate(src, color = initial(color), time = 5) + special = FALSE if(50 to INFINITY) - if(prob(65)) + if(prob(75)) if(prob(60)) - INVOKE_ASYNC(src, .proc/plasmaburst, target, FALSE) - INVOKE_ASYNC(src, .proc/shockwave, src.dir, 15, FALSE) + INVOKE_ASYNC(src, .proc/plasmaburst, target) + special = TRUE + animate(src, color = "#ff0000", time = 3) sleep(5) - INVOKE_ASYNC(src, .proc/plasmaburst, target, FALSE) - sleep(5) - INVOKE_ASYNC(src, .proc/plasmaburst, target, FALSE) - sleep(3) - INVOKE_ASYNC(src, .proc/plasmaburst, target, FALSE) + INVOKE_ASYNC(src, .proc/shockwave, src.dir, 15) + if(prob(60)) + sleep(5) + INVOKE_ASYNC(src, .proc/plasmaburst, target) + sleep(5) + INVOKE_ASYNC(src, .proc/plasmaburst, target) + if(prob(50)) + sleep(5) + INVOKE_ASYNC(src, .proc/plasmaburst, target) + animate(src, color = initial(color), time = 3) + special = FALSE else var/turf/up = locate(x, y + 10, z) var/turf/down = locate(x, y - 10, z) var/turf/left = locate(x - 10, y, z) var/turf/right = locate(x + 10, y, z) - INVOKE_ASYNC(src, .proc/plasmaburst, up, TRUE) - INVOKE_ASYNC(src, .proc/plasmaburst, down, FALSE) + animate(src, color = "#ff0000", time = 3) + special = TRUE sleep(3) - INVOKE_ASYNC(src, .proc/plasmashot, left, FALSE) - INVOKE_ASYNC(src, .proc/plasmashot, right, FALSE) + INVOKE_ASYNC(src, .proc/plasmaburst, left, TRUE) + INVOKE_ASYNC(src, .proc/plasmaburst, right, FALSE) + sleep(3) + INVOKE_ASYNC(src, .proc/plasmashot, up, FALSE) + INVOKE_ASYNC(src, .proc/plasmashot, down, FALSE) sleep(10) + animate(src, color = initial(color), time = 3) + special = FALSE if(prob(35)) + animate(src, color = "#ff0000", time = 3) + sleep(3) + special = TRUE for(var/dire in GLOB.cardinals) - INVOKE_ASYNC(src, .proc/shockwave, dire, 7, TRUE) + INVOKE_ASYNC(src, .proc/shockwave, dire, 7, TRUE, 3) + sleep(6) + animate(src, color = initial(color), time = 3) + special = FALSE else - INVOKE_ASYNC(src, .proc/ultishockwave, 7, TRUE) + special = TRUE + INVOKE_ASYNC(src, .proc/ultishockwave, 7, 5) + sleep(10) + special = FALSE /mob/living/simple_animal/hostile/megafauna/rogueprocess/Move() . = ..() @@ -133,14 +166,12 @@ A.ex_act(EXPLODE_HEAVY) DestroySurroundings() -/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/plasmashot(atom/target, var/specialize = TRUE) +/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/plasmashot(atom/target) var/path = get_dist(src, target) if(path > 2) if(!target) return visible_message("[src] raises it's plasma cutter!") - if(specialize) - special = TRUE sleep(3) var/turf/startloc = get_turf(src) var/obj/item/projectile/P = new /obj/item/projectile/plasma/rogue(startloc) @@ -150,17 +181,13 @@ P.original = target var/set_angle = Get_Angle(src, target) P.fire(set_angle) - if(specialize) - special = FALSE -/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/plasmaburst(atom/target, var/specialize = TRUE) +/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/plasmaburst(atom/target) var/list/theline = get_dist(src, target) if(theline > 2) if(!target) return visible_message("[src] raises it's tri-shot plasma cutter!") - if(specialize) - special = TRUE var/ogangle = Get_Angle(src, target) sleep(7) var/turf/startloc = get_turf(src) @@ -184,20 +211,14 @@ Y.firer = src Y.original = target Y.fire(otherangle2) - if(specialize) - special = FALSE -/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/knockdown(var/specialize = TRUE) +/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/knockdown(range = 2) visible_message("[src] smashes into the ground!") - if(specialize) - special = TRUE playsound(src,'sound/misc/crunch.ogg', 200, 1) var/list/hit_things = list() sleep(7) - for(var/turf/T in oview(2, src)) + for(var/turf/T in oview(range, src)) if(!T) - if(specialize) - special = FALSE return new /obj/effect/temp_visual/small_smoke/halfsecond(T) for(var/mob/living/L in T.contents) @@ -209,23 +230,17 @@ L.apply_damage_type(40, BRUTE) hit_things += L sleep(3) - if(specialize) - special = FALSE -/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/shockwave(direction, range, var/specialize = TRUE) +/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/shockwave(direction, range, wave_duration = 1.5) visible_message("[src] smashes the ground in a general direction!!") - if(specialize) - special = TRUE playsound(src,'sound/misc/crunch.ogg', 200, 1) - sleep(5) + sleep(7) var/list/hit_things = list() - var/turf/T = get_turf(get_step(src, src.dir)) + var/turf/T = get_turf(src) var/ogdir = direction var/turf/otherT = get_step(T, turn(ogdir, 90)) var/turf/otherT2 = get_step(T, turn(ogdir, -90)) if(!T) - if(specialize) - special = FALSE return for(var/i in 1 to range) new /obj/effect/temp_visual/small_smoke/halfsecond(T) @@ -255,22 +270,16 @@ T = get_step(T, ogdir) otherT = get_step(otherT, ogdir) otherT2 = get_step(otherT2, ogdir) - sleep(1.5) - if(specialize) - special = FALSE + sleep(wave_duration) -/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/ultishockwave(range, var/specialize = TRUE) +/mob/living/simple_animal/hostile/megafauna/rogueprocess/proc/ultishockwave(range, iteration_duration = 5) visible_message("[src] smashes the ground around them!!") - if(specialize) - special = TRUE playsound(src,'sound/misc/crunch.ogg', 200, 1) sleep(10) var/list/hit_things = list() for(var/i in 1 to range) for(var/turf/T in (view(i, src) - view(i - 1, src))) if(!T) - if(specialize) - special = FALSE return new /obj/effect/temp_visual/small_smoke/halfsecond(T) for(var/mob/living/L in T.contents) @@ -280,6 +289,4 @@ L.Stun(10) L.apply_damage_type(25, BRUTE) hit_things += L - sleep(3) - if(specialize) - special = FALSE + sleep(iteration_duration) diff --git a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/sif.dm b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/sif.dm index be9138fd59..aabcaff790 100644 --- a/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/sif.dm +++ b/sandcode/code/modules/mob/living/simple_animal/hostile/megafauna/sif.dm @@ -85,7 +85,7 @@ Difficulty: Medium var/stageThree = FALSE var/currentPower = 0 //Every few seconds this variable gets higher, when it gets high //enough it will use a special attack then reset the variable to 0w - songs = list("2670" = sound(file = 'sandcode/sound/ambience/furidanger802.ogg', repeat = 0, wait = 0, volume = 60, channel = CHANNEL_BOSSMUSIC)) + songs = list("2670" = sound(file = 'sandcode/sound/ambience/furidanger802.ogg', repeat = 0, wait = 0, volume = 100, channel = CHANNEL_JUKEBOX)) glorymessageshand = list("climbs atop the wolf's head as it dangles weakly near the ground, ripping its left eye off and jumping down before punching through it's cranium!", "goes around the wolf and rips off their tail, using it as whip on the fiend") glorymessagescrusher = list("chops off the wolf's head by it's neck!") glorymessagespka = list("shoots at the wolf's eyes with their PKA, exploding them into giblets!") diff --git a/sandcode/code/modules/ruins/lavalandruin_code/misc.dm b/sandcode/code/modules/ruins/lavalandruin_code/misc.dm index 7c38cffeed..ac0e6de4a3 100644 --- a/sandcode/code/modules/ruins/lavalandruin_code/misc.dm +++ b/sandcode/code/modules/ruins/lavalandruin_code/misc.dm @@ -20,14 +20,19 @@ w_class = WEIGHT_CLASS_BULKY /obj/item/katana/goldbrand/Initialize() - ..() + . = ..() START_PROCESSING(SSobj,src) +/obj/item/katana/goldbrand/Destroy() + STOP_PROCESSING(SSobj,src) + . = ..() + /obj/item/katana/goldbrand/process() ourmegafauna = list() for(var/mob/living/simple_animal/hostile/megafauna/M in GLOB.mob_living_list) - ourmegafauna += M - if(!ourmegafauna.len) + if(M.stat != DEAD) + ourmegafauna |= M + if(!length(ourmegafauna)) visible_message("[src] shines brightly, turning into [upgradedname]!") name = upgradedname desc = upgradeddesc @@ -41,17 +46,18 @@ w_class = WEIGHT_CLASS_NORMAL STOP_PROCESSING(SSobj,src) -/obj/item/katana/goldbrand/afterattack(target, user) - ..() - if(iscarbon(target)) - var/mob/living/carbon/L = target - var/mob/living/carbon/ourman = user - L.apply_damage(damage = burn_force,damagetype = BURN, def_zone = L.get_bodypart(check_zone(ourman.zone_selected)), blocked = FALSE, forced = FALSE) - L.adjust_fire_stacks(firestacking) - L.IgniteMob() - else if(isliving(target)) - var/mob/living/thetarget = target - thetarget.adjustBruteLoss(burn_force) +/obj/item/katana/goldbrand/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + . =..() + if(proximity_flag) + if(iscarbon(target)) + var/mob/living/carbon/L = target + var/mob/living/carbon/ourman = user + L.apply_damage(damage = burn_force,damagetype = BURN, def_zone = L.get_bodypart(check_zone(ourman.zone_selected)), blocked = FALSE, forced = FALSE) + L.adjust_fire_stacks(firestacking) + L.IgniteMob() + else if(isliving(target)) + var/mob/living/thetarget = target + thetarget.adjustBruteLoss(burn_force) /obj/effect/wrath name = "Wrath's Wall" diff --git a/sandcode/icons/mob/inhands/weapons/crucible_lefthand.dmi b/sandcode/icons/mob/inhands/weapons/crucible_lefthand.dmi deleted file mode 100644 index 896f812d7c..0000000000 Binary files a/sandcode/icons/mob/inhands/weapons/crucible_lefthand.dmi and /dev/null differ diff --git a/sandcode/icons/mob/inhands/weapons/crucible_righthand.dmi b/sandcode/icons/mob/inhands/weapons/crucible_righthand.dmi deleted file mode 100644 index 05e238c84a..0000000000 Binary files a/sandcode/icons/mob/inhands/weapons/crucible_righthand.dmi and /dev/null differ diff --git a/sandcode/icons/mob/inhands/weapons/swords_lefthand.dmi b/sandcode/icons/mob/inhands/weapons/swords_lefthand.dmi index 5bbcad8554..6201c3d529 100644 Binary files a/sandcode/icons/mob/inhands/weapons/swords_lefthand.dmi and b/sandcode/icons/mob/inhands/weapons/swords_lefthand.dmi differ diff --git a/sandcode/icons/mob/inhands/weapons/swords_righthand.dmi b/sandcode/icons/mob/inhands/weapons/swords_righthand.dmi index 9e0368f114..9f3e2ddbb4 100644 Binary files a/sandcode/icons/mob/inhands/weapons/swords_righthand.dmi and b/sandcode/icons/mob/inhands/weapons/swords_righthand.dmi differ