Skip to content

Commit

Permalink
fixes and new features
Browse files Browse the repository at this point in the history
  • Loading branch information
dwasint committed Oct 7, 2023
1 parent 53676d1 commit e2c4f0e
Show file tree
Hide file tree
Showing 9 changed files with 113 additions and 1 deletion.
Binary file modified icons/mob/clothing/suits/utility.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/suits/utility.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
button_icon_state = "incorporealize"
if(isliving(owner))
var/mob/living/owner_mob = owner
owner_mob.movement_type & ~PHASING
owner_mob.movement_type &= ~PHASING
animate(owner_mob, alpha = 255, time = 1.5 SECONDS)

build_all_button_icons(UPDATE_BUTTON_NAME|UPDATE_BUTTON_ICON)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,35 @@
hit_carbon.blood_volume -= throwforce
hit_carbon.Knockdown(1.5 SECONDS)
playsound(src, 'goon/sounds/impact_sounds/Flesh_Stab_3.ogg', 25, 1)

/obj/item/slasher_machette/attack_hand(mob/user, list/modifiers)
if(isliving(user))
var/mob/living/living_user = user
if(!user.mind.has_antag_datum(/datum/antagonist/slasher))
forceMove(get_turf(user))
user.emote("scream")
living_user.adjustBruteLoss(force)
to_chat(user, span_warning("You scream out in pain as you hold the [src]!"))
if(ishuman(user))
var/mob/living/carbon/human/human = user
var/turf/turf = get_turf(user)
var/list/blood_drop = list(human.get_blood_id() = 3)
turf.add_liquid_list(blood_drop, FALSE, 300)
return FALSE
. = ..()

/obj/item/slasher_machette/attack(mob/living/target_mob, mob/living/user, params)
if(isliving(user))
var/mob/living/living_user = user
if(!user.mind.has_antag_datum(/datum/antagonist/slasher))
forceMove(get_turf(user))
user.emote("scream")
living_user.adjustBruteLoss(force)
to_chat(user, span_warning("You scream out in pain as you hold the [src]!"))
if(ishuman(user))
var/mob/living/carbon/human/human = user
var/turf/turf = get_turf(user)
var/list/blood_drop = list(human.get_blood_id() = 3)
turf.add_liquid_list(blood_drop, FALSE, 300)
return FALSE
. = ..()
34 changes: 34 additions & 0 deletions monkestation/code/modules/new_antagonists/slasher/slasher_datum.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
/datum/outfit/slasher
name = "Slasher Outfit"
suit = /obj/item/clothing/suit/apron/slasher
uniform = /obj/item/clothing/under/color/random/slasher
shoes = /obj/item/clothing/shoes/slasher_shoes
mask = /obj/item/clothing/mask/gas/slasher

/datum/antagonist/slasher
name = "\improper Slasher"
show_in_antagpanel = TRUE
Expand All @@ -7,14 +14,17 @@
antag_hud_name = "slasher"
show_name_in_check_antagonists = TRUE
hud_icon = 'monkestation/icons/mob/slasher.dmi'
preview_outfit = /datum/outfit/slasher

var/obj/item/slasher_machette/linked_machette
var/breath_out = FALSE

/datum/antagonist/slasher/apply_innate_effects(mob/living/mob_override)
. = ..()
var/mob/living/current_mob = mob_override || owner.current

ADD_TRAIT(current_mob, TRAIT_BATON_RESISTANCE, "slasher")
RegisterSignal(current_mob, COMSIG_LIVING_LIFE, PROC_REF(LifeTick))

///abilities galore
var/datum/action/cooldown/slasher/summon_machette/machete = new
Expand All @@ -25,3 +35,27 @@
incorporealize.Grant(current_mob)
var/datum/action/cooldown/slasher/soul_steal/soul_steal = new
soul_steal.Grant(current_mob)
var/datum/action/cooldown/slasher/regenerate/regenerate = new
regenerate.Grant(current_mob)

var/mob/living/carbon/human/human = current_mob
human.equipOutfit(/datum/outfit/slasher)

/datum/antagonist/slasher/proc/LifeTick(mob/living/source, seconds_per_tick, times_fired)
if(breath_out)
source.emote("exhale")
breath_out = FALSE
else
source.emote("inhale")
breath_out = TRUE

for(var/mob/living/carbon/human in view(7, source))
if(human == source)
continue
human.playsound_local(get_turf(human), 'sound/health/slowbeat.ogg', 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE)

var/turf/TT = get_turf(source)
var/turf/T = pick(RANGE_TURFS(4,TT))

var/obj/effect/gibspawner/generic/new_gib = new(T)

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/obj/item/clothing/shoes/slasher_shoes
name = "Industrial Boots"
icon_state = "jackboots"
inhand_icon_state = "jackboots"
clothing_traits = list(TRAIT_NO_SLIP_ALL)
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF

/obj/item/clothing/shoes/slasher_shoes/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, "slasher")
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/obj/item/clothing/mask/gas/slasher
name = "slasher's gas mask"
desc = "A close-fitting sealed gas mask, this one seems to be protruding some kind of dark aura."

icon = 'icons/obj/clothing/head/utility.dmi'
worn_icon = 'icons/mob/clothing/head/utility.dmi'
icon_state = "welding"
inhand_icon_state = "welding"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF

/obj/item/clothing/mask/gas/slasher/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, "slasher")

/obj/item/clothing/mask/gas/slasher/adjustmask()
return
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/obj/item/clothing/suit/apron/slasher
name = "butcher's apron"
desc = "A brown butcher's apron, you can feel an aura of something dark radiating off of it."
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF

icon_state = "slasher"
inhand_icon_state = "slasher"

/obj/item/clothing/suit/apron/slasher/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, "slasher")

/obj/item/clothing/under/color/random/slasher
name = "butcher's jumpsuit"
clothing_traits = list(TRAIT_NODROP)
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF

3 changes: 3 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -6030,6 +6030,9 @@
#include "monkestation\code\modules\new_antagonists\slasher\abilities\recall_machette.dm"
#include "monkestation\code\modules\new_antagonists\slasher\abilities\slasher_regenerate.dm"
#include "monkestation\code\modules\new_antagonists\slasher\abilities\soul_steal.dm"
#include "monkestation\code\modules\new_antagonists\slasher\slasher_outfit\slasher_footwear.dm"
#include "monkestation\code\modules\new_antagonists\slasher\slasher_outfit\slasher_headgear.dm"
#include "monkestation\code\modules\new_antagonists\slasher\slasher_outfit\slasher_middlewear.dm"
#include "monkestation\code\modules\ocean_content\department_consoles\engineering.dm"
#include "monkestation\code\modules\ocean_content\fluff\barrier.dm"
#include "monkestation\code\modules\ocean_content\fluff\base_turf_editor.dm"
Expand Down

0 comments on commit e2c4f0e

Please sign in to comment.