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