Skip to content

Commit

Permalink
Merge branch 'VoiceInYourHead:campaign' into pixel-shifting
Browse files Browse the repository at this point in the history
  • Loading branch information
chaos-creations authored Oct 12, 2024
2 parents c504e73 + df2e904 commit 034b049
Show file tree
Hide file tree
Showing 21 changed files with 96 additions and 41 deletions.
1 change: 1 addition & 0 deletions colonialmarines.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2541,4 +2541,5 @@
#include "void-marines\code\xcom\sectoid_commander.dm"
#include "void-marines\code\xcom\thinman.dm"
#include "void-marines\code\xcom\weapons.dm"
#include "void-marines\code\xcom\~emote_override.dm"
// END_INCLUDE
1 change: 1 addition & 0 deletions void-marines/code/xcom/random_names.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@
for(var/i in 1 to rand(2,5))
. += pick("𓀀","𓀁","𓀂","𓀃","𓀄","𓀅","𓀆","𓀇","𓀈","𓀉","𓀊","𓀋","𓀌","𓀍","𓀎","𓀏","𓀐","𓀑","𓀒","𓀓","𓀔","𓀕","𓀖","𓀗","𓀘","𓀙","𓀚","𓀛","𓀜","𓀝","𓀞","𓀟","𓀠","𓀡","𓀢","𓀣","𓀤","𓀥","𓀦","𓀧","𓀨","𓀩","𓀪","𓀫","𓀬","𓀭","𓀮","𓀯","𓀰","𓀱","𓀲","𓀳","𓀴","𓀵","𓀶","𓀷","𓀸","𓀹","𓀺","𓀻","𓀼","𓀽","𓀾","𓀿","𓁀","𓁁","𓁂","𓁃","𓁄","𓁅","𓁆","𓁇","𓁈","𓁉","𓁊","𓁋","𓁌","𓁍","𓁎","𓁏","𓁐","𓁑","𓁒","𓁓","𓁔","𓁕","𓁖","𓁗","𓁘","𓁙","𓁚","𓁛","𓁜","𓁝","𓁞","𓁟","𓁠","𓁡","𓁢","𓁣","𓁤","𓁥","𓁦","𓁧","𓁨","𓁩","𓁪","𓁫","𓁬","𓁭","𓁮","𓁯","𓁰","𓁱","𓁲","𓁳","𓁴","𓁵","𓁶","𓁷","𓁸","𓁹","𓁺","𓁻","𓁼","𓁽","𓁾","𓁿","𓂀","𓂁","𓂂","𓂃","𓂄","𓂅","𓂆","𓂇","𓂈","𓂉","𓂊","𓂋","𓂌","𓂍","𓂎","𓂏","𓂐","𓂑","𓂒","𓂓","𓂔","𓂕","𓂖","𓂗","𓂘","𓂙","𓂚","𓂛","𓂜","𓂝","𓂞","𓂟","𓂠","𓂡","𓂢","𓂣","𓂤","𓂥","𓂦","𓂧","𓂨","𓂩","𓂪","𓂫","𓂬","𓂭","𓂮","𓂯","𓂰","𓂱","𓂲","𓂳","𓂴","𓂵","𓂶","𓂷","𓂸","𓂹","𓂺","𓂻","𓂼","𓂽","𓂾","𓂿","𓃀","𓃁","𓃂","𓃃","𓃄","𓃅","𓃆","𓃇","𓃈","𓃉","𓃊","𓃋","𓃌","𓃍","𓃎","𓃏","𓃐","𓃑","𓃒","𓃓","𓃔","𓃕","𓃖","𓃗","𓃘","𓃙","𓃚","𓃛","𓃜","𓃝","𓃞","𓃟","𓃠","𓃡","𓃢","𓃣","𓃤","𓃥","𓃦","𓃧","𓃨","𓃩","𓃪","𓃫","𓃬","𓃭","𓃮","𓃯","𓃰","𓃱","𓃲","𓃳","𓃴","𓃵","𓃶","𓃷","𓃸","𓃹","𓃺","𓃻","𓃼","𓃽","𓃾","𓃿","𓄀","𓄁","𓄂","𓄃","𓄄","𓄅","𓄆","𓄇","𓄈","𓄉","𓄊","𓄋","𓄌","𓄍","𓄎","𓄏","𓄐","𓄑","𓄒","𓄓","𓄔","𓄕","𓄖","𓄗","𓄘","𓄙","𓄚","𓄛","𓄜","𓄝","𓄞","𓄟","𓄠","𓄡","𓄢","𓄣","𓄤","𓄥","𓄦","𓄧","𓄨","𓄩","𓄪","𓄫","𓄬","𓄭","𓄮","𓄯","𓄰","𓄱","𓄲","𓄳","𓄴","𓄵","𓄶","𓄷","𓄸","𓄹","𓄺","𓄻","𓄼","𓄽","𓄾","𓄿","𓅀","𓅁","𓅂","𓅃","𓅄","𓅅","𓅆","𓅇","𓅈","𓅉","𓅊","𓅋","𓅌","𓅍","𓅎","𓅏","𓅐","𓅑","𓅒","𓅓","𓅔","𓅕","𓅖","𓅗","𓅘","𓅙","𓅚","𓅛","𓅜","𓅝","𓅞","𓅟","𓅠","𓅡","𓅢","𓅣","𓅤","𓅥","𓅦","𓅧","𓅨","𓅩","𓅪","𓅫","𓅬","𓅭","𓅮","𓅯","𓅰","𓅱","𓅲","𓅳","𓅴","𓅵","𓅶","𓅷","𓅸","𓅹","𓅺","𓅻","𓅼","𓅽","𓅾","𓅿","𓆀","𓆁","𓆂","𓆃","𓆄","𓆅","𓆆","𓆇","𓆈","𓆉","𓆊","𓆋","𓆌","𓆍","𓆎","𓆏","𓆐","𓆑","𓆒","𓆓","𓆔","𓆕","𓆖","𓆗","𓆘","𓆙","𓆚","𓆛","𓆜","𓆝","𓆞","𓆟","𓆠","𓆡","𓆢","𓆣","𓆤","𓆥","𓆦","𓆧","𓆨","𓆩","𓆪","𓆫","𓆬","𓆭","𓆮","𓆯","𓆰","𓆱","𓆲","𓆳","𓆴","𓆵","𓆶","𓆷","𓆸","𓆹","𓆺","𓆻","𓆼","𓆽","𓆾","𓆿","𓇀","𓇁","𓇂","𓇃","𓇄","𓇅","𓇆","𓇇","𓇈","𓇉","𓇊","𓇋","𓇌","𓇍","𓇎","𓇏","𓇐","𓇑","𓇒","𓇓","𓇔","𓇕","𓇖","𓇗","𓇘","𓇙","𓇚","𓇛","𓇜","𓇝","𓇞","𓇟","𓇠","𓇡","𓇢","𓇣","𓇤","𓇥","𓇦","𓇧","𓇨","𓇩","𓇪","𓇫","𓇬","𓇭","𓇮","𓇯","𓇰","𓇱","𓇲","𓇳","𓇴","𓇵","𓇶","𓇷","𓇸","𓇹","𓇺","𓇻","𓇼","𓇽","𓇾","𓇿","𓈀","𓈁","𓈂","𓈃","𓈄","𓈅","𓈆","𓈇","𓈈","𓈉","𓈊","𓈋","𓈌","𓈍","𓈎","𓈏","𓈐","𓈑","𓈒","𓈓","𓈔","𓈕","𓈖","𓈗","𓈘","𓈙","𓈚","𓈛","𓈜","𓈝","𓈞","𓈟","𓈠","𓈡","𓈢","𓈣","𓈤","𓈥","𓈦","𓈧","𓈨","𓈩","𓈪","𓈫","𓈬","𓈭","𓈮","𓈯","𓈰","𓈱","𓈲","𓈳","𓈴","𓈵","𓈶","𓈷","𓈸","𓈹","𓈺","𓈻","𓈼","𓈽","𓈾","𓈿","𓉀","𓉁","𓉂","𓉃","𓉄","𓉅","𓉆","𓉇","𓉈","𓉉","𓉊","𓉋","𓉌","𓉍","𓉎","𓉏","𓉐","𓉑","𓉒","𓉓","𓉔","𓉕","𓉖","𓉗","𓉘","𓉙","𓉚","𓉛","𓉜","𓉝","𓉞","𓉟","𓉠","𓉡","𓉢","𓉣","𓉤","𓉥","𓉦","𓉧","𓉨","𓉩","𓉪","𓉫","𓉬","𓉭","𓉮","𓉯","𓉰","𓉱","𓉲","𓉳","𓉴","𓉵","𓉶","𓉷","𓉸","𓉹","𓉺","𓉻","𓉼","𓉽","𓉾","𓉿","𓊀","𓊁","𓊂","𓊃","𓊄","𓊅","𓊆","𓊇","𓊈","𓊉","𓊊","𓊋","𓊌","𓊍","𓊎","𓊏","𓊐","𓊑","𓊒","𓊓","𓊔","𓊕","𓊖","𓊗","𓊘","𓊙","𓊚","𓊛","𓊜","𓊝","𓊞","𓊟","𓊠","𓊡","𓊢","𓊣","𓊤","𓊥","𓊦","𓊧","𓊨","𓊩","𓊪","𓊫","𓊬","𓊭","𓊮","𓊯","𓊰","𓊱","𓊲","𓊳","𓊴","𓊵","𓊶","𓊷","𓊸","𓊹","𓊺","𓊻","𓊼","𓊽","𓊾","𓊿","𓋀","𓋁","𓋂","𓋃","𓋄","𓋅","𓋆","𓋇","𓋈","𓋉","𓋊","𓋋","𓋌","𓋍","𓋎","𓋏","𓋐","𓋑","𓋒","𓋓","𓋔","𓋕","𓋖","𓋗","𓋘","𓋙","𓋚","𓋛","𓋜","𓋝","𓋞","𓋟","𓋠","𓋡","𓋢","𓋣","𓋤","𓋥","𓋦","𓋧","𓋨","𓋩","𓋪","𓋫","𓋬","𓋭","𓋮","𓋯","𓋰","𓋱","𓋲","𓋳","𓋴","𓋵","𓋶","𓋷","𓋸","𓋹","𓋺","𓋻","𓋼","𓋽","𓋾","𓋿","𓌀","𓌁","𓌂","𓌃","𓌄","𓌅","𓌆","𓌇","𓌈","𓌉","𓌊","𓌋","𓌌","𓌍","𓌎","𓌏","𓌐","𓌑","𓌒","𓌓","𓌔","𓌕","𓌖","𓌗","𓌘","𓌙","𓌚","𓌛","𓌜","𓌝","𓌞","𓌟","𓌠","𓌡","𓌢","𓌣","𓌤","𓌥","𓌦","𓌧","𓌨","𓌩","𓌪","𓌫","𓌬","𓌭","𓌮","𓌯","𓌰","𓌱","𓌲","𓌳","𓌴","𓌵","𓌶","𓌷","𓌸","𓌹","𓌺","𓌻","𓌼","𓌽","𓌾","𓌿","𓍀","𓍁","𓍂","𓍃","𓍄","𓍅","𓍆","𓍇","𓍈","𓍉","𓍊","𓍋","𓍌","𓍍","𓍎","𓍏","𓍐","𓍑","𓍒","𓍓","𓍔","𓍕","𓍖","𓍗","𓍘","𓍙","𓍚","𓍛","𓍜","𓍝","𓍞","𓍟","𓍠","𓍡","𓍢","𓍣","𓍤","𓍥","𓍦","𓍧","𓍨","𓍩","𓍪","𓍫","𓍬","𓍭","𓍮","𓍯","𓍰","𓍱","𓍲","𓍳","𓍴","𓍵","𓍶","𓍷","𓍸","𓍹","𓍺","𓍻","𓍼","𓍽","𓍾","𓍿","𓎀","𓎁","𓎂","𓎃","𓎄","𓎅","𓎆","𓎇","𓎈","𓎉","𓎊","𓎋","𓎌","𓎍","𓎎","𓎏","𓎐","𓎑","𓎒","𓎓","𓎔","𓎕","𓎖","𓎗","𓎘","𓎙","𓎚","𓎛","𓎜","𓎝","𓎞","𓎟","𓎠","𓎡","𓎢","𓎣","𓎤","𓎥","𓎦","𓎧","𓎨","𓎩","𓎪","𓎫","𓎬","𓎭","𓎮","𓎯","𓎰","𓎱","𓎲","𓎳","𓎴","𓎵","𓎶","𓎷","𓎸","𓎹","𓎺","𓎻","𓎼","𓎽","𓎾","𓎿","𓏀","𓏁","𓏂","𓏃","𓏄","𓏅","𓏆","𓏇","𓏈","𓏉","𓏊","𓏋","𓏌","𓏍","𓏎","𓏏","𓏐","𓏑","𓏒","𓏓","𓏔","𓏕","𓏖","𓏗","𓏘","𓏙","𓏚","𓏛","𓏜","𓏝","𓏞","𓏟","𓏠","𓏡","𓏢","𓏣","𓏤","𓏥","𓏦","𓏧","𓏨","𓏩","𓏪","𓏫","𓏬","𓏭","𓏮","𓏯","𓏰","𓏱","𓏲","𓏳","𓏴","𓏵","𓏶","𓏷","𓏸","𓏹","𓏺","𓏻","𓏼","𓏽","𓏾","𓏿","𓐀","𓐁","𓐂","𓐃","𓐄","𓐅","𓐆","𓐇","𓐈","𓐉","𓐊","𓐋","𓐌","𓐍","𓐎","𓐏","𓐐","𓐑","𓐒","𓐓","𓐔","𓐕","𓐖","𓐗","𓐘","𓐙","𓐚","𓐛","𓐜","𓐝","𓐞","𓐟","𓐠","𓐡","𓐢","𓐣","𓐤","𓐥","𓐦","𓐧","𓐨","𓐩","𓐪","𓐫","𓐬","𓐭","𓐮","𓐯")
return .

24 changes: 18 additions & 6 deletions void-marines/code/xcom/sectoid.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#define SPECIES_SECTOID "Sectoid"

/mob/living/carbon/human/sectoid/Initialize(mapload, new_species)
. = ..(mapload, new_species = name)
/mob/living/carbon/human/sectoid/Initialize(mapload, new_species = SPECIES_SECTOID)
. = ..(mapload, new_species)

/datum/species/sectoid
group = SPECIES_SECTOID
Expand All @@ -13,7 +13,7 @@
brute_mod = 1.5
burn_mod = 1.5
mob_flags = KNOWS_TECHNOLOGY
pain_type = /datum/pain/human_hero
pain_type = /datum/pain/xeno
unarmed_type = /datum/unarmed_attack/claws
secondary_unarmed_type = /datum/unarmed_attack
death_message = "lets out a faint scream as it collapses and stops moving..."
Expand All @@ -30,13 +30,16 @@
TRAIT_FOREIGN_BIO,
TRAIT_CRAWLER,
)
default_lighting_alpha = LIGHTING_PLANE_ALPHA_YAUTJA
blood_color = COLOR_ORANGE
uses_skin_color = FALSE
speech_sounds = list('void-marines/sound/xcom_aliens/sectoid/SectoidSeesHuman01a.SoundNodeWave_0000009c.ogg', 'void-marines/sound/xcom_aliens/sectoid/SectoidSeesHuman02a.SoundNodeWave_0000009c.ogg', 'void-marines/sound/xcom_aliens/sectoid/SectoidSeesHuman03a.SoundNodeWave_0000009c.ogg')
speech_chance = 100

