From dfdea364797945158c25933df3f5a63c2f2269b3 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 21:36:41 +0300 Subject: [PATCH 01/13] Fixes #8642 --- code/modules/mob/living/carbon/metroid/death.dm | 3 +-- code/modules/mob/living/carbon/metroid/metroid.dm | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/metroid/death.dm b/code/modules/mob/living/carbon/metroid/death.dm index 022726b00ac..d5510ac509c 100644 --- a/code/modules/mob/living/carbon/metroid/death.dm +++ b/code/modules/mob/living/carbon/metroid/death.dm @@ -10,14 +10,13 @@ is_adult = 0 maxHealth = 150 revive() - regenerate_icons() if (!client) rabid = 1 number = rand(1, 1000) name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])" return . = ..(gibbed, "seizes up and falls limp...") - + mood = null regenerate_icons() return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index d6c8c226c41..1ba3b82cafd 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -71,6 +71,7 @@ mutation_chance = rand(25, 35) var/sanitizedcolour = replacetext(colour, " ", "") coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]") + regenerate_icons() ..(location) /mob/living/carbon/slime/movement_delay() From e3ad4dc013185f48802ff5a2a9fa2deee4654d26 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 21:59:50 +0300 Subject: [PATCH 02/13] Fixed #8602 --- code/modules/mining/mine_items.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index a3b601ebce9..9248d741401 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -62,7 +62,7 @@ matter = list("metal" = 3750) var/digspeed = 40 //moving the delay to an item var so R&D can make improved picks. --NEO origin_tech = "materials=1;engineering=1" - attack_verb = list("hit", "pierced", "sliced", "attacked", "drilled") + attack_verb = list("hit", "pierced", "sliced", "attacked") var/drill_sound = 'sound/weapons/Genhit.ogg' var/drill_verb = "drilling" sharp = 1 @@ -107,6 +107,7 @@ digspeed = 20 origin_tech = "materials=4" desc = "This makes no metallurgic sense." + drill_verb = "picking" /obj/item/weapon/pickaxe/plasmacutter name = "plasma cutter" @@ -125,7 +126,8 @@ item_state = "dpickaxe" digspeed = 10 origin_tech = "materials=6;engineering=4" - desc = "A pickaxe with a diamond pick head, this is just like minecraft." + desc = "A pickaxe with a diamond pick head." + drill_verb = "picking" /obj/item/weapon/pickaxe/diamonddrill //When people ask about the badass leader of the mining tools, they are talking about ME! name = "diamond mining drill" From 40cf940f13c369c5b80a71481de8a6eee366bc78 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 22:04:13 +0300 Subject: [PATCH 03/13] Fixes #8564 --- code/modules/projectiles/projectile.dm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 1400c6ca583..8223ff6c607 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -136,11 +136,13 @@ //Called when the projectile intercepts a mob. Returns 1 if the projectile hit the mob, 0 if it missed and should keep flying. /obj/item/projectile/proc/attack_mob(var/mob/living/target_mob, var/distance, var/miss_modifier=0) + if(istype(target_mob) + return //accuracy bonus from aiming if (istype(shot_from, /obj/item/weapon/gun)) var/obj/item/weapon/gun/daddy = shot_from miss_modifier -= round(15*daddy.accuracy) - + //If you aim at someone beforehead, it'll hit more often. //Kinda balanced by fact you need like 2 seconds to aim //As opposed to no-delay pew pew @@ -184,7 +186,7 @@ /obj/item/projectile/Bump(atom/A as mob|obj|turf|area, forced=0) if(A == src) return 0 //no - + if(A == firer) loc = A.loc return 0 //cannot shoot yourself @@ -205,7 +207,7 @@ visible_message("\The [M] uses [G.affecting] as a shield!") if(Bump(G.affecting, forced=1)) return //If Bump() returns 0 (keep going) then we continue on to attack M. - + passthrough = !attack_mob(M, distance) else passthrough = 1 //so ghosts don't stop bullets @@ -237,7 +239,7 @@ //stop flying on_impact(A) - + density = 0 invisibility = 101 del(src) @@ -268,8 +270,8 @@ if(!(original in permutated)) Bump(original) sleep(1) - -//"Tracing" projectile + +//"Tracing" projectile /obj/item/projectile/test //Used to see if you can hit them. invisibility = 101 //Nope! Can't see me! yo = null From 1a9304222629706eb50fcec3a13670431e14f13d Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 22:06:29 +0300 Subject: [PATCH 04/13] Fixes #8548 Removed referenced to type of ammo used from descriptions. --- code/modules/projectiles/guns/projectile/pistol.dm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index f2155fa669d..e3920abb623 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -8,7 +8,7 @@ load_method = MAGAZINE /obj/item/weapon/gun/projectile/colt/detective - desc = "A cheap Martian knock-off of a Colt M1911. Uses less-than-lethal .45 rounds." + desc = "A cheap Martian knock-off of a Colt M1911. Uses .45 rounds." magazine_type = /obj/item/ammo_magazine/c45m/rubber /obj/item/weapon/gun/projectile/colt/detective/verb/rename_gun() @@ -30,7 +30,7 @@ return 1 /obj/item/weapon/gun/projectile/sec - desc = "A NanoTrasen designed sidearm, found pretty much everywhere humans are. Uses less-than-lethal .45 rounds." + desc = "A NanoTrasen designed sidearm, found pretty much everywhere humans are. Uses .45 rounds." name = "\improper NT Mk58" icon_state = "secguncomp" magazine_type = /obj/item/ammo_magazine/c45m/rubber @@ -40,11 +40,10 @@ /obj/item/weapon/gun/projectile/sec/flash name = "\improper NT Mk58 signal pistol" - desc = "A NanoTrasen designed sidearm, found pretty much everywhere humans are. Uses .45 signal flash rounds." magazine_type = /obj/item/ammo_magazine/c45m/flash /obj/item/weapon/gun/projectile/sec/wood - desc = "A Nanotrasen designed sidearm, this one has a sweet wooden grip. Uses less-than-lethal .45 rounds." + desc = "A Nanotrasen designed sidearm, this one has a sweet wooden grip. Uses .45 rounds." name = "\improper Custom NT Mk58" icon_state = "secgundark" @@ -116,7 +115,7 @@ /obj/item/weapon/gun/projectile/pistol/flash name = "\improper Stechtkin signal pistol" - desc = "A small, easily concealable gun. Uses 9mm signal flash rounds." + desc = "A small, easily concealable gun. Uses 9mm rounds." magazine_type = /obj/item/ammo_magazine/mc9mm/flash /obj/item/weapon/gun/projectile/pistol/attack_hand(mob/user as mob) From 1e6e7b0146db2a0c850628a498de10dbd32a2562 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 22:08:08 +0300 Subject: [PATCH 05/13] Fixes #8580 Also fixed condition thing where having second pistol would lower chance of main one going off --- code/modules/mob/living/carbon/human/human_attackhand.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 23f90946bcd..7c7dcfe4f0b 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -218,12 +218,12 @@ W = l_hand chance = hand ? 40 : 20 - if (istype(r_hand,/obj/item/weapon/gun)) + else if (istype(r_hand,/obj/item/weapon/gun)) W = r_hand chance = !hand ? 40 : 20 if (prob(chance)) - visible_message("[src]'s [W] goes off during struggle!") + visible_message("[src]'s [W.name] goes off during struggle!") var/list/turfs = list() for(var/turf/T in view()) turfs += T From 246fc62b1c524256bb8bd368bb2219d8991c7d16 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 22:23:29 +0300 Subject: [PATCH 06/13] Whoops missed a bracket --- code/modules/projectiles/projectile.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 8223ff6c607..7590eb42692 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -136,7 +136,7 @@ //Called when the projectile intercepts a mob. Returns 1 if the projectile hit the mob, 0 if it missed and should keep flying. /obj/item/projectile/proc/attack_mob(var/mob/living/target_mob, var/distance, var/miss_modifier=0) - if(istype(target_mob) + if(istype(target_mob)) return //accuracy bonus from aiming if (istype(shot_from, /obj/item/weapon/gun)) From 1a94b6cc35fa2ce861949a777cc681028699c56a Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 22:26:46 +0300 Subject: [PATCH 07/13] Fixes #8393 --- code/modules/mob/living/carbon/human/unarmed_attack.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm index d033e70610d..7ed48d6e2ad 100644 --- a/code/modules/mob/living/carbon/human/unarmed_attack.dm +++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm @@ -41,12 +41,12 @@ if (target.l_hand) // Disarm left hand //Urist McAssistant dropped the macguffin with a scream just sounds odd. Plus it doesn't work with NO_PAIN - target.visible_message("\The [target.l_hand] was knocked right out of [src]'s grasp!") + target.visible_message("\The [target.l_hand] was knocked right out of [target]'s grasp!") target.drop_l_hand() if("r_arm", "r_hand") if (target.r_hand) // Disarm right hand - target.visible_message("\The [target.r_hand] was knocked right out of [src]'s grasp!") + target.visible_message("\The [target.r_hand] was knocked right out of [target]'s grasp!") target.drop_r_hand() if("chest") if(!target.lying) From c0b62fd94a07e67001fecdcb041a9415870d9dca Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 22:32:52 +0300 Subject: [PATCH 08/13] Fixes #8488 --- code/modules/mob/living/carbon/human/death.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 9571a789a87..466742046bb 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -80,7 +80,7 @@ mutations.Add(HUSK) status_flags |= DISFIGURED //makes them unknown without fucking up other stuff like admintools - update_body(0) + update_body(1) return /mob/living/carbon/human/proc/Drain() From 542937870378f8c4db818620866ba9be8bdf05c2 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 22:55:17 +0300 Subject: [PATCH 09/13] Added check for second pAi for #8287 --- code/modules/clothing/spacesuits/rig/modules/computer.dm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm index a6c549b6663..45fc029ca22 100644 --- a/code/modules/clothing/spacesuits/rig/modules/computer.dm +++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm @@ -104,7 +104,14 @@ // Okay, it wasn't a terminal being touched, check for all the simple insertions. if(input_device.type in list(/obj/item/device/paicard, /obj/item/device/mmi, /obj/item/device/mmi/digital/posibrain)) - integrate_ai(input_device,user) + if(integrated_ai) + integrated_ai.attackby(input_device,user) + // If the transfer was successful, we can clear out our vars. + if(integrated_ai.loc != src) + integrated_ai = null + eject_ai() + else + integrate_ai(input_device,user) return 1 return 0 From eb390ffde3e69cb592586a02d14d069772ed40ca Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 23:20:09 +0300 Subject: [PATCH 10/13] Fixes #8246 --- code/defines/obj/weapon.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 72ee42ae792..a7f41b3424e 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -92,6 +92,7 @@ /obj/item/weapon/cane/concealed/New() ..() concealed_blade = new/obj/item/weapon/butterfly/switchblade(src) + concealed_blade.attack_self() /obj/item/weapon/cane/concealed/attack_self(mob/user) if(concealed_blade) @@ -101,8 +102,9 @@ user.drop_from_inventory(src) user.put_in_hands(concealed_blade) user.put_in_hands(src) + update_inv_l_hand(0) + update_inv_r_hand() concealed_blade = null - update_icon() else ..() From c1b3e935d6e64cd3df9e546e7b88e378bce84405 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Mar 2015 23:28:30 +0300 Subject: [PATCH 11/13] Backwards check fixed --- code/modules/projectiles/projectile.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 7590eb42692..a3387396e95 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -136,7 +136,7 @@ //Called when the projectile intercepts a mob. Returns 1 if the projectile hit the mob, 0 if it missed and should keep flying. /obj/item/projectile/proc/attack_mob(var/mob/living/target_mob, var/distance, var/miss_modifier=0) - if(istype(target_mob)) + if(!istype(target_mob)) return //accuracy bonus from aiming if (istype(shot_from, /obj/item/weapon/gun)) From 84302ca2043d294b543ddc883935f96aad22cf71 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 1 Apr 2015 08:21:44 -0700 Subject: [PATCH 12/13] Chinsky fix ur shit --- code/defines/obj/weapon.dm | 11 ++++++----- code/modules/projectiles/projectile.dm | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index a7f41b3424e..e033cbb3aad 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -91,10 +91,11 @@ /obj/item/weapon/cane/concealed/New() ..() - concealed_blade = new/obj/item/weapon/butterfly/switchblade(src) - concealed_blade.attack_self() + var/obj/item/weapon/butterfly/switchblade/temp_blade = new(src) + concealed_blade = temp_blade + temp_blade.attack_self() -/obj/item/weapon/cane/concealed/attack_self(mob/user) +/obj/item/weapon/cane/concealed/attack_self(var/mob/user) if(concealed_blade) user.visible_message("[user] has unsheathed \a [concealed_blade] from \his [src]!", "You unsheathe \the [concealed_blade] from \the [src].") // Calling drop/put in hands to properly call item drop/pickup procs @@ -102,8 +103,8 @@ user.drop_from_inventory(src) user.put_in_hands(concealed_blade) user.put_in_hands(src) - update_inv_l_hand(0) - update_inv_r_hand() + user.update_inv_l_hand(0) + user.update_inv_r_hand() concealed_blade = null else ..() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index a3387396e95..0ec99be4e91 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -216,7 +216,7 @@ if(isturf(A)) for(var/obj/O in A) O.bullet_act(src) - for(var/mob/M in A) + for(var/mob/living/M in A) attack_mob(M, distance) //penetrating projectiles can pass through things that otherwise would not let them From 14124985cc90c3c673d69a1dd137005ca9c3e5c5 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 5 Apr 2015 05:29:04 +0300 Subject: [PATCH 13/13] Offhand gun doesn't decrease probability of accidental shot now. --- code/modules/mob/living/carbon/human/human_attackhand.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index ecc5f89162d..d35cef24fd9 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -216,11 +216,11 @@ if (istype(l_hand,/obj/item/weapon/gun)) W = l_hand - chance = hand ? 40 : 20 + chance += hand ? 40 : 20 else if (istype(r_hand,/obj/item/weapon/gun)) W = r_hand - chance = !hand ? 40 : 20 + chance += !hand ? 40 : 20 if (prob(chance)) visible_message("[src]'s [W.name] goes off during struggle!")