mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts: code/modules/mob/living/carbon/human/life.dm code/modules/projectiles/guns/energy/stun.dm code/modules/projectiles/guns/projectile/pistol.dm code/modules/projectiles/guns/projectile/revolver.dm
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
use_power = 1
|
use_power = 1
|
||||||
idle_power_usage = 2
|
idle_power_usage = 2
|
||||||
active_power_usage = 4
|
active_power_usage = 4
|
||||||
|
anchored = 1
|
||||||
var/lit = 0
|
var/lit = 0
|
||||||
var/id = null
|
var/id = null
|
||||||
var/on_icon = "sign_on"
|
var/on_icon = "sign_on"
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ var/global/list/ashtray_cache = list()
|
|||||||
cig.transfer_fingerprints_to(butt)
|
cig.transfer_fingerprints_to(butt)
|
||||||
qdel(cig)
|
qdel(cig)
|
||||||
W = butt
|
W = butt
|
||||||
spawn(1)
|
//spawn(1)
|
||||||
TemperatureAct(150)
|
// TemperatureAct(150)
|
||||||
else if (cig.lit == 0)
|
else if (cig.lit == 0)
|
||||||
user << "You place [cig] in [src] without even smoking it. Why would you do that?"
|
user << "You place [cig] in [src] without even smoking it. Why would you do that?"
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
var/thrown_force_divisor = 0.5
|
var/thrown_force_divisor = 0.5
|
||||||
var/default_material = DEFAULT_WALL_MATERIAL
|
var/default_material = DEFAULT_WALL_MATERIAL
|
||||||
var/material/material
|
var/material/material
|
||||||
|
var/drops_debris = 1
|
||||||
|
|
||||||
/obj/item/weapon/material/New(var/newloc, var/material_key)
|
/obj/item/weapon/material/New(var/newloc, var/material_key)
|
||||||
..(newloc)
|
..(newloc)
|
||||||
@@ -70,33 +71,37 @@
|
|||||||
health--
|
health--
|
||||||
check_health()
|
check_health()
|
||||||
|
|
||||||
/obj/item/weapon/material/proc/check_health()
|
/obj/item/weapon/material/proc/check_health(var/consumed)
|
||||||
if(health<=0)
|
if(health<=0)
|
||||||
shatter()
|
shatter(consumed)
|
||||||
|
|
||||||
/obj/item/weapon/material/proc/shatter()
|
/obj/item/weapon/material/proc/shatter(var/consumed)
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
T.visible_message("<span class='danger'>\The [src] [material.destruction_desc]!</span>")
|
T.visible_message("<span class='danger'>\The [src] [material.destruction_desc]!</span>")
|
||||||
if(istype(loc, /mob/living))
|
if(istype(loc, /mob/living))
|
||||||
var/mob/living/M = loc
|
var/mob/living/M = loc
|
||||||
M.drop_from_inventory(src)
|
M.drop_from_inventory(src)
|
||||||
playsound(src, "shatter", 70, 1)
|
playsound(src, "shatter", 70, 1)
|
||||||
material.place_shard(T)
|
if(!consumed && drops_debris) material.place_shard(T)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
/*
|
||||||
|
Commenting this out pending rebalancing of radiation based on small objects.
|
||||||
/obj/item/weapon/material/process()
|
/obj/item/weapon/material/process()
|
||||||
if(!material.radioactivity)
|
if(!material.radioactivity)
|
||||||
return
|
return
|
||||||
for(var/mob/living/L in range(1,src))
|
for(var/mob/living/L in range(1,src))
|
||||||
L.apply_effect(round(material.radioactivity/3),IRRADIATE,0)
|
L.apply_effect(round(material.radioactivity/30),IRRADIATE,0)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
// Commenting this out while fires are so spectacularly lethal, as I can't seem to get this balanced appropriately.
|
||||||
/obj/item/weapon/material/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
/obj/item/weapon/material/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||||
TemperatureAct(exposed_temperature)
|
TemperatureAct(exposed_temperature)
|
||||||
|
|
||||||
// This might need adjustment. Will work that out later.
|
// This might need adjustment. Will work that out later.
|
||||||
/obj/item/weapon/material/proc/TemperatureAct(temperature)
|
/obj/item/weapon/material/proc/TemperatureAct(temperature)
|
||||||
health -= material.combustion_effect(get_turf(src), temperature, 0.1)
|
health -= material.combustion_effect(get_turf(src), temperature, 0.1)
|
||||||
check_health()
|
check_health(1)
|
||||||
|
|
||||||
/obj/item/weapon/material/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/weapon/material/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if(istype(W,/obj/item/weapon/weldingtool))
|
if(istype(W,/obj/item/weapon/weldingtool))
|
||||||
@@ -105,3 +110,4 @@
|
|||||||
TemperatureAct(150)
|
TemperatureAct(150)
|
||||||
else
|
else
|
||||||
return ..()
|
return ..()
|
||||||
|
*/
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
attack_verb = list("stabbed", "slashed", "sliced", "cut")
|
attack_verb = list("stabbed", "slashed", "sliced", "cut")
|
||||||
default_material = "glass"
|
default_material = "glass"
|
||||||
unbreakable = 1 //It's already broken.
|
unbreakable = 1 //It's already broken.
|
||||||
|
drops_debris = 0
|
||||||
|
|
||||||
/obj/item/weapon/material/shard/suicide_act(mob/user)
|
/obj/item/weapon/material/shard/suicide_act(mob/user)
|
||||||
viewers(user) << pick("<span class='danger'>\The [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.</span>",
|
viewers(user) << pick("<span class='danger'>\The [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.</span>",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
/obj/item/weapon/beartrap/attack_self(mob/user as mob)
|
/obj/item/weapon/beartrap/attack_self(mob/user as mob)
|
||||||
..()
|
..()
|
||||||
if(deployed && can_use(user))
|
if(!deployed && can_use(user))
|
||||||
user.visible_message(
|
user.visible_message(
|
||||||
"<span class='danger'>[user] starts to deploy \the [src].</span>",
|
"<span class='danger'>[user] starts to deploy \the [src].</span>",
|
||||||
"<span class='danger'>You begin deploying \the [src]!</span>",
|
"<span class='danger'>You begin deploying \the [src]!</span>",
|
||||||
@@ -86,11 +86,14 @@
|
|||||||
//trap the victim in place
|
//trap the victim in place
|
||||||
if(!blocked)
|
if(!blocked)
|
||||||
set_dir(L.dir)
|
set_dir(L.dir)
|
||||||
|
can_buckle = 1
|
||||||
buckle_mob(L)
|
buckle_mob(L)
|
||||||
L << "<span class='danger'>The steel jaws of \the [src] bite into you, trapping you in place!</span>"
|
L << "<span class='danger'>The steel jaws of \the [src] bite into you, trapping you in place!</span>"
|
||||||
|
deployed = 0
|
||||||
|
can_buckle = initial(can_buckle)
|
||||||
|
|
||||||
/obj/item/weapon/beartrap/Crossed(AM as mob|obj)
|
/obj/item/weapon/beartrap/Crossed(AM as mob|obj)
|
||||||
if(isliving(AM))
|
if(deployed && isliving(AM))
|
||||||
var/mob/living/L = AM
|
var/mob/living/L = AM
|
||||||
if(L.m_intent == "run")
|
if(L.m_intent == "run")
|
||||||
L.visible_message(
|
L.visible_message(
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
/obj/structure/bed/New(var/newloc, var/new_material, var/new_padding_material)
|
/obj/structure/bed/New(var/newloc, var/new_material, var/new_padding_material)
|
||||||
..(newloc)
|
..(newloc)
|
||||||
|
color = null
|
||||||
if(!new_material)
|
if(!new_material)
|
||||||
new_material = DEFAULT_WALL_MATERIAL
|
new_material = DEFAULT_WALL_MATERIAL
|
||||||
material = get_material_by_name(new_material)
|
material = get_material_by_name(new_material)
|
||||||
|
|||||||
@@ -129,6 +129,6 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/turf/simulated/wall/proc/can_join_with(var/turf/simulated/wall/W)
|
/turf/simulated/wall/proc/can_join_with(var/turf/simulated/wall/W)
|
||||||
if(material && W.material && material.name == W.material.name)
|
if(material && W.material && material.icon_base == W.material.icon_base)
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
@@ -72,12 +72,12 @@
|
|||||||
|
|
||||||
if(icon_state == icon_badge)
|
if(icon_state == icon_badge)
|
||||||
icon_state = icon_nobadge
|
icon_state = icon_nobadge
|
||||||
usr << "You unclip the badge from the vest."
|
usr << "You conceal \the [src]'s badge."
|
||||||
else if(icon_state == icon_nobadge)
|
else if(icon_state == icon_nobadge)
|
||||||
icon_state = icon_badge
|
icon_state = icon_badge
|
||||||
usr << "You clip the badge to the vest."
|
usr << "You reveal \the [src]'s badge."
|
||||||
else
|
else
|
||||||
usr << "You can't find a badge for [src]."
|
usr << "\The [src] does not have a vest badge."
|
||||||
return
|
return
|
||||||
update_clothing_icon()
|
update_clothing_icon()
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
icon_state = "aiupload"
|
icon_state = "aiupload"
|
||||||
density = 1
|
density = 1
|
||||||
req_one_access = list(access_hop, access_captain, access_cent_captain)
|
req_one_access = list(access_hop, access_captain, access_cent_captain)
|
||||||
|
anchored = 1
|
||||||
var/receipt_num
|
var/receipt_num
|
||||||
var/machine_id = ""
|
var/machine_id = ""
|
||||||
var/obj/item/weapon/card/id/held_card
|
var/obj/item/weapon/card/id/held_card
|
||||||
|
|||||||
@@ -255,6 +255,8 @@ var/list/name_to_material
|
|||||||
stack_origin_tech = list(TECH_MATERIAL = 2, TECH_PHORON = 2)
|
stack_origin_tech = list(TECH_MATERIAL = 2, TECH_PHORON = 2)
|
||||||
door_icon_base = "stone"
|
door_icon_base = "stone"
|
||||||
|
|
||||||
|
/*
|
||||||
|
// Commenting this out while fires are so spectacularly lethal, as I can't seem to get this balanced appropriately.
|
||||||
/material/phoron/combustion_effect(var/turf/T, var/temperature, var/effect_multiplier)
|
/material/phoron/combustion_effect(var/turf/T, var/temperature, var/effect_multiplier)
|
||||||
if(isnull(ignition_point))
|
if(isnull(ignition_point))
|
||||||
return 0
|
return 0
|
||||||
@@ -268,6 +270,7 @@ var/list/name_to_material
|
|||||||
spawn (0)
|
spawn (0)
|
||||||
target_tile.hotspot_expose(temperature, 400)
|
target_tile.hotspot_expose(temperature, 400)
|
||||||
return round(totalPhoron/100)
|
return round(totalPhoron/100)
|
||||||
|
*/
|
||||||
|
|
||||||
/material/stone
|
/material/stone
|
||||||
name = "sandstone"
|
name = "sandstone"
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
var/max_grown = 200
|
var/max_grown = 200
|
||||||
var/time_of_birth
|
var/time_of_birth
|
||||||
var/language
|
var/language
|
||||||
|
var/death_msg = "lets out a waning guttural screech, green blood bubbling from its maw."
|
||||||
|
|
||||||
/mob/living/carbon/alien/New()
|
/mob/living/carbon/alien/New()
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/mob/living/carbon/alien/death(gibbed)
|
/mob/living/carbon/alien/death(gibbed)
|
||||||
if(!gibbed && dead_icon)
|
if(!gibbed && dead_icon)
|
||||||
icon_state = dead_icon
|
icon_state = dead_icon
|
||||||
return ..(gibbed,"lets out a waning guttural screech, green blood bubbling from its maw.")
|
return ..(gibbed,death_msg)
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
speak_emote = list("chirrups")
|
speak_emote = list("chirrups")
|
||||||
icon_state = "nymph"
|
icon_state = "nymph"
|
||||||
language = "Rootspeak"
|
language = "Rootspeak"
|
||||||
|
death_msg = "expires with a pitiful chirrup..."
|
||||||
universal_understand = 1
|
universal_understand = 1
|
||||||
universal_speak = 0 // Dionaea do not need to speak to people other than other dionaea.
|
universal_speak = 0 // Dionaea do not need to speak to people other than other dionaea.
|
||||||
holder_type = /obj/item/weapon/holder/diona
|
holder_type = /obj/item/weapon/holder/diona
|
||||||
|
|||||||
@@ -948,6 +948,9 @@
|
|||||||
if( (getOxyLoss() > 50) || (config.health_threshold_crit > health) )
|
if( (getOxyLoss() > 50) || (config.health_threshold_crit > health) )
|
||||||
Paralyse(3)
|
Paralyse(3)
|
||||||
|
|
||||||
|
//UNCONSCIOUS. NO-ONE IS HOME
|
||||||
|
if((getOxyLoss() > 50) || (health <= config.health_threshold_crit))
|
||||||
|
Paralyse(3)
|
||||||
if(hallucination)
|
if(hallucination)
|
||||||
if(hallucination >= 20)
|
if(hallucination >= 20)
|
||||||
if(prob(3))
|
if(prob(3))
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
remains_type = /obj/effect/decal/cleanable/ash
|
remains_type = /obj/effect/decal/cleanable/ash
|
||||||
death_message = "dissolves into ash..."
|
death_message = "dissolves into ash..."
|
||||||
|
|
||||||
flags = IS_RESTRICTED | NO_BLOOD | NO_POISON | NO_SCAN | NO_SLIP | NO_POISON
|
flags = IS_RESTRICTED | NO_BLOOD | NO_SCAN | NO_SLIP | NO_POISON
|
||||||
|
|
||||||
/datum/species/shadow/handle_death(var/mob/living/carbon/human/H)
|
/datum/species/shadow/handle_death(var/mob/living/carbon/human/H)
|
||||||
spawn(1)
|
spawn(1)
|
||||||
|
|||||||
@@ -929,7 +929,7 @@ var/global/list/damage_icon_parts = list()
|
|||||||
|
|
||||||
tail_overlay = set_tail_state(t_state)
|
tail_overlay = set_tail_state(t_state)
|
||||||
if(tail_overlay)
|
if(tail_overlay)
|
||||||
spawn(15)
|
spawn(20)
|
||||||
//check that the animation hasn't changed in the meantime
|
//check that the animation hasn't changed in the meantime
|
||||||
if(overlays_standing[TAIL_LAYER] == tail_overlay && tail_overlay.icon_state == t_state)
|
if(overlays_standing[TAIL_LAYER] == tail_overlay && tail_overlay.icon_state == t_state)
|
||||||
animate_tail_stop()
|
animate_tail_stop()
|
||||||
|
|||||||
@@ -3,14 +3,14 @@
|
|||||||
|
|
||||||
//drop && roll
|
//drop && roll
|
||||||
if(on_fire)
|
if(on_fire)
|
||||||
fire_stacks -= 2
|
fire_stacks -= 1.2
|
||||||
Weaken(5)
|
Weaken(3)
|
||||||
spin(52,2)
|
spin(32,2)
|
||||||
visible_message(
|
visible_message(
|
||||||
"<span class='danger'>[src] rolls on the floor, trying to put themselves out!</span>",
|
"<span class='danger'>[src] rolls on the floor, trying to put themselves out!</span>",
|
||||||
"<span class='notice'>You stop, drop, and roll!</span>"
|
"<span class='notice'>You stop, drop, and roll!</span>"
|
||||||
)
|
)
|
||||||
sleep(50)
|
sleep(30)
|
||||||
if(fire_stacks <= 0)
|
if(fire_stacks <= 0)
|
||||||
visible_message(
|
visible_message(
|
||||||
"<span class='danger'>[src] has successfully extinguished themselves!</span>",
|
"<span class='danger'>[src] has successfully extinguished themselves!</span>",
|
||||||
@@ -19,13 +19,13 @@
|
|||||||
ExtinguishMob()
|
ExtinguishMob()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
..()
|
||||||
|
|
||||||
if(handcuffed)
|
if(handcuffed)
|
||||||
spawn() escape_handcuffs()
|
spawn() escape_handcuffs()
|
||||||
else if(legcuffed)
|
else if(legcuffed)
|
||||||
spawn() escape_legcuffs()
|
spawn() escape_legcuffs()
|
||||||
|
|
||||||
..()
|
|
||||||
|
|
||||||
/mob/living/carbon/proc/escape_handcuffs()
|
/mob/living/carbon/proc/escape_handcuffs()
|
||||||
if(!(last_special <= world.time)) return
|
if(!(last_special <= world.time)) return
|
||||||
|
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
icon_state = "syndicateranged"
|
icon_state = "syndicateranged"
|
||||||
icon_living = "syndicateranged"
|
icon_living = "syndicateranged"
|
||||||
casingtype = /obj/item/ammo_casing/a12mm
|
casingtype = /obj/item/ammo_casing/a12mm
|
||||||
projectilesound = 'sound/weapons/Gunshot_smg.ogg'
|
projectilesound = 'sound/weapons/Gunshot_light.ogg'
|
||||||
projectiletype = /obj/item/projectile/bullet/pistol/medium
|
projectiletype = /obj/item/projectile/bullet/pistol/medium
|
||||||
|
|
||||||
weapon1 = /obj/item/weapon/gun/projectile/automatic/c20r
|
weapon1 = /obj/item/weapon/gun/projectile/automatic/c20r
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
item_state = "stunrevolver"
|
item_state = "stunrevolver"
|
||||||
fire_sound = 'sound/weapons/Gunshot.ogg'
|
fire_sound = 'sound/weapons/Gunshot.ogg'
|
||||||
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
|
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
|
||||||
projectile_type = /obj/item/projectile/energy/electrode/stunshot
|
projectile_type = /obj/item/projectile/energy/electrode
|
||||||
max_shots = 8
|
max_shots = 8
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
caliber = "12mm"
|
caliber = "12mm"
|
||||||
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 8)
|
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 8)
|
||||||
slot_flags = SLOT_BELT|SLOT_BACK
|
slot_flags = SLOT_BELT|SLOT_BACK
|
||||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||||
load_method = MAGAZINE
|
load_method = MAGAZINE
|
||||||
magazine_type = /obj/item/ammo_magazine/a12mm
|
magazine_type = /obj/item/ammo_magazine/a12mm
|
||||||
auto_eject = 1
|
auto_eject = 1
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
|
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
|
||||||
slot_flags = SLOT_BELT
|
slot_flags = SLOT_BELT
|
||||||
ammo_type = "/obj/item/ammo_casing/c9mmr"
|
ammo_type = "/obj/item/ammo_casing/c9mmr"
|
||||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||||
load_method = MAGAZINE
|
load_method = MAGAZINE
|
||||||
magazine_type = /obj/item/ammo_magazine/mc9mmt/rubber
|
magazine_type = /obj/item/ammo_magazine/mc9mmt/rubber
|
||||||
|
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 2)
|
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 2)
|
||||||
slot_flags = SLOT_BACK
|
slot_flags = SLOT_BACK
|
||||||
ammo_type = "/obj/item/ammo_casing/a762"
|
ammo_type = "/obj/item/ammo_casing/a762"
|
||||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||||
load_method = MAGAZINE
|
load_method = MAGAZINE
|
||||||
magazine_type = /obj/item/ammo_magazine/a762
|
magazine_type = /obj/item/ammo_magazine/a762
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
icon_state = "colt"
|
icon_state = "colt"
|
||||||
caliber = ".45"
|
caliber = ".45"
|
||||||
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
|
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
|
||||||
|
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||||
load_method = MAGAZINE
|
load_method = MAGAZINE
|
||||||
|
|
||||||
/obj/item/weapon/gun/projectile/colt/detective
|
/obj/item/weapon/gun/projectile/colt/detective
|
||||||
@@ -36,6 +37,7 @@
|
|||||||
magazine_type = /obj/item/ammo_magazine/c45m/rubber
|
magazine_type = /obj/item/ammo_magazine/c45m/rubber
|
||||||
caliber = ".45"
|
caliber = ".45"
|
||||||
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
|
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
|
||||||
|
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||||
load_method = MAGAZINE
|
load_method = MAGAZINE
|
||||||
|
|
||||||
/obj/item/weapon/gun/projectile/sec/flash
|
/obj/item/weapon/gun/projectile/sec/flash
|
||||||
@@ -112,6 +114,7 @@
|
|||||||
caliber = "9mm"
|
caliber = "9mm"
|
||||||
silenced = 0
|
silenced = 0
|
||||||
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 2)
|
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 2)
|
||||||
|
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||||
load_method = MAGAZINE
|
load_method = MAGAZINE
|
||||||
magazine_type = /obj/item/ammo_magazine/mc9mm
|
magazine_type = /obj/item/ammo_magazine/mc9mm
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
max_shells = 6
|
max_shells = 6
|
||||||
caliber = "38"
|
caliber = "38"
|
||||||
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
|
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
|
||||||
|
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||||
ammo_type = /obj/item/ammo_casing/c38
|
ammo_type = /obj/item/ammo_casing/c38
|
||||||
|
|
||||||
/obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun()
|
/obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun()
|
||||||
|
|||||||
@@ -44,11 +44,6 @@
|
|||||||
name = "electrode"
|
name = "electrode"
|
||||||
icon_state = "spark"
|
icon_state = "spark"
|
||||||
nodamage = 1
|
nodamage = 1
|
||||||
/*
|
|
||||||
stun = 10
|
|
||||||
weaken = 10
|
|
||||||
stutter = 10
|
|
||||||
*/
|
|
||||||
taser_effect = 1
|
taser_effect = 1
|
||||||
agony = 40
|
agony = 40
|
||||||
damage_type = HALLOSS
|
damage_type = HALLOSS
|
||||||
|
|||||||
1494
maps/exodus-1.dmm
1494
maps/exodus-1.dmm
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Reference in New Issue
Block a user