/datum/species/sectoid/New()
equip_adjust = list(
WEAR_R_HAND = list("[NORTH]" = list("x" = 2, "y" = -5), "[EAST]" = list("x" = 3, "y" = -5), "[SOUTH]" = list("x" = 0, "y" = -9), "[WEST]" = list("x" = -3, "y" = -5)),
WEAR_L_HAND = list("[NORTH]" = list("x" = -2, "y" = -5), "[EAST]" = list("x" = 3, "y" = -5), "[SOUTH]" = list("x" = 0, "y" = -9), "[WEST]" = list("x" = -3, "y" = -5)),
WEAR_R_HAND = list("[NORTH]" = list("x" = 1, "y" = -5), "[EAST]" = list("x" = 3, "y" = -5), "[SOUTH]" = list("x" = 2, "y" = -8), "[WEST]" = list("x" = -3, "y" = -5)),
WEAR_L_HAND = list("[NORTH]" = list("x" = 0, "y" = -5), "[EAST]" = list("x" = 3, "y" = -5), "[SOUTH]" = list("x" = -1, "y" = -8), "[WEST]" = list("x" = -3, "y" = -5)),
WEAR_WAIST = list("[NORTH]" = list("x" = 0, "y" = 3), "[EAST]" = list("x" = 0, "y" = 3), "[SOUTH]" = list("x" = 0, "y" = 3), "[WEST]" = list("x" = 0, "y" = 3)),
WEAR_FEET = list("[NORTH]" = list("x" = 0, "y" = 0), "[EAST]" = list("x" = 0, "y" = 0), "[SOUTH]" = list("x" = 0, "y" = 0), "[WEST]" = list("x" = 0, "y" = 0)),
WEAR_HEAD = list("[NORTH]" = list("x" = 1, "y" = -4), "[EAST]" = list("x" = 0, "y" = -4), "[SOUTH]" = list("x" = 1, "y" = -4), "[WEST]" = list("x" = 0, "y" = -4)),
Expand All @@ -49,12 +52,21 @@
H.universal_understand = TRUE

H.gender = PLURAL
H.color = "#E6E6FF"

H.default_lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
H.default_lighting_alpha = LIGHTING_PLANE_ALPHA_YAUTJA
H.update_sight()

return ..()

/datum/species/sectoid/handle_death(mob/living/carbon/human/H, gibbed)
. = ..()
playsound(H, 'void-marines/sound/xcom_aliens/sectoid/SectoidBrainFry.SoundNodeWave_0000009c.ogg', 75, TRUE)
if(!gibbed)
var/obj/limb/head = H.get_limb("head")
head.droplimb(FALSE, TRUE)
QDEL_NULL(head)

/datum/species/sectoid/handle_on_fire(humanoidmob)
. = ..()
INVOKE_ASYNC(humanoidmob, TYPE_PROC_REF(/mob, emote), pick("pain", "scream"))
Expand Down
30 changes: 17 additions & 13 deletions void-marines/code/xcom/sectoid_commander.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#define SPECIES_SECTOID_COMMANDER "Sectoid Commander"

/mob/living/carbon/human/sectoid/commander/Initialize(mapload)
. = ..(mapload)
/mob/living/carbon/human/sectoid/commander/Initialize(mapload, new_species = SPECIES_SECTOID_COMMANDER)
. = ..(mapload, new_species)

/datum/species/sectoid/commander
name = SPECIES_SECTOID_COMMANDER
Expand All @@ -18,7 +18,7 @@
/datum/species/sectoid/commander/handle_post_spawn(mob/living/carbon/human/H)
. = ..()
give_action(H, /datum/action/human_action/activable/mindfray)
H.color = COLOUR_SILVER
H.color = "#8787A0"

//////////////////////////////////////
/* ABILITIES */
Expand All @@ -28,7 +28,7 @@
icon_file = 'icons/mob/hud/actions_xeno.dmi'
action_icon_state = "place_queen_beacon"

cooldown = 45 SECONDS
cooldown = 30 SECONDS
var/radius = 4

/datum/action/human_action/activable/mindfray/use_ability(atom/A)
Expand All @@ -39,9 +39,9 @@
var/mob/living/carbon/human/X = owner

to_chat(X, SPAN_XENODANGER("You start channeling your psychic energy towards [A]..."))
playsound(X.loc, 'sound/voice/deep_alien_screech.ogg', 50)
playsound(X.loc, 'void-marines/sound/xcom_aliens/sectoid/MindFray.SoundNodeWave_0000009c.ogg', 75)

if(!do_after(X, 2 SECONDS, INTERRUPT_ALL | BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE))
if(!do_after(X, 1.5 SECONDS, INTERRUPT_ALL | BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE))
to_chat(X, SPAN_XENODANGER("You stop channeling your psychic energy."))
return

Expand All @@ -60,7 +60,7 @@

turfs_around -= t

playsound(T, 'sound/effects/metalscrape.ogg', 200)
playsound(T, 'void-marines/sound/xcom_aliens/sectoid/SectoidPossessed.SoundNodeWave_0000009c.ogg', 200)
new /obj/effect/temp_visual/psi_eye(T)

var/i = 0
Expand All @@ -72,7 +72,8 @@
if(HAS_TRAIT(C, TRAIT_FOREIGN_BIO))
continue

to_chat(C, SPAN_XENOWARNING("Ты чувствуешь чьё-то присутствие в своей голове..."))
to_chat(C, SPAN_XENOQUEEN("Ты чувствуешь чьё-то присутствие в своей голове..."))
new /datum/effects/xeno_slow(C, X, , , 2 SECONDS)

i += rand(1, 3)
spawn(i)
Expand All @@ -89,17 +90,20 @@
if(2)
addtimer(CALLBACK(src, PROC_REF(remove_hallucinations), C), rand(20 SECONDS, 35 SECONDS))
C.hallucination = 1500
C.confused = 15
C.druggy = 20
if(3)
C.set_movement_intent(MOVE_INTENT_WALK)
C.set_resting(TRUE, TRUE, TRUE)
C.spin(35, 2)
if(4)
if(!C.get_active_hand())
C?:holster_verb()
var/turf/target = get_random_turf_in_range(C, 3, 2)
spawn(2)
C?.client?.MouseDown(target, target, TRUE, "left")
if(C.client)
if(!C.get_active_hand())
C?:holster_verb()
for(var/shots in 1 to rand(1, 15))
var/turf/target = get_random_turf_in_range(C, 7, 6)
spawn(1)
C.client.MouseDown(target, target, TRUE, "left")

return ..()

Expand Down
29 changes: 19 additions & 10 deletions void-marines/code/xcom/thinman.dm
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
#define SPECIES_THIN_MAN "Thin Human"

/mob/living/carbon/human/thin_man/Initialize(mapload)
. = ..(mapload, new_species = name)
/mob/living/carbon/human/thin_man/Initialize(mapload, new_species = SPECIES_THIN_MAN)
. = ..(mapload, new_species)

/datum/species/human/thin_man
group = SPECIES_HUMAN // to be like a human guy
name = SPECIES_THIN_MAN
brute_mod = 1.5
burn_mod = 0.75
mob_flags = KNOWS_TECHNOLOGY|NO_POISON|NO_NEURO
pain_type = /datum/pain/human_hero
pain_type = /datum/pain/xeno
unarmed_type = /datum/unarmed_attack/claws/strong
secondary_unarmed_type = /datum/unarmed_attack
death_message = "lets out a faint scream as it collapses and stops moving..."
Expand All @@ -23,6 +23,7 @@
TRAIT_DEXTROUS,
TRAIT_CRAWLER,
)
default_lighting_alpha = LIGHTING_PLANE_ALPHA_YAUTJA
blood_color = BLOOD_COLOR_YAUTJA
uses_skin_color = FALSE
hair_color = "#000000"
Expand All @@ -38,20 +39,23 @@
RegisterSignal(H, COMSIG_LIVING_CLIMB_STRUCTURE, PROC_REF(handle_climbing))
give_action(H, /datum/action/human_action/activable/acid_spit)

