More toys kikiki

This commit is contained in:
Anewbe
2017-01-25 22:20:52 -06:00
parent e23f5c2dd0
commit 6816af4485
28 changed files with 143 additions and 118 deletions

View File

@@ -33,7 +33,6 @@
w_class = ITEMSIZE_NORMAL
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | PHORONGUARD
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank)
slowdown = 1
phoronproof = 1
armor = list(melee = 60, bullet = 50, laser = 40,energy = 15, bomb = 30, bio = 30, rad = 30)
siemens_coefficient = 0.2

View File

@@ -65,6 +65,7 @@
/obj/item/clothing/shoes/magboots/rig/vox
name = "talons"
species_restricted = list("Vox")
icon = 'icons/mob/species/vox/shoes.dmi'
phoronproof = 1
/obj/item/clothing/suit/space/rig/vox
@@ -74,11 +75,33 @@
/obj/item/clothing/gloves/gauntlets/rig/vox
siemens_coefficient = 0
species_restricted = list("Vox")
icon = 'icons/mob/species/vox/gloves.dmi'
phoronproof = 1
/obj/item/weapon/rig/vox/carapace
name = "dense alien control module"
suit_type = "dense alien"
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 30, rad = 30)
emp_protection = 40 //change this to 30 if too high.
phoronproof = 1
req_access = list(access_syndicate)
cell_type = /obj/item/weapon/cell/hyper
initial_modules = list(
/obj/item/rig_module/mounted/energy_blade,
/obj/item/rig_module/sprinter,
/obj/item/rig_module/electrowarfare_suite,
/obj/item/rig_module/vision,
/obj/item/rig_module/power_sink,
/obj/item/rig_module/self_destruct
)
/obj/item/weapon/rig/vox/stealth
name = "sinister alien control module"
suit_type = "sinister alien"
icon_state = "voxstealth_rig"
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 100)
emp_protection = 40 //change this to 30 if too high.
slowdown = 0
@@ -90,6 +113,7 @@
initial_modules = list(
/obj/item/rig_module/stealth_field,
/obj/item/rig_module/electrowarfare_suite,
/obj/item/rig_module/vision,
/obj/item/rig_module/power_sink,
/obj/item/rig_module/self_destruct

View File

@@ -21,8 +21,8 @@
//Vox Accessories
/obj/item/clothing/accessory/storage/vox
name = ""
desc = "An alien mesh. Seems to be made up mostly of pockets"
// icon_state = "webbing"
desc = "An alien mesh. Seems to be made up mostly of pockets and writhing flesh."
icon_state = "vox-webbing"
slot = "vox"
slots = 5

View File

@@ -17,6 +17,8 @@
// taste_sensitivity = TASTE_DULL
slowdown = -0.5
speech_sounds = list('sound/voice/shriek1.ogg')
speech_chance = 20

View File

@@ -1,46 +0,0 @@
// Alien pinning weapon.
/obj/item/weapon/gun/launcher/spikethrower
name = "spike thrower"
desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
var/last_regen = 0
var/spike_gen_time = 150
var/max_spikes = 3
var/spikes = 3
release_force = 30
icon = 'icons/obj/gun.dmi'
icon_state = "spikethrower3"
item_state = "spikethrower"
fire_sound_text = "a strange noise"
fire_sound = 'sound/weapons/bladeslice.ogg'
/obj/item/weapon/gun/launcher/spikethrower/New()
..()
processing_objects.Add(src)
last_regen = world.time
/obj/item/weapon/gun/launcher/spikethrower/Destroy()
processing_objects.Remove(src)
..()
/obj/item/weapon/gun/launcher/spikethrower/process()
if(spikes < max_spikes && world.time > last_regen + spike_gen_time)
spikes++
last_regen = world.time
update_icon()
/obj/item/weapon/gun/launcher/spikethrower/examine(mob/user)
..(user)
user << "It has [spikes] spike\s remaining."
/obj/item/weapon/gun/launcher/spikethrower/update_icon()
icon_state = "spikethrower[spikes]"
/obj/item/weapon/gun/launcher/spikethrower/update_release_force()
return
/obj/item/weapon/gun/launcher/spikethrower/consume_next_projectile()
if(spikes < 1) return null
spikes--
return new /obj/item/weapon/spike(src)

View File

@@ -149,20 +149,4 @@ obj/item/weapon/gun/energy/staff/focus
charge_cost = 200
user << "<span class='warning'>The [src.name] will now strike only a single person.</span>"
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),
)
*/

