222 lines
9.8 KiB
Plaintext
222 lines
9.8 KiB
Plaintext
//similar to dog_fashion, but for beepsky, who has far more refined fashion tastes
|
|
/datum/beepsky_fashion
|
|
var/name //not setting the name and desc makes them go to the default
|
|
var/desc
|
|
|
|
var/icon_file = 'icons/mob/secbot_accessories.dmi' //we sell secbots and secbot accessories
|
|
var/obj_icon_state
|
|
var/obj_alpha
|
|
var/obj_color
|
|
|
|
var/list/stun_sounds //sound that replaces the stun attack when set
|
|
var/ignore_sound = FALSE //whether to ignore sounds entirely or not
|
|
|
|
//emotes (don't set them if you want the default value)
|
|
var/death_emote //what is said when beepsky dies
|
|
var/capture_one //what is said when cuffing someone
|
|
var/capture_two //what is said when cuffing someone, directly to the person being cuffed
|
|
var/infraction //the level of threat detected
|
|
var/taunt // beepsky pointing at a criminal
|
|
var/attack_one //text when attacking criminal
|
|
var/attack_two //text when attacking criminal, but directly to the criminal
|
|
var/patrol_emote //engaging patrol text
|
|
var/patrol_fail_emote //failing to engage patrol text
|
|
var/list/arrest_texts //first is for not-cuffing, second is for cuffing
|
|
var/arrest_emote //text stating that you're cuffing some criminal C with a threat of level X in location Y
|
|
|
|
//for reference, the following words are replaced when processed before speech:
|
|
//LOCATION = the location passed, if any (this is only used by arrest_emote)
|
|
//CRIMINAL = the name of the criminal (this is used by everything but patrol_emote and infraction)
|
|
//BOT = the name of the bot (this can be used on any of the emotes)
|
|
//THREAT_LEVEL = the level of the threat detected (can be used on arrest_emote and infraction)
|
|
|
|
/datum/beepsky_fashion/proc/get_overlay(var/dir)
|
|
if(icon_file && obj_icon_state)
|
|
var/image/beepsky_overlay = image(icon_file, obj_icon_state, dir = dir)
|
|
beepsky_overlay.alpha = obj_alpha
|
|
beepsky_overlay.color = obj_color
|
|
return beepsky_overlay
|
|
|
|
/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
|
|
|
|
//actual fashions from here on out
|
|
/datum/beepsky_fashion/wizard
|
|
obj_icon_state = "wizard"
|
|
name = "Archmage Beepsky"
|
|
desc = "A secbot stolen from the wizard federation."
|
|
death_emote = "BOT casts EI NATH on themselves!"
|
|
capture_one = "BOT is casting cable ties on CRIMINAL!"
|
|
capture_two = "BOT is casting cable ties on you!"
|
|
infraction = "Magical disturbance of magnitude THREAT_LEVEL detected!"
|
|
taunt = "BOT points his staff towards CRIMINAL!"
|
|
attack_one = "BOT casts magic missile on CRIMINAL!"
|
|
attack_two = "BOT casts magic missile on you!"
|
|
patrol_emote = "Beginning search for magical disturbances."
|
|
patrol_fail_emote = "Failure to find magical disturbances. Recallibrating."
|
|
arrest_emote = "ARREST_TYPE level THREAT_LEVEL magical practitioner CRIMINAL in LOCATION."
|
|
stun_sounds = list('sound/magic/lightningbolt.ogg',
|
|
'sound/magic/fireball.ogg',
|
|
'sound/weapons/zapbang.ogg',
|
|
'sound/magic/knock.ogg',
|
|
'sound/magic/fleshtostone.ogg',
|
|
'sound/effects/magic.ogg',
|
|
'sound/magic/disintegrate.ogg')
|
|
|
|
/datum/beepsky_fashion/cowboy
|
|
obj_icon_state = "cowboy"
|
|
name = "Sheriff Beepsky"
|
|
desc = "The sheriff of this here station."
|
|
capture_one = "BOT is tying CRIMINAL up!"
|
|
capture_two = "BOT is tying you up!"
|
|
infraction = "Outlaws with a bounty of THREAT_LEVEL000 space dollars detected!"
|
|
taunt = "BOT aims his revolver towards CRIMINAL!"
|
|
attack_one = "BOT unloads his revolver onto CRIMINAL!"
|
|
attack_two = "BOT unloads his revolver onto you!"
|
|
patrol_emote = "Engaging bounty hunting protocols."
|
|
patrol_fail_emote = "Unable to find any bounties due to error. Rebooting."
|
|
arrest_emote = "ARREST_TYPE outlaw CRIMINAL with a bounty of THREAT_LEVEL000 in LOCATION."
|
|
stun_sounds = list('sound/weapons/Gunshot.ogg',
|
|
'sound/weapons/Gunshot2.ogg',
|
|
'sound/weapons/Gunshot3.ogg',
|
|
'sound/weapons/Gunshot4.ogg')
|
|
|
|
/datum/beepsky_fashion/chef
|
|
obj_icon_state = "chef"
|
|
name = "Chef Beepsky"
|
|
desc = "Cooking up the finest foods the station has ever seen."
|
|
death_emote = "Mamma-mia!"
|
|
infraction = "Grade THREAT_LEVEL prosciutto detected!"
|
|
taunt = "BOT glares at CRIMINAL."
|
|
attack_one = "BOT CQCs CRIMINAL!"
|
|
attack_two = "BOT CQCs you!"
|
|
patrol_emote = "Beginning search for the bad prosciutto."
|
|
patrol_fail_emote = "All prosciutto is stale. Rebooting."
|
|
arrest_texts = list("Frying", "Grilling") //any good secoff knows the difference
|
|
arrest_emote = "ARREST_TYPE grade THREAT_LEVEL prosciutto CRIMINAL in LOCATION."
|
|
stun_sounds = list('sound/weapons/cqchit1.ogg',
|
|
'sound/weapons/cqchit2.ogg')
|
|
|
|
/datum/beepsky_fashion/cat
|
|
obj_icon_state = "cat"
|
|
name = "OwOfficer Bweepskwee"
|
|
desc = "A beepsky unit with cat ears. Catgirl science has gone too far."
|
|
death_emote = "Nya!"
|
|
capture_one = "BOT is tying CRIMINAL up!!"
|
|
capture_two = "BOT is tying you up!"
|
|
infraction = "Wevel THREAT_LEVEL infwactwion awert!!!"
|
|
taunt = "BOT points at CRIMINAL and nyas!"
|
|
attack_one = "BOT shoves CRIMINAL onto a table!"
|
|
attack_two = "BOT shoves you onto a table!"
|
|
patrol_emote = "Enwgagwing patwol mwodies.."
|
|
patrol_fail_emote = "Unawbwle two stwawt patwollies. Nya."
|
|
arrest_texts = list("Dwetwaining", "Awwesting")
|
|
arrest_emote = "ARREST_TYPE wevel THREAT_LEVEL scwumbwag CRIMINAL in LOCATION. Nya."
|
|
ignore_sound = TRUE //we instead make the stunned person fire the nya emote
|
|
|
|
/datum/beepsky_fashion/cat/stun_attack(var/mob/living/carbon/C) //makes a fake table under you on hit, makes cat people nya when hit
|
|
if(iscatperson(C))
|
|
C.emote("nya")
|
|
var/turf/target_turf = get_turf(C)
|
|
if(target_turf) //slams you on a fake table
|
|
playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 50, 1)
|
|
var/obj/effect/overlay_holder = new(target_turf)
|
|
overlay_holder.name = "Catboy Table"
|
|
overlay_holder.desc = "Where bad catboys go."
|
|
var/image/table_overlay = image('icons/obj/smooth_structures/table.dmi', "table")
|
|
overlay_holder.add_overlay(table_overlay)
|
|
QDEL_IN(overlay_holder, 10)
|
|
|
|
/datum/beepsky_fashion/cake //nothing else. it's just beepsky. with a cake on his head.
|
|
obj_icon_state = "cake"
|
|
name = "Cakesky"
|
|
desc = "It's a secbot, wearing a cake on his head!"
|
|
|
|
/datum/beepsky_fashion/captain
|
|
obj_icon_state = "captain"
|
|
name = "Captainsky"
|
|
desc = "The real captain of this station."
|
|
capture_one = "BOT is lecturing CRIMINAL on why he is the captain!"
|
|
capture_two = "BOT is lecturing you on why he is the captain!"
|
|
infraction = "Level THREAT_LEVEL greytider detected."
|
|
attack_one = "BOT beats CRIMINAL with the chain of command!"
|
|
attack_two = "BOT beats you with the chain of command!"
|
|
patrol_emote = "Uselessness protocols engaged."
|
|
patrol_fail_emote = "Unit has been found as useless. Rebooting."
|
|
arrest_texts = list("Demoting", "Firing")
|
|
arrest_emote = "ARREST_TYPE level THREAT_LEVEL lesser crewmember CRIMINAL in LOCATION."
|
|
stun_sounds = list('sound/weapons/chainhit.ogg')
|
|
|
|
/datum/beepsky_fashion/king
|
|
obj_icon_state = "king"
|
|
name = "King Beepsky"
|
|
desc = "He who has ascended to bare the right of king, sits atop the throne."
|
|
capture_one = "BOT is calling the guards onto CRIMINAL!"
|
|
capture_two = "BOT is calling the guards onto you!"
|
|
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!"
|
|
patrol_emote = "Searching for peasants to beat up."
|
|
patrol_fail_emote = "Peasants are using dark magic. Recallibrating."
|
|
arrest_texts = list("Knighting", "Executing")
|
|
arrest_emote = "ARREST_TYPE level THREAT_LEVEL peasant CRIMINAL in LOCATION."
|
|
stun_sounds = list('sound/weapons/punch1.ogg',
|
|
'sound/weapons/punch2.ogg',
|
|
'sound/weapons/punch3.ogg',
|
|
'sound/weapons/punch4.ogg')
|
|
|
|
/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!"
|
|
patrol_emote = "Searching for enemy vessels to board."
|
|
patrol_fail_emote = "No way to engage enemy vessels. Rebooting."
|
|
arrest_texts = list("Boarding", "Sinking")
|
|
arrest_emote = "ARREST_TYPE level THREAT_LEVEL vessel CRIMINAL in LOCATION."
|
|
stun_sounds = list('sound/weapons/bladeslice.ogg')
|
|
|
|
/datum/beepsky_fashion/engineer
|
|
obj_icon_state = "engineer"
|
|
name = "Chief Engineer Beepsky"
|
|
desc = "He fixes criminals with a wrench to the face."
|
|
capture_one = "BOT is tying CRIMINAL up!"
|
|
capture_two = "BOT is tying you up!"
|
|
infraction = "Structural integrity issue spotted with threat level THREAT_LEVEL"
|
|
attack_one = "BOT strikes CRIMINAL with his wrench!"
|
|
attack_two = "BOT strikes you with his wrench!"
|
|
arrest_texts = list("Fixing", "Repairing")
|
|
arrest_emote = "ARREST_TYPE level THREAT_LEVEL structural issue in LOCATION"
|
|
stun_sounds = list('sound/weapons/genhit.ogg')
|
|
|
|
/datum/beepsky_fashion/tophat
|
|
obj_icon_state = "tophat"
|
|
name = "Fancy Beepsky"
|
|
desc = "It's a secbot, wearing a top hat! How fancy."
|
|
|
|
/datum/beepsky_fashion/fedora
|
|
obj_icon_state = "fedora"
|
|
name = "Fedorasky"
|
|
desc = "It's a secbot, wearing a fedora!"
|
|
|
|
/datum/beepsky_fashion/sombrero
|
|
obj_icon_state = "sombrero"
|
|
name = "Sombrerosky"
|
|
desc = "A secbot wearing a sombrero. Truly, a hombre to all."
|
|
|
|
/datum/beepsky_fashion/santa
|
|
obj_icon_state = "santa"
|
|
name = "Saint Beepsky"
|
|
desc = "Have you been a level 7 infraction this holiday season?"
|
|
capture_one = "BOT is tying CRIMINAL up with fairy lights!"
|
|
capture_two = "BOT is tying you up with fairy lights!"
|
|
infraction = "Level THREAT_LEVEL threat to holiday cheer spotted!"
|
|
attack_one = "BOT crushes CRIMINAL with their holiday spirit!"
|
|
attack_two = "BOT crushes you with their holiday spirit!"
|
|
arrest_emote = "ARREST_TYPE level THREAT_LEVEL threat to holiday cheer in LOCATION"
|
|
|