H.default_lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
H.default_lighting_alpha = LIGHTING_PLANE_ALPHA_YAUTJA
H.update_sight()

return ..()

/datum/species/human/thin_man/proc/handle_climbing(mob/living/M, list/climbdata)
SIGNAL_HANDLER
climbdata["climb_delay"] *= 0.5
climbdata["climb_delay"] *= 0.1

/datum/species/human/thin_man/handle_death(mob/living/carbon/human/H, gibbed)
. = ..()

playsound(H, 'void-marines/sound/xcom_aliens/thinmen/ThinManStopPossess.SoundNodeWave_0000009c.ogg', 75, TRUE)
create_shrapnel(get_turf(H), 64, , , /datum/ammo/xeno/acid, create_cause_data("acid splatter", H))

if(!gibbed)
playsound(H.loc, 'sound/voice/joe/death_normal.ogg', 75, FALSE)
return ..()
H.gib()

//////////////////////////////////////
/* ABILITIES */
Expand All @@ -65,6 +69,9 @@

/datum/action/human_action/activable/acid_spit/use_ability(atom/A)
var/mob/living/carbon/human/X = owner
if(get_dist(X, A) < 1)
return

if(!can_use_action() || !action_cooldown_check() || !isturf(X.loc))
return

Expand All @@ -78,18 +85,19 @@
enter_cooldown()

