Merge pull request #8756 from comma/conscience

Some fixes
This commit is contained in:
Zuhayr
2015-04-05 12:09:57 +09:30
10 changed files with 40 additions and 27 deletions
+6 -3
View File
@@ -91,9 +91,11 @@
/obj/item/weapon/cane/concealed/New()
..()
concealed_blade = new/obj/item/weapon/butterfly/switchblade(src)
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("<span class='warning'>[user] has unsheathed \a [concealed_blade] from \his [src]!</span>", "You unsheathe \the [concealed_blade] from \the [src].")
// Calling drop/put in hands to properly call item drop/pickup procs
@@ -101,8 +103,9 @@
user.drop_from_inventory(src)
user.put_in_hands(concealed_blade)
user.put_in_hands(src)
user.update_inv_l_hand(0)
user.update_inv_r_hand()
concealed_blade = null
update_icon()
else
..()
@@ -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
+4 -2
View File
@@ -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"
@@ -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()
@@ -216,14 +216,14 @@
if (istype(l_hand,/obj/item/weapon/gun))
W = l_hand
chance = hand ? 40 : 20
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
chance += !hand ? 40 : 20
if (prob(chance))
visible_message("<span class='danger'>[src]'s [W] goes off during struggle!</span>")
visible_message("<span class='danger'>[src]'s [W.name] goes off during struggle!")
var/list/turfs = list()
for(var/turf/T in view())
turfs += T
@@ -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("<span class='danger'>\The [target.l_hand] was knocked right out of [src]'s grasp!</span>")
target.visible_message("<span class='danger'>\The [target.l_hand] was knocked right out of [target]'s grasp!</span>")
target.drop_l_hand()
if("r_arm", "r_hand")
if (target.r_hand)
// Disarm right hand
target.visible_message("<span class='danger'>\The [target.r_hand] was knocked right out of [src]'s grasp!</span>")
target.visible_message("<span class='danger'>\The [target.r_hand] was knocked right out of [target]'s grasp!</span>")
target.drop_r_hand()
if("chest")
if(!target.lying)
@@ -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
@@ -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()
@@ -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"
@@ -118,7 +117,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)
+9 -7
View File
@@ -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("<span class='danger'>\The [M] uses [G.affecting] as a shield!</span>")
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
@@ -214,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
@@ -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