mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
Adds the HECU gas mask, which will attempt to convert anything spoken by the wearer into HECU vox.
Add the HECU gas mask to the Trader Alcatraz bundle.
This commit is contained in:
@@ -202,6 +202,7 @@
|
||||
new /obj/item/clothing/under/securityskirt/elite(src)
|
||||
new /obj/item/clothing/accessory/bangerboy(src)
|
||||
new /obj/item/weapon/autocuffer(src)
|
||||
new /obj/item/clothing/mask/gas/hecu(src)
|
||||
|
||||
/obj/item/clothing/accessory/bangerboy
|
||||
name = "\improper Banger Boy Advance"
|
||||
|
||||
@@ -320,4 +320,92 @@
|
||||
if(istype(W, /obj/item/clothing/shoes/clownshoespsyche))
|
||||
new /mob/living/simple_animal/hostile/retaliate/cluwne/psychedelicgoblin(get_turf(src))
|
||||
qdel(W)
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/clothing/mask/gas/hecu
|
||||
name = "HECU gas mask"
|
||||
desc = "An ancient gas mask with the letters HECU stamped on the side. Comes with a built-in voice modulator that slowly recharges."
|
||||
icon_state = "hecu"
|
||||
can_flip = 0
|
||||
canstage = 0
|
||||
ignore_flip = 1
|
||||
flags = HEAR | FPRINT
|
||||
var/togglestate = 1
|
||||
var/max_charge = 100
|
||||
var/mask_charge = 100
|
||||
var/word_cost = 7
|
||||
var/word_delay = 7
|
||||
actions_types = list(/datum/action/item_action/toggle_voice)
|
||||
|
||||
//Big list of words pulled from half life's soldiers, used for both matching with spoken text and part of the sound file's path
|
||||
var/list/hecuwords = list(
|
||||
"a", "affirmative", "alert", "alien", "all" , "am" , "anything" , "are" , "area" , "ass" , "at" , "away" ,
|
||||
"backup" , "bag" , "bastard" , "blow" , "bogies" , "bravo" , "call" , "casualties" , "charlie" , "check" , "checking" , "clear" , "comma" ,
|
||||
"command" , "continue" , "control" , "cover" , "creeps" , "damn" , "delta" , "down" , "east" , "echo" , "eliminate" , "everything" , "fall" ,
|
||||
"fight" , "fire" , "five" , "force" , "formation" , "four" , "foxtrot" , "freeman" , "get" , "go" , "god" , "going" , "got" , "grenade" , "guard" ,
|
||||
"haha" , "have" , "he" , "heavy" , "hell" , "here" , "hold" , "hole" , "hostiles" , "hot" , "i" , "in" , "is" , "kick" , "killcivvies" ,
|
||||
"killscientists" , "lay" , "left" , "lets" , "level" , "lookout" , "maintain" , "mission" , "mister" , "mother" , "move" , "movement" , "moves" ,
|
||||
"my" , "need" , "negative" , "neutralize" , "neutralized" , "nine" , "no" , "north" , "nothing" , "objective" , "of" , "oh" , "okay" , "one" ,
|
||||
"orders" , "our" , "out" , "over" , "patrol" , "people" , "period" , "position" , "post" , "private" , "quiet" , "radio" , "recon" , "request" ,
|
||||
"right" , "roger" , "sector" , "secure" , "shit" , "shot" , "sign" , "signs" , "silence" , "sir" , "six" , "some" , "something" , "south" , "squad" ,
|
||||
"stay" , "suppressing" , "sweep" , "take" , "tango" , "target" , "team" , "that" , "thatbastard" , "the" , "there" , "these" , "this" , "those" ,
|
||||
"three" , "tight" , "two" , "uh" , "under" , "up" , "we" , "weapons" , "weird" , "west" , "we've" , "whatbody" , "whoisfreeman" , "will" , "yeah" ,
|
||||
"yes" , "yessir" , "you" , "your" , "zero" , "zone" , "zulu" , "meters" , "seven" , "eight" , "hundred" , "to" , "too"
|
||||
)
|
||||
|
||||
//Toggling the mask so the user can let it recharge and not be annoying.
|
||||
/obj/item/clothing/mask/gas/hecu/verb/toggle_voice()
|
||||
set src in usr
|
||||
set name = "Toggle Voice Modulator"
|
||||
set category = "Object"
|
||||
if (!usr || loc != usr)
|
||||
return
|
||||
return togglevoice(usr)
|
||||
|
||||
/obj/item/clothing/mask/gas/hecu/attack_self()
|
||||
src.togglevoice()
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/item/clothing/mask/gas/hecu/proc/togglevoice(var/mob/user = usr)
|
||||
if(usr.isUnconscious())
|
||||
return
|
||||
else
|
||||
togglestate = !togglestate
|
||||
|
||||
/datum/action/item_action/toggle_voice //blank on purpose
|
||||
|
||||
//Recharging the mask over time
|
||||
/obj/item/clothing/mask/gas/hecu/New()
|
||||
..()
|
||||
processing_objects.Add(src)
|
||||
|
||||
/obj/item/clothing/mask/gas/hecu/Destroy()
|
||||
processing_objects.Remove(src)
|
||||
..()
|
||||
|
||||
obj/item/clothing/mask/gas/hecu/process()
|
||||
if(mask_charge >= max_charge)
|
||||
return
|
||||
else
|
||||
mask_charge++
|
||||
return
|
||||
|
||||
|
||||
/obj/item/clothing/mask/gas/hecu/Hear(var/datum/speech/speech, var/rendered_speech="")
|
||||
if(togglestate == 0)
|
||||
return
|
||||
if((!speech.frequency && is_holder_of(speech.speaker, src)) && speech.speaker != src)
|
||||
var/list/words_to_say = list()
|
||||
var/list/word_list = splittext(speech.message," ")
|
||||
for(var/i=1,i<=word_list.len,i++)
|
||||
for(var/j=1,j<=hecuwords.len,j++)
|
||||
if (lowertext(hecuwords[j]) == lowertext(word_list[i]))
|
||||
words_to_say += hecuwords[j]
|
||||
if(words_to_say.len > 0)
|
||||
for(var/i=1,i<=words_to_say.len,i++)
|
||||
if(mask_charge >= word_cost)
|
||||
mask_charge -= word_cost
|
||||
playsound(src, "sound/vox_hecu/[words_to_say[i]]!.wav", 30)
|
||||
sleep word_delay
|
||||
else return
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 45 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
BIN
sound/vox_hecu/a!.wav
Normal file
BIN
sound/vox_hecu/a!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/affirmative!.wav
Normal file
BIN
sound/vox_hecu/affirmative!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/alert!.wav
Normal file
BIN
sound/vox_hecu/alert!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/alien!.wav
Normal file
BIN
sound/vox_hecu/alien!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/all!.wav
Normal file
BIN
sound/vox_hecu/all!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/am!.wav
Normal file
BIN
sound/vox_hecu/am!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/anything!.wav
Normal file
BIN
sound/vox_hecu/anything!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/are!.wav
Normal file
BIN
sound/vox_hecu/are!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/area!.wav
Normal file
BIN
sound/vox_hecu/area!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/ass!.wav
Normal file
BIN
sound/vox_hecu/ass!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/at!.wav
Normal file
BIN
sound/vox_hecu/at!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/away!.wav
Normal file
BIN
sound/vox_hecu/away!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/backup!.wav
Normal file
BIN
sound/vox_hecu/backup!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/bag!.wav
Normal file
BIN
sound/vox_hecu/bag!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/bastard!.wav
Normal file
BIN
sound/vox_hecu/bastard!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/blow!.wav
Normal file
BIN
sound/vox_hecu/blow!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/bogies!.wav
Normal file
BIN
sound/vox_hecu/bogies!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/bravo!.wav
Normal file
BIN
sound/vox_hecu/bravo!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/call!.wav
Normal file
BIN
sound/vox_hecu/call!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/casualties!.wav
Normal file
BIN
sound/vox_hecu/casualties!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/charlie!.wav
Normal file
BIN
sound/vox_hecu/charlie!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/check!.wav
Normal file
BIN
sound/vox_hecu/check!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/checking!.wav
Normal file
BIN
sound/vox_hecu/checking!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/clear!.wav
Normal file
BIN
sound/vox_hecu/clear!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/comma!.wav
Normal file
BIN
sound/vox_hecu/comma!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/command!.wav
Normal file
BIN
sound/vox_hecu/command!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/continue!.wav
Normal file
BIN
sound/vox_hecu/continue!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/control!.wav
Normal file
BIN
sound/vox_hecu/control!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/cover!.wav
Normal file
BIN
sound/vox_hecu/cover!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/creeps!.wav
Normal file
BIN
sound/vox_hecu/creeps!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/damn!.wav
Normal file
BIN
sound/vox_hecu/damn!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/delta!.wav
Normal file
BIN
sound/vox_hecu/delta!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/down!.wav
Normal file
BIN
sound/vox_hecu/down!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/east!.wav
Normal file
BIN
sound/vox_hecu/east!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/echo!.wav
Normal file
BIN
sound/vox_hecu/echo!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/eight!.wav
Normal file
BIN
sound/vox_hecu/eight!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/eightymeters!.wav
Normal file
BIN
sound/vox_hecu/eightymeters!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/eliminate!.wav
Normal file
BIN
sound/vox_hecu/eliminate!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/everything!.wav
Normal file
BIN
sound/vox_hecu/everything!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/fall!.wav
Normal file
BIN
sound/vox_hecu/fall!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/fiftymeters!.wav
Normal file
BIN
sound/vox_hecu/fiftymeters!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/fight!.wav
Normal file
BIN
sound/vox_hecu/fight!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/fire!.wav
Normal file
BIN
sound/vox_hecu/fire!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/five!.wav
Normal file
BIN
sound/vox_hecu/five!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/fivemeters!.wav
Normal file
BIN
sound/vox_hecu/fivemeters!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/force!.wav
Normal file
BIN
sound/vox_hecu/force!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/formation!.wav
Normal file
BIN
sound/vox_hecu/formation!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/fortymeters!.wav
Normal file
BIN
sound/vox_hecu/fortymeters!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/four!.wav
Normal file
BIN
sound/vox_hecu/four!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/foxtrot!.wav
Normal file
BIN
sound/vox_hecu/foxtrot!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/freeman!.wav
Normal file
BIN
sound/vox_hecu/freeman!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/get!.wav
Normal file
BIN
sound/vox_hecu/get!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/go!.wav
Normal file
BIN
sound/vox_hecu/go!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/god!.wav
Normal file
BIN
sound/vox_hecu/god!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/going!.wav
Normal file
BIN
sound/vox_hecu/going!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/got!.wav
Normal file
BIN
sound/vox_hecu/got!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/grenade!.wav
Normal file
BIN
sound/vox_hecu/grenade!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/guard!.wav
Normal file
BIN
sound/vox_hecu/guard!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/haha!.wav
Normal file
BIN
sound/vox_hecu/haha!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/have!.wav
Normal file
BIN
sound/vox_hecu/have!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/he!.wav
Normal file
BIN
sound/vox_hecu/he!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/heavy!.wav
Normal file
BIN
sound/vox_hecu/heavy!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/hell!.wav
Normal file
BIN
sound/vox_hecu/hell!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/here!.wav
Normal file
BIN
sound/vox_hecu/here!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/hold!.wav
Normal file
BIN
sound/vox_hecu/hold!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/hole!.wav
Normal file
BIN
sound/vox_hecu/hole!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/hostiles!.wav
Normal file
BIN
sound/vox_hecu/hostiles!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/hot!.wav
Normal file
BIN
sound/vox_hecu/hot!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/hundred!.wav
Normal file
BIN
sound/vox_hecu/hundred!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/hundredmeters!.wav
Normal file
BIN
sound/vox_hecu/hundredmeters!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/i!.wav
Normal file
BIN
sound/vox_hecu/i!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/in!.wav
Normal file
BIN
sound/vox_hecu/in!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/is!.wav
Normal file
BIN
sound/vox_hecu/is!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/kick!.wav
Normal file
BIN
sound/vox_hecu/kick!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/killcivvies!.wav
Normal file
BIN
sound/vox_hecu/killcivvies!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/killscientists!.wav
Normal file
BIN
sound/vox_hecu/killscientists!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/lay!.wav
Normal file
BIN
sound/vox_hecu/lay!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/left!.wav
Normal file
BIN
sound/vox_hecu/left!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/lets!.wav
Normal file
BIN
sound/vox_hecu/lets!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/level!.wav
Normal file
BIN
sound/vox_hecu/level!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/lookout!.wav
Normal file
BIN
sound/vox_hecu/lookout!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/maintain!.wav
Normal file
BIN
sound/vox_hecu/maintain!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/meters!.wav
Normal file
BIN
sound/vox_hecu/meters!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/mission!.wav
Normal file
BIN
sound/vox_hecu/mission!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/mister!.wav
Normal file
BIN
sound/vox_hecu/mister!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/mother!.wav
Normal file
BIN
sound/vox_hecu/mother!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/move!.wav
Normal file
BIN
sound/vox_hecu/move!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/movement!.wav
Normal file
BIN
sound/vox_hecu/movement!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/moves!.wav
Normal file
BIN
sound/vox_hecu/moves!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/my!.wav
Normal file
BIN
sound/vox_hecu/my!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/need!.wav
Normal file
BIN
sound/vox_hecu/need!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/negative!.wav
Normal file
BIN
sound/vox_hecu/negative!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/neutralize!.wav
Normal file
BIN
sound/vox_hecu/neutralize!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/neutralized!.wav
Normal file
BIN
sound/vox_hecu/neutralized!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/nine!.wav
Normal file
BIN
sound/vox_hecu/nine!.wav
Normal file
Binary file not shown.
BIN
sound/vox_hecu/no!.wav
Normal file
BIN
sound/vox_hecu/no!.wav
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user