mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-24 01:02:06 +00:00
Mining Mobs - More mob behavior overhaul, kinetic gun tweaks, etc
Conflicts: code/modules/mob/living/simple_animal/hostile/hostile.dm code/modules/projectiles/ammunition/energy.dm code/modules/projectiles/guns/energy/special.dm code/modules/projectiles/projectile.dm code/modules/projectiles/projectile/special.dm icons/mob/animal.dmi icons/obj/projectiles.dmi
This commit is contained in:
@@ -182,7 +182,7 @@ obj/item/weapon/gun/energy/staff/focus
|
||||
zoom = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/sniperrifle/verb/zoom()
|
||||
set category = "Special Verbs"
|
||||
set category = "Object"
|
||||
set name = "Zoom"
|
||||
set popup_menu = 0
|
||||
if(usr.stat || !(istype(usr,/mob/living/carbon/human)))
|
||||
@@ -196,4 +196,20 @@ obj/item/weapon/gun/energy/staff/focus
|
||||
usr << sound('sound/mecha/imag_enh.ogg',volume=50)
|
||||
else
|
||||
usr.client.view = world.view//world.view - default mob view size
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator
|
||||
name = "proto-kinetic accelerator"
|
||||
desc = "According to Nanotrasen accounting, this is mining equipment. It's been modified to the legal limit on power output, and often serves as a miner's first defense against hostile alien life; it's not very powerful unless used in a low pressure environment."
|
||||
icon_state = "freezegun"
|
||||
item_state = "shotgun"
|
||||
projectile_type = "/obj/item/projectile/kinetic"
|
||||
cell_type = "/obj/item/weapon/cell/crap"
|
||||
charge_cost = 500
|
||||
fire_delay = 20
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/attack_self(var/mob/living/user/L)
|
||||
power_supply.give(500)
|
||||
playsound(src.loc, 'sound/weapons/shotgunpump.ogg', 60, 1)
|
||||
return
|
||||
|
||||
@@ -179,8 +179,10 @@
|
||||
if(!(original in permutated))
|
||||
Bump(original)
|
||||
sleep(1)
|
||||
Range()
|
||||
return
|
||||
|
||||
|
||||
/obj/item/projectile/test //Used to see if you can hit them.
|
||||
invisibility = 101 //Nope! Can't see me!
|
||||
yo = null
|
||||
@@ -221,3 +223,7 @@
|
||||
M = locate() in get_step(src,target)
|
||||
if(istype(M))
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/proc/Range()
|
||||
return
|
||||
|
||||
|
||||
@@ -152,3 +152,44 @@
|
||||
src.visible_message("\red The [src.name] explodes!","\red You hear a snap!")
|
||||
playsound(src, 'sound/effects/snap.ogg', 50, 1)
|
||||
del(src)
|
||||
|
||||
/obj/item/projectile/kinetic
|
||||
name = "kinetic force"
|
||||
icon_state = null
|
||||
damage = 15
|
||||
damage_type = BRUTE
|
||||
flag = "bomb"
|
||||
var/range = 2
|
||||
|
||||
obj/item/projectile/kinetic/New()
|
||||
var/turf/proj_turf = get_turf(src)
|
||||
if(!istype(proj_turf, /turf))
|
||||
return
|
||||
var/datum/gas_mixture/environment = proj_turf.return_air()
|
||||
var/pressure = environment.return_pressure()
|
||||
if(pressure < 50)
|
||||
name = "full strength kinetic force"
|
||||
damage = 30
|
||||
..()
|
||||
|
||||
/obj/item/projectile/kinetic/Range()
|
||||
range--
|
||||
if(range <= 0)
|
||||
new /obj/item/effect/kinetic_blast(src.loc)
|
||||
delete()
|
||||
|
||||
/obj/item/projectile/kinetic/on_hit(var/atom/target)
|
||||
var/turf/target_turf= get_turf(target)
|
||||
new /obj/item/effect/kinetic_blast(target_turf)
|
||||
..()
|
||||
|
||||
/obj/item/effect/kinetic_blast
|
||||
name = "kinetic explosion"
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
icon_state = "kinetic_blast"
|
||||
layer = 4.1
|
||||
|
||||
/obj/item/effect/kinetic_blast/New()
|
||||
spawn(4)
|
||||
del(src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user