View File

@@ -0,0 +1,109 @@
/*
* Vox Spike Thrower
* Alien pinning weapon.
*/
/obj/item/weapon/gun/launcher/spikethrower
name = "spike thrower"
desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
var/last_regen = 0
var/spike_gen_time = 150
var/max_spikes = 3
var/spikes = 3
release_force = 30
icon = 'icons/obj/gun.dmi'
icon_state = "spikethrower3"
item_state = "spikethrower"
fire_sound_text = "a strange noise"
fire_sound = 'sound/weapons/bladeslice.ogg'
/obj/item/weapon/gun/launcher/spikethrower/New()
..()
processing_objects.Add(src)
last_regen = world.time
/obj/item/weapon/gun/launcher/spikethrower/Destroy()
processing_objects.Remove(src)
..()
/obj/item/weapon/gun/launcher/spikethrower/process()
if(spikes < max_spikes && world.time > last_regen + spike_gen_time)
spikes++
last_regen = world.time
update_icon()
/obj/item/weapon/gun/launcher/spikethrower/examine(mob/user)
..(user)
user << "It has [spikes] spike\s remaining."
/obj/item/weapon/gun/launcher/spikethrower/update_icon()
icon_state = "spikethrower[spikes]"
/obj/item/weapon/gun/launcher/spikethrower/update_release_force()
return
/obj/item/weapon/gun/launcher/spikethrower/consume_next_projectile()
if(spikes < 1) return null
spikes--
return new /obj/item/weapon/spike(src)
/*
* Vox Darkmatter Cannon
*/
/obj/item/weapon/gun/energy/darkmatter
name = "spike thrower"
desc = "A vicious alien beam weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
icon_state = "darkcannon"
item_state = "darkcannon"
fire_sound = 'sound/weapons/eLuger.ogg'
charge_cost = 600
self_recharge = 1
projectile_type = /obj/item/projectile/beam/darkmatter
/obj/item/projectile/beam/darkmatter
name = "dark matter bolt"
icon_state = "laser"
damage = 45
armor_penetration = 10
damage_type = BRUTE
check_armour = "energy"
/*
* Vox Darkmatter Cannon
*/
/obj/item/weapon/gun/energy/sonic
name = "soundcannon"
desc = "A vicious alien sound weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
icon_state = "noise"
item_state = "noise"
fire_sound = 'sound/effects/basscannon.ogg'
self_recharge = 1
firemodes = list(
list(mode_name="normal", projectile_type=/obj/item/projectile/sonic/strong, charge_cost = 600),
list(mode_name="suppressive", projectile_type=/obj/item/projectile/sonic/weak, charge_cost = 300),
)
/obj/item/projectile/sonic
name = "sonic pulse"
icon_state = "sound"
damage = 15
armor_penetration = 100
damage_type = BRUTE
check_armour = "melee"
embed_chance = 0
vacuum_traversal = 0
/obj/item/projectile/sonic/weak
agony = 30
/obj/item/projectile/sonic/strong
damage = 45
//Already have thoughts on how to improve this, will take a day or two
/obj/item/projectile/sonic/strong/on_hit(var/atom/movable/target, var/blocked = 0)
if(istype(target))
var/throwdir = get_dir(firer,target)
target.throw_at(get_edge_target_turf(target, throwdir),10,10)
return 1

View File

@@ -8,6 +8,7 @@
eyeblur = 4
var/frequency = 1
hitscan = 1
embed_chance = 0
invisibility = 101 //beam projectiles are invisible as they are rendered by the effect engine
light_range = 2
light_power = 0.5

View File

@@ -151,9 +151,9 @@
var/ear_safety = 0
ear_safety = M.get_ear_protection()
if(ear_safety == 1)
M.Weaken(2)
M.confused += 150
else if (ear_safety > 1)
M.Weaken(1)
M.confused += 30
else if (!ear_safety)
M.Stun(10)
M.Weaken(3)
@@ -171,51 +171,4 @@
/obj/item/projectile/energy/plasmastun/on_hit(var/atom/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
. = ..()

View File

@@ -156,4 +156,3 @@
nodamage = 1
damage_type = HALLOSS
muzzle_type = /obj/effect/projectile/bullet/muzzle