mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 15:39:57 +01:00
Final merge
Merge branch 'development-2' into development # Conflicts: # baystation12.dme # code/_helpers/icons.dm # code/controllers/master_controller.dm # code/game/machinery/Sleeper.dm # code/game/machinery/computer3/laptop.dm # code/game/machinery/doors/door.dm # code/game/machinery/floorlayer.dm # code/game/machinery/vending.dm # code/game/mecha/mech_fabricator.dm # code/game/objects/effects/decals/contraband.dm # code/game/objects/explosion.dm # code/game/objects/items/robot/robot_upgrades.dm # code/game/objects/items/weapons/melee/misc.dm # code/game/objects/items/weapons/storage/boxes.dm # code/game/objects/structures/crates_lockers/closets/secure/security.dm # code/game/objects/structures/window.dm # code/modules/clothing/spacesuits/rig/rig.dm # code/modules/clothing/suits/jobs.dm # code/modules/mob/freelook/update_triggers.dm # code/modules/mob/living/carbon/human/human_defense.dm # code/modules/mob/living/carbon/human/human_movement.dm # code/modules/mob/living/carbon/human/life.dm # code/modules/mob/living/carbon/human/species/species.dm # code/modules/mob/living/carbon/human/species/station/station.dm # code/modules/mob/living/living_defines.dm # code/modules/mob/mob_helpers.dm # code/modules/mob/mob_movement.dm # code/modules/projectiles/ammunition/boxes.dm # nano/templates/sleeper.tmpl
This commit is contained in:
@@ -324,4 +324,20 @@
|
||||
ammo_type = /obj/item/ammo_casing/cap
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 600)
|
||||
max_ammo = 7
|
||||
multiple_sprites = 1
|
||||
multiple_sprites = 1
|
||||
|
||||
//dragunov magazine
|
||||
|
||||
/obj/item/ammo_magazine/d762
|
||||
name = "magazine (7.62mm)"
|
||||
icon = 'icons/obj/dragunov.dmi'
|
||||
icon_state = "SVD"
|
||||
mag_type = MAGAZINE
|
||||
caliber = "a762"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1200)
|
||||
ammo_type = /obj/item/ammo_casing/a762
|
||||
max_ammo = 10
|
||||
multiple_sprites = 1
|
||||
|
||||
/obj/item/ammo_magazine/d762/empty
|
||||
initial_ammo = 0
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
load_method = SINGLE_CASING
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/improvised/special_check(var/mob/living/carbon/human/M)
|
||||
if(prob(60 - (loaded.len * 10)))
|
||||
if(prob(35))
|
||||
M.visible_message("<span class='danger'>[M]'s weapon blows up, shattering into pieces!</span>","<span class='danger'>[src] blows up in your face!</span>", "You hear a loud bang!")
|
||||
M.take_organ_damage(0,30)
|
||||
M.drop_item()
|
||||
@@ -140,7 +140,7 @@
|
||||
origin_tech = "combat=2;materials=2"
|
||||
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||
load_method = MAGAZINE
|
||||
jam_chance = 55
|
||||
jam_chance = 30
|
||||
|
||||
/obj/item/weapon/stock/update_icon()
|
||||
icon_state = "ipistol[buildstate]"
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/obj/item/weapon/gun/projectile/dragunov
|
||||
name = "\improper dragunov sniper rifle"
|
||||
desc = "An old semi-automatic marksman rifle. Uses 7.62mm rounds."
|
||||
icon = 'icons/obj/dragunov.dmi'
|
||||
icon_state = "dragunov"
|
||||
item_state = "dragunov"
|
||||
contained_sprite = 1
|
||||
w_class = 4
|
||||
force = 10
|
||||
slot_flags = SLOT_BACK
|
||||
origin_tech = "combat=8;materials=3;syndicate=5"
|
||||
caliber = "a762"
|
||||
recoil = 2
|
||||
fire_sound = 'sound/weapons/svd_shot.ogg'
|
||||
load_method = MAGAZINE
|
||||
max_shells = 10
|
||||
magazine_type = /obj/item/ammo_magazine/d762
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/d762)
|
||||
accuracy = -4
|
||||
scoped_accuracy = 2
|
||||
|
||||
recoil_wielded = 1
|
||||
accuracy_wielded = 0
|
||||
|
||||
//action button for wielding
|
||||
icon_action_button = "action_blank"
|
||||
action_button_name = "Wield rifle"
|
||||
|
||||
/obj/item/weapon/gun/projectile/dragunov/update_icon()
|
||||
|
||||
if(ammo_magazine)
|
||||
icon_state = "dragunov"
|
||||
else
|
||||
icon_state = "dragunov-empty"
|
||||
|
||||
/obj/item/weapon/gun/projectile/dragunov/can_wield()
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/gun/projectile/dragunov/ui_action_click()
|
||||
if(src in usr)
|
||||
toggle_wield(usr)
|
||||
|
||||
/obj/item/weapon/gun/projectile/dragunov/verb/wield_rifle()
|
||||
set name = "Wield rifle"
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
|
||||
toggle_wield(usr)
|
||||
|
||||
/obj/item/weapon/gun/projectile/dragunov/special_check(mob/user)
|
||||
if(!wielded)
|
||||
user << "<span class='warning'>You can't fire without stabilizing the rifle!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/gun/projectile/dragunov/verb/scope()
|
||||
set category = "Object"
|
||||
set name = "Use Scope"
|
||||
set popup_menu = 1
|
||||
|
||||
if(wielded)
|
||||
toggle_scope(2.0)
|
||||
else
|
||||
usr << "<span class='warning'>You can't look through the scope without stabilizing the rifle!</span>"
|
||||
@@ -176,24 +176,38 @@
|
||||
..()
|
||||
|
||||
/obj/item/projectile/beam/mousegun/proc/mousepulse(turf/epicenter, range, log=0)
|
||||
if(!epicenter) return
|
||||
if (!epicenter)
|
||||
return
|
||||
|
||||
if(!istype(epicenter, /turf))
|
||||
if (!istype(epicenter, /turf))
|
||||
epicenter = get_turf(epicenter.loc)
|
||||
|
||||
for(var/atom/T in range(range, epicenter))
|
||||
var/distance = get_dist(epicenter, T)
|
||||
if(distance < 0)
|
||||
for (var/mob/living/M in range(range, epicenter))
|
||||
var/distance = get_dist(epicenter, M)
|
||||
if (distance < 0)
|
||||
distance = 0
|
||||
if(distance <= range)
|
||||
var/mob/living/M = T
|
||||
if (distance <= range)
|
||||
if (M.mob_size <= 2 && (M.find_type() & TYPE_ORGANIC))
|
||||
M.visible_message("<span class='danger'>[M] bursts like a balloon!</span>")
|
||||
M.gib()
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(3, 1, M)
|
||||
s.start()
|
||||
T << 'sound/effects/basscannon.ogg'
|
||||
else if (iscarbon(M) && M.contents.len)
|
||||
for (var/obj/item/weapon/holder/H in M.contents)
|
||||
if (!H.contained)
|
||||
continue
|
||||
|
||||
var/mob/living/A = H.contained
|
||||
if (!istype(A))
|
||||
continue
|
||||
|
||||
if (A.mob_size <= 2 && (A.find_type() & TYPE_ORGANIC))
|
||||
H.release_mob()
|
||||
A.visible_message("<span class='danger'>[A] bursts like a balloon!</span>")
|
||||
A.gib()
|
||||
|
||||
M << 'sound/effects/basscannon.ogg'
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/beam/shotgun
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
icon = 'icons/obj/apiary_bees_etc.dmi'
|
||||
icon_state = "beegun"
|
||||
check_armour = "bio"
|
||||
damage = 0
|
||||
damage = 5
|
||||
damage_type = BRUTE
|
||||
pass_flags = PASSTABLE | PASSGRILLE
|
||||
embed = 0
|
||||
@@ -139,16 +139,13 @@
|
||||
|
||||
/obj/item/projectile/energy/bee/on_impact(var/atom/A)
|
||||
playsound(src.loc, pick('sound/effects/Buzz1.ogg','sound/effects/Buzz2.ogg'), 70, 1)
|
||||
for(var/i=1, i<=8, i++)
|
||||
var/mob/living/simple_animal/bee/x = new /mob/living/simple_animal/bee
|
||||
x.loc = A
|
||||
x.feral = 25
|
||||
if(ismob(A))
|
||||
x.target_mob = A
|
||||
if(prob(50))
|
||||
for(var/j = 1, j <= rand(1, 3), j++)
|
||||
step(x, pick(NORTH,SOUTH,EAST,WEST))
|
||||
|
||||
var/turf/T = get_turf(A)
|
||||
if(!istype(T, /turf/simulated/wall) && !istype(T, /turf/simulated/shuttle/wall) && !istype(A, /obj/structure/window) && !istype(A, /obj/machinery/door))
|
||||
for(var/i=1, i<=8, i++)
|
||||
var/atom/movable/x = new /mob/living/simple_animal/bee/beegun //hackmaster pro, butt fuck it
|
||||
x.forceMove(T)
|
||||
else
|
||||
src.visible_message("<span class='danger'>[src] splat sickly against [T]!</span>")
|
||||
..()
|
||||
|
||||
/obj/item/projectile/energy/blaster
|
||||
|
||||
Reference in New Issue
Block a user