mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-18 21:15:21 +00:00
The message when firing a gun is removed. To keep things balanced melee attacks (punches, alien attacks, animal attacks, etc...) now show a visual effect (similar to what we current have with item attacks. Fixes muzzle flash effect not appearing for mech guns. Fixes muzzle flash effect not appearing for certain ranged animal. Fixes the item attack effect not being visible to camera viewers and mech occupants. Fixes toy guns foam dart not dropping on the ground when shooting a mob on the same tile as us. Fixes toy smg magazine sprite being invisible sometimes. Fixes foam dart not facing the correct direction when fired. Changes the bullet projectile sprite to have a slight tracer effect so as to be more visible.
102 lines
2.8 KiB
Plaintext
102 lines
2.8 KiB
Plaintext
|
|
//holographic signs and barriers
|
|
|
|
/obj/structure/holosign
|
|
name = "holo sign"
|
|
icon = 'icons/effects/effects.dmi'
|
|
anchored = 1
|
|
obj_integrity = 1
|
|
max_integrity = 1
|
|
armor = list(melee = 0, bullet = 50, laser = 50, energy = 50, bomb = 0, bio = 0, rad = 0, fire = 20, acid = 20)
|
|
var/obj/item/weapon/holosign_creator/projector
|
|
|
|
/obj/structure/holosign/New(loc, source_projector)
|
|
if(source_projector)
|
|
projector = source_projector
|
|
projector.signs += src
|
|
..()
|
|
|
|
/obj/structure/holosign/Destroy()
|
|
if(projector)
|
|
projector.signs -= src
|
|
projector = null
|
|
return ..()
|
|
|
|
/obj/structure/holosign/attack_hand(mob/living/user)
|
|
user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
|
|
user.changeNext_move(CLICK_CD_MELEE)
|
|
take_damage(5 , BRUTE, "melee", 1)
|
|
|
|
/obj/structure/holosign/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
|
switch(damage_type)
|
|
if(BRUTE)
|
|
playsound(loc, 'sound/weapons/Egloves.ogg', 80, 1)
|
|
if(BURN)
|
|
playsound(loc, 'sound/weapons/Egloves.ogg', 80, 1)
|
|
|
|
|
|
/obj/structure/holosign/wetsign
|
|
name = "wet floor sign"
|
|
desc = "The words flicker as if they mean nothing."
|
|
icon = 'icons/effects/effects.dmi'
|
|
icon_state = "holosign"
|
|
|
|
/obj/structure/holosign/barrier
|
|
name = "holo barrier"
|
|
desc = "A short holographic barrier which can only be passed by walking."
|
|
icon_state = "holosign_sec"
|
|
pass_flags = LETPASSTHROW
|
|
density = 1
|
|
obj_integrity = 20
|
|
max_integrity = 20
|
|
var/allow_walk = 1 //can we pass through it on walk intent
|
|
|
|
/obj/structure/holosign/barrier/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
|
if(!density)
|
|
return 1
|
|
if(air_group || (height==0))
|
|
return 1
|
|
if(mover.pass_flags & (PASSGLASS|PASSTABLE|PASSGRILLE))
|
|
return 1
|
|
if(iscarbon(mover))
|
|
var/mob/living/carbon/C = mover
|
|
if(allow_walk && C.m_intent == "walk")
|
|
return 1
|
|
|
|
/obj/structure/holosign/barrier/engineering
|
|
icon_state = "holosign_engi"
|
|
|
|
/obj/structure/holosign/barrier/cyborg
|
|
name = "Energy Field"
|
|
desc = "A fragile energy field that blocks movement"
|
|
density = 1
|
|
obj_integrity = 1
|
|
max_integrity = 1
|
|
allow_walk = 0
|
|
|
|
/obj/structure/holosign/barrier/cyborg/hacked
|
|
name = "Charged Energy Field"
|
|
desc = "A powerful energy field that blocks movement. Energy arcs off it"
|
|
obj_integrity = 10
|
|
max_integrity = 10
|
|
var/shockcd = 0
|
|
|
|
/obj/structure/holosign/barrier/cyborg/hacked/proc/cooldown()
|
|
shockcd = FALSE
|
|
|
|
/obj/structure/holosign/barrier/cyborg/hacked/attack_hand(mob/living/user)
|
|
if(!shockcd)
|
|
if(ismob(user))
|
|
var/mob/living/M = user
|
|
M.electrocute_act(15,"Energy Barrier", safety=1)
|
|
shockcd = TRUE
|
|
addtimer(src, "cooldown", 10)
|
|
|
|
/obj/structure/holosign/barrier/cyborg/hacked/Bumped(atom/user)
|
|
if(!shockcd)
|
|
if(ismob(user))
|
|
var/mob/living/M = user
|
|
M.electrocute_act(15,"Energy Barrier", safety=1)
|
|
shockcd = TRUE
|
|
addtimer(src, "cooldown", 10)
|