to_chat(X, SPAN_XENOWARNING("You lob a compressed ball of acid into the air!"))
playsound(X.loc, get_sfx("acid_spit"), 25, 1)
playsound(X.loc, pick('void-marines/sound/xcom_aliens/thinmen/ThinManHurt01.SoundNodeWave_0000009c.ogg', 'void-marines/sound/xcom_aliens/thinmen/ThinManHurt02.SoundNodeWave_0000009c.ogg', ), 75, 1)

var/obj/projectile/proj = new (get_turf(X), create_cause_data("Thinman Acid", X))
proj.generate_bullet(GLOB.ammo_list[/datum/ammo/xeno/boiler_gas/acid/small])
proj.permutated += X
proj.def_zone = X.get_limbzone_target()

proj.fire_at(A, X, X, 8, 0.8)
proj.fire_at(A, X, X, 8, 1.5)

return ..()

/datum/ammo/xeno/boiler_gas/acid/small
icon_state = "boiler_railgun"
smokerange = 2

//////////////////////////////////////
Expand Down Expand Up @@ -132,7 +140,8 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/hybrisa/detective_synth_uniform/alt(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/corporate/black(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/prescription(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/handcuffs(new_human), WEAR_R_STORE)

new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/rxfm5_eva/alien(new_human), WEAR_L_STORE)

Expand Down
33 changes: 21 additions & 12 deletions void-marines/code/xcom/weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,25 @@
WEAR_R_HAND = 'void-marines/icons/energy_right_1.dmi'
)

muzzle_flash = "muzzle_laser"
charge_cost = 25
charge_icon = ""

gun_category = GUN_CATEGORY_SMG
flags_equip_slot = SLOT_WAIST
charge_cost = 50
charge_icon = "ter_e"

/obj/item/weapon/gun/energy/laz_uzi/alien/handle_fire(atom/target, mob/living/carbon/human/user, params, reflex, dual_wield, check_for_attachment_fire, akimbo, fired_by_akimbo)
. = ..()
if(. && !HAS_TRAIT(user, TRAIT_YAUTJA_TECH))
cell_explosion(get_turf(src), 30, 10, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, create_cause_data("weapon explosion", user))
if(!HAS_TRAIT(user, TRAIT_YAUTJA_TECH))
visible_message(SPAN_DANGER("[src] explodes right in the hands of [user]!"))
cell_explosion(get_turf(src), 30, 10, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, create_cause_data("weapon explosion", user))
if(!QDELETED(src))
qdel(src)
return NONE
. = ..()

// pistol
/datum/ammo/energy/rxfm_eva // OVERRIDE
flags_ammo_behavior = AMMO_ENERGY

/obj/item/weapon/gun/energy/rxfm5_eva/alien
name = "weapon of unknown design"
desc = "A strange alien weapon."
Expand All @@ -38,25 +42,30 @@
WEAR_R_HAND = 'void-marines/icons/energy_right_1.dmi'
)

w_class = SIZE_SMALL

muzzle_flash = "muzzle_laser"
fire_sound = 'sound/weapons/Laser4.ogg'

attachable_allowed = list()
starting_attachment_types = list()

has_charge_meter = FALSE
charge_icon = "tep_e"
charge_cost = 150
charge_icon = ""

w_class = SIZE_SMALL
flags_item = null
flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER

/obj/item/weapon/gun/energy/rxfm5_eva/alien/update_icon()
icon_state = "tep"
item_state = "tep"
return

/obj/item/weapon/gun/energy/rxfm5_eva/alien/handle_fire(atom/target, mob/living/carbon/human/user, params, reflex, dual_wield, check_for_attachment_fire, akimbo, fired_by_akimbo)
. = ..()
if(. && !HAS_TRAIT(user, TRAIT_YAUTJA_TECH))
if(!HAS_TRAIT(user, TRAIT_YAUTJA_TECH))
visible_message(SPAN_DANGER("[src] explodes right in the hands of [user]!"), SPAN_DANGER("[src] explodes right in the hands of [user]!"))
cell_explosion(get_turf(src), 30, 10, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, create_cause_data("weapon explosion", user))
visible_message(SPAN_DANGER("[src] explodes right in the hands of [user]!"))
if(!QDELETED(src))
qdel(src)
return NONE
. = ..()
Loading

0 comments on commit 034b049

Please sign in to comment.