diff --git a/html/changelogs/AutoChangeLog-pr-1895.yml b/html/changelogs/AutoChangeLog-pr-1895.yml new file mode 100644 index 0000000000000..02184d271122a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1895.yml @@ -0,0 +1,4 @@ +author: "ReturnToZender (code)" +delete-after: True +changes: + - rscadd: "Anime eye sprites" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-1912.yml b/html/changelogs/AutoChangeLog-pr-1912.yml new file mode 100644 index 0000000000000..44e55e70b20e3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1912.yml @@ -0,0 +1,4 @@ +author: "Odairu" +delete-after: True +changes: + - rscadd: "Adds sec hailer" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-1932.yml b/html/changelogs/AutoChangeLog-pr-1932.yml new file mode 100644 index 0000000000000..f1cb3787241ac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1932.yml @@ -0,0 +1,4 @@ +author: "Odairu" +delete-after: True +changes: + - bugfix: "bows properly apply damage as ashwalker/icecat" \ No newline at end of file diff --git a/modular_zubbers/code/_globalvars/lists/maintenance_loot_one_of_a_kind.dm b/modular_zubbers/code/_globalvars/lists/maintenance_loot_one_of_a_kind.dm index 3b2ae85c4579c..b065627831845 100644 --- a/modular_zubbers/code/_globalvars/lists/maintenance_loot_one_of_a_kind.dm +++ b/modular_zubbers/code/_globalvars/lists/maintenance_loot_one_of_a_kind.dm @@ -2,7 +2,7 @@ GLOBAL_LIST_INIT(one_of_a_kind_loot, list( /obj/item/clothing/suit/armor/reactive/table, /obj/item/clothing/shoes/jackboots/fast, /obj/item/melee/energy/sword/bananium, - /obj/item/dice/d20/fate/one_use, + /obj/item/dice/d20/teleporting_die_of_fate, /obj/item/modular_computer/pda/clear, /obj/item/gun/energy/meteorgun/pen, /obj/item/hot_potato, @@ -10,4 +10,4 @@ GLOBAL_LIST_INIT(one_of_a_kind_loot, list( /obj/item/spear/grey_tide, /obj/item/shadowcloak, /obj/item/disk/nuclear/fake, -)) \ No newline at end of file +)) diff --git a/modular_zubbers/code/game/Items/sec_hailer.dm b/modular_zubbers/code/game/Items/sec_hailer.dm new file mode 100644 index 0000000000000..28a7b9ddd7932 --- /dev/null +++ b/modular_zubbers/code/game/Items/sec_hailer.dm @@ -0,0 +1,73 @@ +/obj/item/clothing/mask/gas/sechailer + // Did the hailer get EMP'd? + var/emped = FALSE + var/obj/item/radio/intercom/radio + COOLDOWN_DECLARE(backup_cooldown) + actions_types = list(/datum/action/item_action/backup, /datum/action/item_action/halt, /datum/action/item_action/adjust) + +// Swat Mask too +/obj/item/clothing/mask/gas/sechailer/swat + actions_types = list(/datum/action/item_action/backup, /datum/action/item_action/halt) + +/datum/action/item_action/backup + name = "BACKUP!" + +/// Add the Radio +/obj/item/clothing/mask/gas/sechailer/Initialize(mapload) + . = ..() + AddElement(/datum/element/empprotection, EMP_PROTECT_CONTENTS) + radio = new(src) + radio.set_frequency(FREQ_SECURITY) + radio.set_listening(FALSE, FALSE) + radio.recalculateChannels() + +/obj/item/clothing/mask/gas/sechailer/Destroy() + QDEL_NULL(radio) + . = ..() + +/// If EMP'd, become EMP'd +/obj/item/clothing/mask/gas/sechailer/emp_act(severity) + . = ..() + if(!emped) + balloon_alert_to_viewers("Backup Hailer Malfunctioning!", vision_distance = 1) + emped = TRUE + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/clothing/mask/gas/sechailer, emp_reset)), 2 MINUTES) + +/// Reset EMP after 2 minutes +/obj/item/clothing/mask/gas/sechailer/proc/emp_reset() + SIGNAL_HANDLER + + balloon_alert(src, "Backup Hailer Recalibrated") + emped = FALSE + +/obj/item/clothing/mask/gas/sechailer/ui_action_click(mob/user, action) + if (istype(action, /datum/action/item_action/backup)) + backup() + else if (istype(action, /datum/action/item_action/halt)) + halt() + else + adjust_visor(user) + +/obj/item/clothing/mask/gas/sechailer/proc/backup() + var/turf/turf_location = get_turf(src) + var/location = get_area_name(turf_location) + + if (!isliving(usr) || !can_use(usr)) + return + if (!COOLDOWN_FINISHED(src, backup_cooldown)) + balloon_alert(usr, "On Cooldown!") + return + if (emped) + balloon_alert(usr, "Backup Malfunctioning!") + return + if (!is_station_level(turf_location.z)) + balloon_alert(usr, "Out of Range!") + return + + COOLDOWN_START(src, backup_cooldown, 1 MINUTES) + radio.talk_into(usr, "Backup Requested in [location]!", RADIO_CHANNEL_SECURITY) + usr.audible_message("BACKUP REQUESTED!") + balloon_alert_to_viewers("Backup Requested!", "Backup Requested!", 7) + log_combat(usr, src, "has called for backup") + playsound(usr, 'sound/misc/whistle.ogg', 50, FALSE, 4) + diff --git a/modular_zubbers/code/modules/bow_adjustments/arrow.dm b/modular_zubbers/code/modules/bow_adjustments/arrow.dm index 89d01e187263e..86296f5d7f569 100644 --- a/modular_zubbers/code/modules/bow_adjustments/arrow.dm +++ b/modular_zubbers/code/modules/bow_adjustments/arrow.dm @@ -20,12 +20,12 @@ /mob/living/basic/wumborian_fugu, ) -/obj/projectile/bullet/arrow/prehit_pierce(mob/living/target, mob/living/carbon/human/user) - +/obj/projectile/bullet/arrow/prehit_pierce(mob/living/target) + var/mob/living/carbon/human/user = firer if(isnull(target)) return ..() - if(user?.mind?.special_role == ROLE_LAVALAND) + if(istype(user?.mind?.assigned_role, /datum/job/ash_walker) || istype(user?.mind?.assigned_role, /datum/job/primitive_catgirl)) damage += tribal_damage_bonus weak_against_armour = FALSE diff --git a/modular_zubbers/code/modules/mob/dead/new_player/body_markings.dm b/modular_zubbers/code/modules/mob/dead/new_player/body_markings.dm index fda9190608323..849185a4870aa 100644 --- a/modular_zubbers/code/modules/mob/dead/new_player/body_markings.dm +++ b/modular_zubbers/code/modules/mob/dead/new_player/body_markings.dm @@ -38,6 +38,16 @@ icon_state = "deer" affected_bodyparts = HEAD +/datum/body_marking/bubber/anime_inner + name = "Anime Eyes (Inner)" + icon_state = "eyesinner" + affected_bodyparts = HEAD + +/datum/body_marking/bubber/anime_outer + name = "Anime Eyes (Outer)" + icon_state = "eyesouter" + affected_bodyparts = HEAD + /datum/body_marking/bubber/clowncross name = "Clown Cross" icon_state = "clowncross" diff --git a/modular_zubbers/icons/mob/body_markings/markings.dmi b/modular_zubbers/icons/mob/body_markings/markings.dmi index 3c789cc4cd3c2..19f29150ad86e 100644 Binary files a/modular_zubbers/icons/mob/body_markings/markings.dmi and b/modular_zubbers/icons/mob/body_markings/markings.dmi differ diff --git a/tgstation.dme b/tgstation.dme index b28f238dc7af5..29b321594c87b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8612,6 +8612,7 @@ #include "modular_zubbers\code\game\Items\coins.dm" #include "modular_zubbers\code\game\Items\nerdcrowbar.dm" #include "modular_zubbers\code\game\Items\plushes.dm" +#include "modular_zubbers\code\game\Items\sec_hailer.dm" #include "modular_zubbers\code\game\Items\storage\backpack.dm" #include "modular_zubbers\code\game\Items\storage\medkit.dm" #include "modular_zubbers\code\game\machinery\crew_monitor.dm"