mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 20:43:10 +01:00
Vaurca Content 2 (#426)
Vaurca hivemind language added. Vaurca appropriate name generator added. Tied Vaurca language to their neural socket organ. Added a method for non-Vaurca to intercept the Vaurca hivenet so long as they construct the correct item. Sprites for Vaurca organs. Neutered all Vaurca. Cutting open a Vaurca for surgery now requires heavier equipment. Injecting a Vaurca with a syringe now will take time. Adds various Vaurca cosmetic items available via loadout. Adds a few new burst-fire weapons exploiting the burstfire fix - obtainable via research or adminbus. Ports the ability to stick heads on spears from Paradise-code. Added an error message when trying to bite someone before the cooldown expires. Removed spoken Vaurca language. Heavily nerfed K'ois' properties. Halved the nutrition value of nutriment, returning it to old-code state. Nerfed the damage dealt by bite, while reducing the cooldown. Fixed burstfire weapons spamming attack messages when fired, allowing for more automatic weapons. Fixed Vaurca player ability to select coloured eyes.
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
slot_flags = SLOT_EARS
|
||||
var/translate_binary = 0
|
||||
var/translate_hive = 0
|
||||
var/translate_hivenet = 0
|
||||
var/syndie = 0
|
||||
var/list/channels = list()
|
||||
|
||||
@@ -28,6 +29,13 @@
|
||||
translate_binary = 1
|
||||
origin_tech = "syndicate=3"
|
||||
|
||||
/obj/item/device/encryptionkey/hivenet
|
||||
name = "hivenet encryption chip"
|
||||
desc = "It appears to be a Vaurca hivenet encryption chip, for localized broadcasts."
|
||||
translate_hivenet = 1
|
||||
icon = 'icons/obj/stock_parts.dmi'
|
||||
icon_state = "neuralchip"
|
||||
|
||||
/obj/item/device/encryptionkey/headset_sec
|
||||
name = "security radio encryption key"
|
||||
icon_state = "sec_cypherkey"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
slot_flags = SLOT_EARS
|
||||
var/translate_binary = 0
|
||||
var/translate_hive = 0
|
||||
var/translate_hivenet = 0
|
||||
var/obj/item/device/encryptionkey/keyslot1 = null
|
||||
var/obj/item/device/encryptionkey/keyslot2 = null
|
||||
maxf = 1489
|
||||
@@ -48,6 +49,9 @@
|
||||
if (translate_hive)
|
||||
var/datum/language/hivemind = all_languages["Hivemind"]
|
||||
hivemind.broadcast(M, message)
|
||||
if (translate_hivenet)
|
||||
var/datum/language/bug = all_languages["Hivenet"]
|
||||
bug.broadcast(M, message)
|
||||
return null
|
||||
|
||||
return ..()
|
||||
@@ -61,6 +65,10 @@
|
||||
return ..(freq, level)
|
||||
return -1
|
||||
|
||||
/obj/item/device/radio/headset/hivenet
|
||||
translate_hivenet = 1
|
||||
ks1type = /obj/item/device/encryptionkey/hivenet
|
||||
|
||||
/obj/item/device/radio/headset/syndicate
|
||||
origin_tech = "syndicate=3"
|
||||
syndie = 1
|
||||
@@ -279,6 +287,7 @@
|
||||
src.channels = list()
|
||||
src.translate_binary = 0
|
||||
src.translate_hive = 0
|
||||
src.translate_hivenet = 0
|
||||
src.syndie = 0
|
||||
|
||||
if(keyslot1)
|
||||
@@ -294,6 +303,9 @@
|
||||
if(keyslot1.translate_hive)
|
||||
src.translate_hive = 1
|
||||
|
||||
if(keyslot1.translate_hivenet)
|
||||
src.translate_hivenet = 1
|
||||
|
||||
if(keyslot1.syndie)
|
||||
src.syndie = 1
|
||||
|
||||
@@ -310,6 +322,9 @@
|
||||
if(keyslot2.translate_hive)
|
||||
src.translate_hive = 1
|
||||
|
||||
if(keyslot2.translate_hivenet)
|
||||
src.translate_hivenet = 1
|
||||
|
||||
if(keyslot2.syndie)
|
||||
src.syndie = 1
|
||||
|
||||
|
||||
@@ -68,6 +68,9 @@
|
||||
for (var/ch_name in channels)
|
||||
secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT)
|
||||
|
||||
/obj/item/device/radio/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
interact(user)
|
||||
|
||||
/obj/item/device/radio/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
@@ -649,4 +652,4 @@
|
||||
return
|
||||
|
||||
/obj/item/device/radio/off
|
||||
listening = 0
|
||||
listening = 0
|
||||
@@ -232,3 +232,49 @@
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("attacked", "poked", "jabbed", "torn", "gored")
|
||||
default_material = "glass"
|
||||
|
||||
//Putting heads on spears
|
||||
/*bj/item/organ/external/head/attackby(var/obj/item/weapon/W, var/mob/living/user, params)
|
||||
if(istype(W, /obj/item/weapon/material/twohanded/spear))
|
||||
user << "<span class='notice'>You stick the head onto the spear and stand it upright on the ground.</span>"
|
||||
var/obj/structure/headspear/HS = new /obj/structure/headspear(user.loc)
|
||||
var/matrix/M = matrix()
|
||||
src.transform = M
|
||||
user.drop_item()
|
||||
src.loc = HS
|
||||
var/image/IM = image(src.icon,src.icon_state)
|
||||
IM.overlays = src.overlays.Copy()
|
||||
HS.overlays += IM
|
||||
qdel(W)
|
||||
qdel(src)
|
||||
return
|
||||
return ..()*/
|
||||
|
||||
/obj/item/weapon/material/twohanded/spear/attackby(var/obj/item/I, var/mob/living/user)
|
||||
if(istype(I, /obj/item/organ/external/head))
|
||||
user << "<span class='notice'>You stick the head onto the spear and stand it upright on the ground.</span>"
|
||||
var/obj/structure/headspear/HS = new /obj/structure/headspear(user.loc)
|
||||
var/matrix/M = matrix()
|
||||
I.transform = M
|
||||
usr.drop_item()
|
||||
I.loc = HS
|
||||
var/image/IM = image(I.icon,I.icon_state)
|
||||
IM.overlays = I.overlays.Copy()
|
||||
HS.overlays += IM
|
||||
qdel(src)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/structure/headspear
|
||||
name = "head on a spear"
|
||||
desc = "How barbaric."
|
||||
icon_state = "headspear"
|
||||
density = 0
|
||||
anchored = 1
|
||||
|
||||
/obj/structure/headspear/attack_hand(mob/living/user)
|
||||
user.visible_message("<span class='warning'>[user] kicks over \the [src]!</span>", "<span class='danger'>You kick down \the [src]!</span>")
|
||||
new /obj/item/weapon/material/twohanded/spear(user.loc)
|
||||
for(var/obj/item/organ/external/head/H in src)
|
||||
H.loc = user.loc
|
||||
qdel(src)
|
||||
@@ -56,6 +56,35 @@
|
||||
"<span class='danger'>\The [user] is falling on the [src.name]! It looks like [tempgender] trying to commit suicide.</span>")
|
||||
return (BRUTELOSS|FIRELOSS)
|
||||
|
||||
/obj/item/weapon/melee/energy/glaive
|
||||
name = "energy glaive"
|
||||
desc = "An energized glaive."
|
||||
icon_state = "eglaive0"
|
||||
active_force = 60
|
||||
active_throwforce = 60
|
||||
active_w_class = 5
|
||||
force = 20
|
||||
throwforce = 30
|
||||
throw_speed = 5
|
||||
throw_range = 10
|
||||
w_class = 5
|
||||
flags = CONDUCT | NOSHIELD | NOBLOODY
|
||||
origin_tech = "magnets=3;combat=4;syndicate=4"
|
||||
attack_verb = list("stabbed", "chopped", "sliced", "cleaved", "slashed", "cut")
|
||||
sharp = 1
|
||||
edge = 1
|
||||
slot_flags = SLOT_BACK
|
||||
|
||||
/obj/item/weapon/melee/energy/glaive/activate(mob/living/user)
|
||||
..()
|
||||
icon_state = "eglaive1"
|
||||
user << "\blue \The [src] is now energised."
|
||||
|
||||
/obj/item/weapon/melee/energy/glaive/deactivate(mob/living/user)
|
||||
..()
|
||||
icon_state = initial(icon_state)
|
||||
user << "\blue \The [src] is de-energised."
|
||||
|
||||
/*
|
||||
* Energy Axe
|
||||
*/
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
return
|
||||
*/
|
||||
..()
|
||||
|
||||
|
||||
//Please don't clutter the parent storage item with stupid hacks.
|
||||
can_be_inserted(obj/item/W as obj, stop_messages = 0)
|
||||
if(istype(W, /obj/item/weapon/storage/backpack/holding))
|
||||
@@ -166,6 +166,12 @@
|
||||
desc = "It's an orange backpack which was designed to hold beakers, pill bottles and bottles."
|
||||
icon_state = "chempack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/cloak
|
||||
name = "tunnel cloak"
|
||||
desc = "It's a Vaurca cloak, with paltry storage options."
|
||||
icon_state = "cape"
|
||||
max_storage_space = 12
|
||||
|
||||
/*
|
||||
* Satchel Types
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user