Adds and tweaks Vox toys
@@ -33,11 +33,14 @@
|
|||||||
#define LANGUAGE_SKRELLIAN "Skrellian"
|
#define LANGUAGE_SKRELLIAN "Skrellian"
|
||||||
#define LANGUAGE_TRADEBAND "Tradeband"
|
#define LANGUAGE_TRADEBAND "Tradeband"
|
||||||
#define LANGUAGE_GUTTER "Gutter"
|
#define LANGUAGE_GUTTER "Gutter"
|
||||||
|
#define LANGUAGE_SIGN "Sign Language"
|
||||||
#define LANGUAGE_SCHECHI "Schechi"
|
#define LANGUAGE_SCHECHI "Schechi"
|
||||||
#define LANGUAGE_ROOTLOCAL "Local Rootspeak"
|
#define LANGUAGE_ROOTLOCAL "Local Rootspeak"
|
||||||
#define LANGUAGE_ROOTGLOBAL "Global Rootspeak"
|
#define LANGUAGE_ROOTGLOBAL "Global Rootspeak"
|
||||||
#define LANGUAGE_CULT "Cult"
|
#define LANGUAGE_CULT "Cult"
|
||||||
#define LANGUAGE_SIGN "Sign Language"
|
#define LANGUAGE_OCCULT "Occult"
|
||||||
|
#define LANGUAGE_CHANGELING "Changeling"
|
||||||
|
#define LANGUAGE_VOX "Vox-Pidgin"
|
||||||
|
|
||||||
// Language flags.
|
// Language flags.
|
||||||
#define WHITELISTED 1 // Language is available if the speaker is whitelisted.
|
#define WHITELISTED 1 // Language is available if the speaker is whitelisted.
|
||||||
|
|||||||
@@ -92,4 +92,9 @@
|
|||||||
siemens_coefficient = 0
|
siemens_coefficient = 0
|
||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
permeability_coefficient = 0.05
|
permeability_coefficient = 0.05
|
||||||
species_restricted = list("Vox")
|
species_restricted = list("Vox")
|
||||||
|
|
||||||
|
cold_protection = HANDS
|
||||||
|
min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
|
||||||
|
heat_protection = HANDS
|
||||||
|
max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||||
|
|||||||
@@ -107,7 +107,6 @@
|
|||||||
magpulse = 1
|
magpulse = 1
|
||||||
canremove = 0 //kinda hard to take off magclaws when you are gripping them tightly.
|
canremove = 0 //kinda hard to take off magclaws when you are gripping them tightly.
|
||||||
to_chat(user, "You dig your claws deeply into the flooring, bracing yourself.")
|
to_chat(user, "You dig your claws deeply into the flooring, bracing yourself.")
|
||||||
to_chat(user, "It would be hard to take off the [src] without relaxing your grip first.")
|
|
||||||
user.update_action_buttons()
|
user.update_action_buttons()
|
||||||
|
|
||||||
//In case they somehow come off while enabled.
|
//In case they somehow come off while enabled.
|
||||||
|
|||||||
@@ -36,14 +36,14 @@
|
|||||||
slowdown = 1
|
slowdown = 1
|
||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
armor = list(melee = 60, bullet = 50, laser = 40,energy = 15, bomb = 30, bio = 30, rad = 30)
|
armor = list(melee = 60, bullet = 50, laser = 40,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||||
siemens_coefficient = 0.6
|
siemens_coefficient = 0.2
|
||||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||||
species_restricted = list("Vox")
|
species_restricted = list("Vox")
|
||||||
|
|
||||||
/obj/item/clothing/head/helmet/space/vox
|
/obj/item/clothing/head/helmet/space/vox
|
||||||
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 30, rad = 30)
|
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||||
siemens_coefficient = 0.6
|
siemens_coefficient = 0.2
|
||||||
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT | PHORONGUARD
|
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT | PHORONGUARD
|
||||||
flags_inv = 0
|
flags_inv = 0
|
||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
icon_state = "vox_rig"
|
icon_state = "vox_rig"
|
||||||
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 30, rad = 30)
|
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||||
item_flags = THICKMATERIAL
|
item_flags = THICKMATERIAL
|
||||||
|
siemens_coefficient = 0.2
|
||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
|
|
||||||
air_type = /obj/item/weapon/tank/phoron/vox
|
air_type = /obj/item/weapon/tank/phoron/vox
|
||||||
@@ -58,9 +59,11 @@
|
|||||||
|
|
||||||
/obj/item/clothing/head/helmet/space/rig/vox
|
/obj/item/clothing/head/helmet/space/rig/vox
|
||||||
species_restricted = list("Vox")
|
species_restricted = list("Vox")
|
||||||
|
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
|
|
||||||
/obj/item/clothing/shoes/magboots/rig/vox
|
/obj/item/clothing/shoes/magboots/rig/vox
|
||||||
|
name = "talons"
|
||||||
species_restricted = list("Vox")
|
species_restricted = list("Vox")
|
||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
|
|
||||||
@@ -69,7 +72,6 @@
|
|||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
|
|
||||||
/obj/item/clothing/gloves/gauntlets/rig/vox
|
/obj/item/clothing/gloves/gauntlets/rig/vox
|
||||||
name = "talons"
|
|
||||||
siemens_coefficient = 0
|
siemens_coefficient = 0
|
||||||
species_restricted = list("Vox")
|
species_restricted = list("Vox")
|
||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
/obj/item/clothing/under/vox
|
/obj/item/clothing/under/vox
|
||||||
has_sensor = 0
|
has_sensor = 0
|
||||||
species_restricted = list("Vox")
|
species_restricted = list("Vox")
|
||||||
|
valid_accessory_slots = list("vox")
|
||||||
|
restricted_accessory_slots = list("vox")
|
||||||
phoronproof = 1
|
phoronproof = 1
|
||||||
|
|
||||||
/obj/item/clothing/under/vox/vox_casual
|
/obj/item/clothing/under/vox/vox_casual
|
||||||
@@ -14,4 +16,18 @@
|
|||||||
name = "alien robes"
|
name = "alien robes"
|
||||||
desc = "Weird and flowing!"
|
desc = "Weird and flowing!"
|
||||||
icon_state = "vox-casual-2"
|
icon_state = "vox-casual-2"
|
||||||
item_state = "vox-casual-2"
|
item_state = "vox-casual-2"
|
||||||
|
|
||||||
|
//Vox Accessories
|
||||||
|
/obj/item/clothing/accessory/storage/vox
|
||||||
|
name = ""
|
||||||
|
desc = "An alien mesh. Seems to be made up mostly of pockets"
|
||||||
|
// icon_state = "webbing"
|
||||||
|
slot = "vox"
|
||||||
|
|
||||||
|
slots = 5
|
||||||
|
|
||||||
|
/obj/item/clothing/accessory/storage/vox/New()
|
||||||
|
..()
|
||||||
|
hold.max_storage_space = slots * ITEMSIZE_COST_NORMAL
|
||||||
|
hold.max_w_class = ITEMSIZE_NORMAL
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/datum/language/ling
|
/datum/language/ling
|
||||||
name = "Changeling"
|
name = LANGUAGE_CHANGELING
|
||||||
desc = "Although they are normally wary and suspicious of each other, changelings can commune over a distance."
|
desc = "Although they are normally wary and suspicious of each other, changelings can commune over a distance."
|
||||||
speech_verb = "says"
|
speech_verb = "says"
|
||||||
colour = "changeling"
|
colour = "changeling"
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
..(speaker,message,speaker_mask)
|
..(speaker,message,speaker_mask)
|
||||||
|
|
||||||
/datum/language/vox
|
/datum/language/vox
|
||||||
name = "Vox-pidgin"
|
name = LANGUAGE_VOX
|
||||||
desc = "The common tongue of the various Vox ships making up the Shoal. It sounds like chaotic shrieking to everyone else."
|
desc = "The common tongue of the various Vox ships making up the Shoal. It sounds like chaotic shrieking to everyone else."
|
||||||
speech_verb = "shrieks"
|
speech_verb = "shrieks"
|
||||||
ask_verb = "creels"
|
ask_verb = "creels"
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
"d'rekkathnor", "khari'd", "gual'te", "nikka", "nikt'o", "barada", "kla'atu", "barhah", "hra" ,"zar'garis", "spiri", "malum")
|
"d'rekkathnor", "khari'd", "gual'te", "nikka", "nikt'o", "barada", "kla'atu", "barhah", "hra" ,"zar'garis", "spiri", "malum")
|
||||||
|
|
||||||
/datum/language/cult
|
/datum/language/cult
|
||||||
name = "Occult"
|
name = LANGUAGE_OCCULT
|
||||||
desc = "The initiated can share their thoughts by means defying all reason."
|
desc = "The initiated can share their thoughts by means defying all reason."
|
||||||
speech_verb = "intones"
|
speech_verb = "intones"
|
||||||
ask_verb = "intones"
|
ask_verb = "intones"
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
name_plural = "Vox"
|
name_plural = "Vox"
|
||||||
icobase = 'icons/mob/human_races/r_vox.dmi'
|
icobase = 'icons/mob/human_races/r_vox.dmi'
|
||||||
deform = 'icons/mob/human_races/r_def_vox.dmi'
|
deform = 'icons/mob/human_races/r_def_vox.dmi'
|
||||||
default_language = "Vox-pidgin"
|
default_language = LANGUAGE_VOX
|
||||||
language = "Galactic Common"
|
language = LANGUAGE_GALCOM
|
||||||
num_alternate_languages = 1
|
num_alternate_languages = 1
|
||||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/strong)
|
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/strong)
|
||||||
rarity_value = 4
|
rarity_value = 4
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
spawn_flags = SPECIES_IS_WHITELISTED
|
spawn_flags = SPECIES_IS_WHITELISTED
|
||||||
appearance_flags = HAS_EYE_COLOR | HAS_HAIR_COLOR
|
appearance_flags = HAS_EYE_COLOR | HAS_HAIR_COLOR
|
||||||
|
|
||||||
blood_color = "#2299FC"
|
blood_color = "#9066BD"
|
||||||
flesh_color = "#808D11"
|
flesh_color = "#808D11"
|
||||||
|
|
||||||
reagent_tag = IS_VOX
|
reagent_tag = IS_VOX
|
||||||
|
|||||||
@@ -150,3 +150,19 @@ obj/item/weapon/gun/energy/staff/focus
|
|||||||
user << "<span class='warning'>The [src.name] will now strike only a single person.</span>"
|
user << "<span class='warning'>The [src.name] will now strike only a single person.</span>"
|
||||||
projectile_type = "/obj/item/projectile/forcebolt"
|
projectile_type = "/obj/item/projectile/forcebolt"
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
//Vox toys
|
||||||
|
/obj/item/weapon/gun/energy/sonicgun
|
||||||
|
name = "sonic cannon"
|
||||||
|
desc = "A vicious alien sonic weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
|
||||||
|
icon_state = "plasma_stun"
|
||||||
|
item_state = "plasma_stun"
|
||||||
|
fire_sound = 'sound/effects/basscannon.ogg'
|
||||||
|
fire_delay = 10
|
||||||
|
|
||||||
|
self_recharge = 1
|
||||||
|
|
||||||
|
firemodes = list(
|
||||||
|
list(mode_name="incapacitate", projectile_type=/obj/item/projectile/energy/sonic/weak, fire_delay=10, charge_cost = 120),
|
||||||
|
list(mode_name="kill", projectile_type=/obj/item/projectile/energy/sonic/strong, fire_delay=20, charge_cost = 240),
|
||||||
|
)
|
||||||
@@ -171,4 +171,51 @@
|
|||||||
|
|
||||||
/obj/item/projectile/energy/plasmastun/on_hit(var/atom/target)
|
/obj/item/projectile/energy/plasmastun/on_hit(var/atom/target)
|
||||||
bang(target)
|
bang(target)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
|
/obj/item/projectile/energy/sonic
|
||||||
|
name = "sonic pulse"
|
||||||
|
icon_state = "sonic_pulse"
|
||||||
|
armor_penetration = 50
|
||||||
|
kill_count = 8
|
||||||
|
damage_type = BRUTE
|
||||||
|
embed_chance = 0
|
||||||
|
check_armour = "melee"
|
||||||
|
vacuum_traversal = 0
|
||||||
|
var/ear_pain = 10
|
||||||
|
|
||||||
|
/obj/item/projectile/energy/sonic/on_hit(var/atom/target)
|
||||||
|
sonicboom(target, ear_pain)
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
/obj/item/projectile/energy/sonic/proc/sonicboom(var/mob/living/carbon/M, var/ear_pain)
|
||||||
|
to_chat(M, "<span class='danger'>You hear a loud roar.</span>")
|
||||||
|
var/ear_safety = 0
|
||||||
|
var/ear_effect = ear_pain
|
||||||
|
ear_safety = M.get_ear_protection()
|
||||||
|
if (ear_safety > 1)
|
||||||
|
ear_effect *= 0.5
|
||||||
|
else if (!ear_safety)
|
||||||
|
ear_effect *= 2
|
||||||
|
|
||||||
|
M.adjustEarDamage(ear_effect, ear_effect*2)
|
||||||
|
M.halloss += ear_effect
|
||||||
|
|
||||||
|
if (M.ear_damage >= 15)
|
||||||
|
to_chat(M, "<span class='danger'>Your ears start to ring badly!</span>")
|
||||||
|
M.confused = max(M.confused, 100) //Balance thrown off
|
||||||
|
if (prob(M.ear_damage - 5))
|
||||||
|
to_chat(M, "<span class='danger'>You can't hear anything!</span>")
|
||||||
|
M.sdisabilities |= DEAF
|
||||||
|
else
|
||||||
|
if (M.ear_damage >= 5)
|
||||||
|
to_chat(M, "<span class='danger'>Your ears start to ring!</span>")
|
||||||
|
M.update_icons()
|
||||||
|
|
||||||
|
/obj/item/projectile/energy/sonic/weak
|
||||||
|
damage = 10
|
||||||
|
ear_pain = 20
|
||||||
|
|
||||||
|
/obj/item/projectile/energy/sonic/strong
|
||||||
|
damage = 40
|
||||||
|
ear_pain = 10
|
||||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |