Automatic pistol, nutriment and sprites fixes (#1617)

-fix #1217
-fix being unable to put the tactical pistol into belts/holsters, also remove needless code from it
-fix the scout rifle not accepting other magazines
-fix the hardsuit nutriment being useless and just dealing minor toxin damage
-fix missing tactical masks and tapes from unathi and tajaran sprites
-fix tapes cuffs, blinders and etc not updating when equiped to said mob
-some extra tweaks to the hud code
This commit is contained in:
Alberyk
2017-01-21 17:23:11 +02:00
committed by skull132
parent 58dc6dde9e
commit 68dc556434
13 changed files with 35 additions and 21 deletions
+3
View File
@@ -32,6 +32,7 @@
user.visible_message("<span class='danger'>\The [user] has taped up \the [H]'s eyes!</span>")
H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/blindfold/tape(H), slot_glasses)
H.update_inv_glasses()
else if(target_zone == "mouth" || target_zone == "head")
if(!H.organs_by_name["head"])
@@ -57,12 +58,14 @@
user.visible_message("<span class='danger'>\The [user] has taped up \the [H]'s mouth!</span>")
H.equip_to_slot_or_del(new /obj/item/clothing/mask/muzzle/tape(H), slot_wear_mask)
H.update_inv_wear_mask()
else if(target_zone == "r_hand" || target_zone == "l_hand")
var/obj/item/weapon/handcuffs/cable/tape/T = new(user)
if(!T.place_handcuffs(H, user))
user.unEquip(T)
qdel(T)
H.update_inv_handcuffed()
else
return ..()
return 1
@@ -152,7 +152,7 @@
list("dexalin plus", "dexalinp", 0, 80),
list("antibiotics", "spaceacillin", 0, 80),
list("antitoxins", "anti_toxin", 0, 80),
list("nutrients", "nutriment", 0, 80),
list("nutrients", "glucose", 0, 80),
list("hyronalin", "hyronalin", 0, 80),
list("radium", "radium", 0, 80)
)
@@ -169,7 +169,7 @@
list("dexalin plus", "dexalinp", 0, 20),
list("antibiotics", "spaceacillin", 0, 20),
list("antitoxins", "anti_toxin", 0, 20),
list("nutrients", "nutriment", 0, 80),
list("nutrients", "glucose", 0, 80),
list("hyronalin", "hyronalin", 0, 20),
list("radium", "radium", 0, 20)
)
@@ -258,7 +258,7 @@
list("synaptizine", "synaptizine", 0, 30),
list("hyperzine", "hyperzine", 0, 30),
list("oxycodone", "oxycodone", 0, 30),
list("nutrients", "nutriment", 0, 80)
list("nutrients", "glucose", 0, 80)
)
interface_name = "combat chem dispenser"
+5 -5
View File
@@ -1393,7 +1393,7 @@
/mob/living/carbon/human/proc/handle_hud_list()
if (BITTEST(hud_updateflag, HEALTH_HUD)&& hud_list[HEALTH_HUD])
if (BITTEST(hud_updateflag, HEALTH_HUD) && hud_list[HEALTH_HUD])
var/image/holder = hud_list[HEALTH_HUD]
if(stat == DEAD)
holder.icon_state = "hudhealth-100" // X_X
@@ -1410,7 +1410,7 @@
holder.icon_state = "hud[percentage_health]"
hud_list[HEALTH_HUD] = holder
if (BITTEST(hud_updateflag, LIFE_HUD)&& hud_list[LIFE_HUD])
if (BITTEST(hud_updateflag, LIFE_HUD) && hud_list[LIFE_HUD])
var/image/holder = hud_list[LIFE_HUD]
if(stat == DEAD)
holder.icon_state = "huddead"
@@ -1418,7 +1418,7 @@
holder.icon_state = "hudhealthy"
hud_list[LIFE_HUD] = holder
if (BITTEST(hud_updateflag, STATUS_HUD)&& hud_list[STATUS_HUD] && hud_list[STATUS_HUD_OOC])
if (BITTEST(hud_updateflag, STATUS_HUD) && hud_list[STATUS_HUD] && hud_list[STATUS_HUD_OOC])
var/foundVirus = 0
for(var/datum/disease/D in viruses)
if(!D.hidden[SCANNER])
@@ -1459,9 +1459,9 @@
hud_list[STATUS_HUD] = holder
hud_list[STATUS_HUD_OOC] = holder2
if (BITTEST(hud_updateflag, ID_HUD) && hud_list[WANTED_HUD])
if (BITTEST(hud_updateflag, ID_HUD) && hud_list[ID_HUD])
var/image/holder = hud_list[ID_HUD]
//The following function is found in code/defines/procs/hud.dm
holder.icon_state = get_sec_hud_icon(src)
hud_list[ID_HUD] = holder
@@ -84,7 +84,7 @@
desc += "<br>Linked to: [user.real_name]"
return
/obj/item/weapon/gun/energy/lawgiver/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)
/obj/item/weapon/gun/energy/lawgiver/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, pointblank=0, reflex = 0)
if(src.dna != user.dna.unique_enzymes && !emagged)
if(istype(user, /mob/living/carbon/human))
//Save the users active hand
@@ -54,24 +54,21 @@
icon_state = "secgundark"
/obj/item/weapon/gun/projectile/automatic/x9
name = "x9 tactical pistol"
desc = "A lightweight, fast firing handgun, excels at firing the medium caliber .45 in controlled shooting."
name = "automatic .45 pistol"
desc = "The x9 tactical pistol is a lightweight fast firing handgun. Uses .45 rounds."
icon_state = "x9tactical"
w_class = 3
load_method = MAGAZINE
slot_flags = SLOT_BELT|SLOT_HOLSTER
max_shells = 16
caliber = ".45"
origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2)
ammo_type = /obj/item/ammo_casing/c45
magazine_type = /obj/item/ammo_magazine/c45x
allowed_magazines = list(/obj/item/ammo_magazine/c45x)
multi_aim = 1
auto_eject = 1
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)),
list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1,-2,-2), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2))
)
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
/obj/item/weapon/gun/projectile/tanto
desc = "A Necropolis Industries Tanto .40, designed to compete with the NT Mk58. Uses 10mm rounds."
@@ -14,7 +14,7 @@
max_shells = 10
ammo_type = /obj/item/ammo_casing/a556/ap
magazine_type = /obj/item/ammo_magazine/a556/ap
allowed_magazines = list(/obj/item/ammo_magazine/a556/ap)
allowed_magazines = list(/obj/item/ammo_magazine/a556, /obj/item/ammo_magazine/a556/ap)
accuracy = -2
scoped_accuracy = 3
recoil_wielded = 2
@@ -201,6 +201,12 @@
reagent_state = LIQUID
color = "#CF3600"
/datum/reagent/nutriment/glucose
name = "Glucose"
id = "glucose"
color = "#FFFFFF"
injectable = 1
/datum/reagent/lipozine // The anti-nutriment.
name = "Lipozine"
id = "lipozine"
@@ -42,7 +42,7 @@
/obj/item/weapon/reagent_containers/blood/attack(mob/living/carbon/human/M as mob, mob/living/carbon/human/user as mob, var/target_zone)
if (user == M && (user.mind.vampire))
if (reagents.get_reagent_amount("blood"))
user.visible_message("<span class='warning'>[user] raises \the [src] up to \his[user] mouth and bites into it.</span>", "<span class='notice'>You raise \the [src] up to your mouth and bite into it, starting to drain its contents.<br>You need to stand still.</span>")
user.visible_message("<span class='warning'>[user] raises \the [src] up to their mouth and bites into it.</span>", "<span class='notice'>You raise \the [src] up to your mouth and bite into it, starting to drain its contents.<br>You need to stand still.</span>")
vampire_marks = TRUE
if (!src.other_DNA.len)
src.other_DNA += M.dna.unique_enzymes
@@ -179,4 +179,4 @@
/obj/item/weapon/reagent_containers/blood/ripped/attackby(obj/item/weapon/P as obj, mob/user as mob)
user << "<span class='warning'>You can't do anything further with this.</span>"
return
return
+1 -1
View File
@@ -281,7 +281,7 @@
else
data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "space_drugs", "sugar",
"tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine",
"mindbreaker", "nutriment")
"mindbreaker", "glucose")
var/datum/reagent/R = chemical_reagents_list[data]
name = "[initial(name)] ([initial(R.name)])"
+8
View File
@@ -0,0 +1,8 @@
author: Alberyk
delete-after: True
changes:
- bugfix: "Fixed nutriments on hardsuit injectors modules not providing nutrition correctly."
- bugfix: "Fixed being unable to fire at point blank with the lawgiver."
- imageadd: "Fixed some missing unathi and tajaran mask sprites."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB