mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-26 10:02:28 +00:00
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.
165 lines
4.4 KiB
Plaintext
165 lines
4.4 KiB
Plaintext
/obj/item/projectile/ion
|
|
name = "ion bolt"
|
|
icon_state = "ion"
|
|
damage = 0
|
|
damage_type = BURN
|
|
nodamage = 1
|
|
check_armour = "energy"
|
|
|
|
|
|
on_hit(var/atom/target, var/blocked = 0)
|
|
empulse(target, 1, 1)
|
|
return 1
|
|
|
|
|
|
/obj/item/projectile/bullet/gyro
|
|
name ="explosive bolt"
|
|
icon_state= "bolter"
|
|
damage = 50
|
|
check_armour = "bullet"
|
|
sharp = 1
|
|
edge = 1
|
|
|
|
on_hit(var/atom/target, var/blocked = 0)
|
|
explosion(target, -1, 0, 2)
|
|
return 1
|
|
|
|
/obj/item/projectile/bullet/gyro/law
|
|
name ="high-ex round"
|
|
icon_state= "bolter"
|
|
damage = 15
|
|
|
|
on_hit(var/atom/target, var/blocked = 0)
|
|
explosion(target, -1, 0, 2)
|
|
sleep(0)
|
|
var/obj/T = target
|
|
var/throwdir = get_dir(firer,target)
|
|
T.throw_at(get_edge_target_turf(target, throwdir),3,3)
|
|
return 1
|
|
|
|
/obj/item/projectile/temp
|
|
name = "freeze beam"
|
|
icon_state = "ice_2"
|
|
damage = 0
|
|
damage_type = BURN
|
|
nodamage = 1
|
|
check_armour = "energy"
|
|
//var/temperature = 300
|
|
|
|
|
|
on_hit(var/atom/target, var/blocked = 0)//These two could likely check temp protection on the mob
|
|
if(istype(target, /mob/living))
|
|
var/mob/M = target
|
|
M.bodytemperature = -273
|
|
return 1
|
|
|
|
/obj/item/projectile/meteor
|
|
name = "meteor"
|
|
icon = 'icons/obj/meteor.dmi'
|
|
icon_state = "smallf"
|
|
damage = 0
|
|
damage_type = BRUTE
|
|
nodamage = 1
|
|
check_armour = "bullet"
|
|
|
|
Bump(atom/A as mob|obj|turf|area)
|
|
if(A == firer)
|
|
loc = A.loc
|
|
return
|
|
|
|
sleep(-1) //Might not be important enough for a sleep(-1) but the sleep/spawn itself is necessary thanks to explosions and metoerhits
|
|
|
|
if(src)//Do not add to this if() statement, otherwise the meteor won't delete them
|
|
if(A)
|
|
|
|
A.meteorhit(src)
|
|
playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1)
|
|
|
|
for(var/mob/M in range(10, src))
|
|
if(!M.stat && !istype(M, /mob/living/silicon/ai))\
|
|
shake_camera(M, 3, 1)
|
|
qdel(src)
|
|
return 1
|
|
else
|
|
return 0
|
|
|
|
/obj/item/projectile/energy/floramut
|
|
name = "alpha somatoray"
|
|
icon_state = "energy"
|
|
damage = 0
|
|
damage_type = TOX
|
|
nodamage = 1
|
|
check_armour = "energy"
|
|
|
|
on_hit(var/atom/target, var/blocked = 0)
|
|
var/mob/living/M = target
|
|
if(ishuman(target))
|
|
var/mob/living/carbon/human/H = M
|
|
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
|
|
if(prob(15))
|
|
M.apply_effect((rand(30,80)),IRRADIATE)
|
|
M.Weaken(5)
|
|
for (var/mob/V in viewers(src))
|
|
V.show_message("\red [M] writhes in pain as \his vacuoles boil.", 3, "\red You hear the crunching of leaves.", 2)
|
|
if(prob(35))
|
|
// for (var/mob/V in viewers(src)) //Public messages commented out to prevent possible metaish genetics experimentation and stuff. - Cheridan
|
|
// V.show_message("\red [M] is mutated by the radiation beam.", 3, "\red You hear the snapping of twigs.", 2)
|
|
if(prob(80))
|
|
randmutb(M)
|
|
domutcheck(M,null)
|
|
else
|
|
randmutg(M)
|
|
domutcheck(M,null)
|
|
else
|
|
M.adjustFireLoss(rand(5,15))
|
|
M.show_message("\red The radiation beam singes you!")
|
|
// for (var/mob/V in viewers(src))
|
|
// V.show_message("\red [M] is singed by the radiation beam.", 3, "\red You hear the crackle of burning leaves.", 2)
|
|
else if(istype(target, /mob/living/carbon/))
|
|
// for (var/mob/V in viewers(src))
|
|
// V.show_message("The radiation beam dissipates harmlessly through [M]", 3)
|
|
M.show_message("\blue The radiation beam dissipates harmlessly through your body.")
|
|
else
|
|
return 1
|
|
|
|
/obj/item/projectile/energy/florayield
|
|
name = "beta somatoray"
|
|
icon_state = "energy2"
|
|
damage = 0
|
|
damage_type = TOX
|
|
nodamage = 1
|
|
check_armour = "energy"
|
|
|
|
on_hit(var/atom/target, var/blocked = 0)
|
|
var/mob/M = target
|
|
if(ishuman(target)) //These rays make plantmen fat.
|
|
var/mob/living/carbon/human/H = M
|
|
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
|
|
M.nutrition += 30
|
|
else if (istype(target, /mob/living/carbon/))
|
|
M.show_message("\blue The radiation beam dissipates harmlessly through your body.")
|
|
else
|
|
return 1
|
|
|
|
|
|
/obj/item/projectile/beam/mindflayer
|
|
name = "flayer ray"
|
|
|
|
on_hit(var/atom/target, var/blocked = 0)
|
|
if(ishuman(target))
|
|
var/mob/living/carbon/human/M = target
|
|
M.adjustBrainLoss(20)
|
|
M.hallucination += 20
|
|
|
|
/obj/item/projectile/bullet/trod
|
|
name ="tungsten rod"
|
|
icon_state= "gauss"
|
|
damage = 75
|
|
check_armour = "bomb"
|
|
sharp = 1
|
|
edge = 1
|
|
|
|
on_hit(var/atom/target, var/blocked = 0)
|
|
explosion(target, 0, 0, 4)
|
|
return 1
|