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:
T-Wiz
2020-04-20 01:52:10 -05:00
parent 35137403a8
commit 49693099d3
182 changed files with 90 additions and 1 deletions

View File

@@ -202,6 +202,7 @@
new /obj/item/clothing/under/securityskirt/elite(src) new /obj/item/clothing/under/securityskirt/elite(src)
new /obj/item/clothing/accessory/bangerboy(src) new /obj/item/clothing/accessory/bangerboy(src)
new /obj/item/weapon/autocuffer(src) new /obj/item/weapon/autocuffer(src)
new /obj/item/clothing/mask/gas/hecu(src)
/obj/item/clothing/accessory/bangerboy /obj/item/clothing/accessory/bangerboy
name = "\improper Banger Boy Advance" name = "\improper Banger Boy Advance"

View File

@@ -320,4 +320,92 @@
if(istype(W, /obj/item/clothing/shoes/clownshoespsyche)) if(istype(W, /obj/item/clothing/shoes/clownshoespsyche))
new /mob/living/simple_animal/hostile/retaliate/cluwne/psychedelicgoblin(get_turf(src)) new /mob/living/simple_animal/hostile/retaliate/cluwne/psychedelicgoblin(get_turf(src))
qdel(W) 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

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/alert!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/alien!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/all!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/am!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/are!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/area!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/ass!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/at!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/away!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/backup!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/bag!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/bastard!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/blow!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/bogies!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/bravo!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/call!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/charlie!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/check!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/clear!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/comma!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/command!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/control!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/cover!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/creeps!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/damn!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/delta!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/down!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/east!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/echo!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/eight!.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/fall!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/fight!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/fire!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/five!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/force!.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/four!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/foxtrot!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/freeman!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/get!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/go!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/god!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/going!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/got!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/grenade!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/guard!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/haha!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/have!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/he!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/heavy!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/hell!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/here!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/hold!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/hole!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/hot!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/hundred!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/i!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/in!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/is!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/kick!.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/lay!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/left!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/lets!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/level!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/lookout!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/meters!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/mission!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/mister!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/mother!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/move!.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/moves!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/my!.wav Normal file

Binary file not shown.

BIN
sound/vox_hecu/need!.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sound/vox_hecu/nine!.wav Normal file

Binary file not shown.

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