diff --git a/code/datums/beepsky_fashion.dm b/code/datums/beepsky_fashion.dm
index 201ab86457..bbf3812770 100644
--- a/code/datums/beepsky_fashion.dm
+++ b/code/datums/beepsky_fashion.dm
@@ -30,40 +30,28 @@
//assume name and description is always set, because otherwise, what would be the point of beepsky fashion?
beepers.name = name
beepers.desc = desc
+
+ //set each variable in beepsky if its defined here, otherwise set it to its initial value just in case
if(death_emote)
beepers.death_emote = death_emote
- else
- beepers.death_emote = initial(beepers.death_emote)
if(capture_one)
beepers.capture_one = capture_one
- else
- beepers.capture_one = initial(beepers.capture_one)
if(capture_two)
beepers.capture_two = capture_two
- else
- beepers.capture_two = initial(beepers.capture_two)
if(infraction)
beepers.infraction = infraction
- else
- beepers.infraction = initial(beepers.infraction)
if(infraction)
beepers.taunt = taunt
- else
- beepers.taunt = initial(beepers.taunt)
if(attack_one)
beepers.attack_one = attack_one
- else
- beepers.attack_one = initial(beepers.attack_one)
if(attack_two)
beepers.attack_two = attack_two
- else
- beepers.attack_two = initial(beepers.attack_two)
/datum/beepsky_fashion/proc/stun_attack(mob/living/carbon/C) //fired when beepsky does a stun attack with the fashion worn, for sounds/overlays/etc
return
@@ -132,3 +120,13 @@
infraction = "Treason of level THREAT_LEVEL detected!"
attack_one = "BOT strikes CRIMINAL with his kingly authority!"
attack_two = "BOT strikes you with his kingly authority!"
+
+/datum/beepsky_fashion/pirate
+ obj_icon_state = "pirate"
+ name = "Beepsbeard the Pirate"
+ desc = "Sailor of the seven seas, all sea-faring bots fear the one known as Beepsbeard."
+ capture_one = "BOT is making CRIMINAL walk the plank!"
+ capture_two = "BOT is making you walk the plank!"
+ infraction = "Enemy vessel spotted with threat level THREAT_LEVEL!"
+ attack_one = "BOT strikes CRIMINAL with his cutlass!"
+ attack_two = "BOT strikes you with his cutlass!"
diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm
index 729bb4d33c..752644dbb5 100644
--- a/code/modules/mob/living/simple_animal/bot/secbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/secbot.dm
@@ -45,6 +45,8 @@
var/attack_one = "BOT has stunned CRIMINAL!"
var/attack_two = "BOT has stunned you!"
+ var/stun_sound =
+
/mob/living/simple_animal/bot/secbot/beepsky
name = "Officer Beep O'sky"
desc = "It's Officer Beep O'sky! Powered by a potato and a shot of whiskey."
@@ -240,6 +242,7 @@ Auto Patrol: []"},
if(bot_hat)
to_chat("\[src] already has a hat, and the laws of physics disallow him from wearing a second!")
if(H.beepsky_fashion)
+ to_chat(user, "You set [H] on [src]'s head.")
bot_hat = H
H.forceMove(src)
update_beepsky_fluff()
@@ -289,6 +292,19 @@ Auto Patrol: []"},
if(!on)
return
if(iscarbon(A))
+ if(bot_hat)
+ to_chat(A, "You knock [bot_hat] off of [src]'s head!")
+ bot_hat.forceMove(get_turf(src))
+ //reset all emotes/sounds
+ death_emote = initial(death_emote)
+ capture_one = initial(capture_one)
+ capture_two = initial(capture_two)
+ infraction = initial(infraction)
+ taunt = initial(taunt)
+ attack_one = initial(attack_one)
+ attack_two = initial(attack_two)
+ bot_hat = null
+ qdel(stored_fashion)
var/mob/living/carbon/C = A
if(CHECK_MOBILITY(C, MOBILITY_MOVE|MOBILITY_USE|MOBILITY_STAND) || arrest_type) // CIT CHANGE - makes sentient secbots check for canmove rather than !isstun.
stun_attack(A)
diff --git a/icons/mob/secbot_head.dmi b/icons/mob/secbot_head.dmi
index 5e1e57f71c..18ad326684 100644
Binary files a/icons/mob/secbot_head.dmi and b/icons/mob/secbot_head.dmi differ