Merge remote-tracking branch 'upstream/master' into Cameras

This commit is contained in:
Fox-McCloud
2015-02-28 16:24:03 -05:00
71 changed files with 778 additions and 318 deletions
+10
View File
@@ -13,6 +13,16 @@
max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
/obj/item/stack/rods/New(var/loc, var/amount=null)
update_icon()
return ..()
/obj/item/stack/rods/update_icon()
if(get_amount() <= 5)
icon_state = "rods-[get_amount()]"
else
icon_state = "rods"
/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/weldingtool))
+4
View File
@@ -169,6 +169,7 @@
if(usr)
usr.unEquip(src, 1)
qdel(src)
update_icon()
return 1
/obj/item/stack/proc/add_to_stacks(mob/usr as mob)
@@ -185,6 +186,7 @@
usr << "You add new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s."
if(!oldsrc)
break
update_icon()
/obj/item/stack/proc/get_amount()
return amount
@@ -201,6 +203,7 @@
spawn(0) src.interact(usr)
else
..()
update_icon()
return
/obj/item/stack/attackby(obj/item/W as obj, mob/user as mob, params)
@@ -220,6 +223,7 @@
src.use(to_transfer)
if (src && usr.machine==src)
spawn(0) src.interact(usr)
S.update_icon()
else return ..()
/obj/item/stack/proc/copy_evidences(obj/item/stack/from as obj)
+40 -1
View File
@@ -1124,4 +1124,43 @@ obj/item/toy/cards/deck/syndicate/black
shake_camera(M, 2, 1) // Shakes player camera 2 squares for 1 second.
else
user << "<span class='alert'>Nothing happens.</span>"
user << "<span class='alert'>Nothing happens.</span>"
/obj/item/toy/owl
name = "owl action figure"
desc = "An action figure modeled after 'The Owl', defender of justice."
icon = 'icons/obj/toy.dmi'
icon_state = "owlprize"
w_class = 2.0
var/cooldown = 0
/obj/item/toy/owl/attack_self(mob/user)
if(!cooldown) //for the sanity of everyone
var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!")
user << "<span class='notice'>You pull the string on the [src].</span>"
playsound(user, 'sound/machines/click.ogg', 20, 1)
src.loc.visible_message("<span class='danger'>\icon[src] [message]</span>")
cooldown = 1
spawn(30) cooldown = 0
return
..()
/obj/item/toy/griffin
name = "griffin action figure"
desc = "An action figure modeled after 'The Griffin', criminal mastermind."
icon = 'icons/obj/toy.dmi'
icon_state = "griffinprize"
w_class = 2.0
var/cooldown = 0
/obj/item/toy/griffin/attack_self(mob/user)
if(!cooldown) //for the sanity of everyone
var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!")
user << "<span class='notice'>You pull the string on the [src].</span>"
playsound(user, 'sound/machines/click.ogg', 20, 1)
src.loc.visible_message("<span class='danger'>\icon[src] [message]</span>")
cooldown = 1
spawn(30) cooldown = 0
return
..()
+3 -3
View File
@@ -30,7 +30,7 @@ RCD
New()
desc = "A RCD. It currently holds [matter]/100 matter-units."
desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
src.spark_system = new /datum/effect/effect/system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
@@ -44,9 +44,9 @@ RCD
if((matter + R.ammoamt) > max_matter)
user << "<span class='notice'>The RCD cant hold any more matter-units.</span>"
return
matter += R.ammoamt
user.drop_item()
del(W)
matter += R.ammoamt
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user << "<span class='notice'>The RCD now holds [matter]/[max_matter] matter-units.</span>"
desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
@@ -168,7 +168,7 @@ RCD
if(matter < amount)
return 0
matter -= amount
desc = "A RCD. It currently holds [matter]/100 matter-units."
desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
return 1
/obj/item/weapon/rcd/proc/checkResource(var/amount, var/mob/user)
+97 -21
View File
@@ -6,30 +6,29 @@
desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder."
icon = 'icons/obj/weapons.dmi'
icon_state = "riot"
flags = CONDUCT
slot_flags = SLOT_BACK
force = 5.0
throwforce = 5.0
throw_speed = 1
throw_range = 4
w_class = 4.0
force = 8
throwforce = 5
throw_speed = 2
throw_range = 3
w_class = 4
g_amt = 7500
m_amt = 1000
origin_tech = "materials=2"
attack_verb = list("shoved", "bashed")
var/cooldown = 0 //shield bash cooldown. based on world.time
IsShield()
return 1
/obj/item/weapon/shield/riot/IsShield()
return 1
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/melee/baton))
if(cooldown < world.time - 25)
user.visible_message("<span class='warning'>[user] bashes [src] with [W]!</span>")
playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
else
..()
/obj/item/weapon/shield/riot/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/melee/baton))
if(cooldown < world.time - 25)
user.visible_message("<span class='warning'>[user] bashes [src] with [W]!</span>")
playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
else
..()
/obj/item/weapon/shield/riot/roman
name = "roman shield"
@@ -42,16 +41,93 @@
desc = "A shield capable of stopping most melee attacks. Protects user from almost all energy projectiles. It can be retracted, expanded, and stored anywhere."
icon = 'icons/obj/weapons.dmi'
icon_state = "eshield0" // eshield1 for expanded
flags = CONDUCT
force = 3.0
throwforce = 5.0
throw_speed = 1
throw_range = 4
force = 3
throwforce = 3
throw_speed = 3
throw_range = 5
w_class = 1
origin_tech = "materials=4;magnets=3;syndicate=4"
attack_verb = list("shoved", "bashed")
var/active = 0
/obj/item/weapon/shield/energy/IsShield()
return (active)
/obj/item/weapon/shield/energy/IsReflect()
return (active)
/obj/item/weapon/shield/energy/attack_self(mob/living/carbon/human/user)
if(user.disabilities & CLUMSY && prob(50))
user << "<span class='warning'>You beat yourself in the head with [src].</span>"
user.take_organ_damage(5)
active = !active
icon_state = "eshield[active]"
if(active)
force = 10
throwforce = 8
throw_speed = 2
w_class = 4
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
user << "<span class='notice'>[src] is now active.</span>"
else
force = 3
throwforce = 3
throw_speed = 3
w_class = 1
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1)
user << "<span class='notice'>[src] can now be concealed.</span>"
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
H.update_inv_r_hand()
add_fingerprint(user)
return
/obj/item/weapon/shield/riot/tele
name = "telescopic shield"
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
icon = 'icons/obj/weapons.dmi'
icon_state = "teleriot0"
icon_override = 'icons/mob/in-hand/tools.dmi'
slot_flags = null
force = 3
throwforce = 3
throw_speed = 3
throw_range = 4
w_class = 3
var/active = 0
/obj/item/weapon/shield/riot/tele/IsShield()
return (active)
/obj/item/weapon/shield/riot/tele/attack_self(mob/living/user)
active = !active
icon_state = "teleriot[active]"
playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, 1)
if(active)
force = 8
throwforce = 5
throw_speed = 2
w_class = 4
slot_flags = SLOT_BACK
user << "<span class='notice'>You extend \the [src].</span>"
else
force = 3
throwforce = 3
throw_speed = 3
w_class = 3
slot_flags = null
user << "<span class='notice'>[src] can now be concealed.</span>"
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
H.update_inv_r_hand()
add_fingerprint(user)
return
/obj/item/weapon/cloaking_device
name = "cloaking device"
desc = "Use this to become invisible to the human eyesocket."
@@ -282,40 +282,4 @@
src.w_class = 5
hitsound = "swing_hit"
src.add_fingerprint(user)
return
/*
* Energy Shield
*/
/obj/item/weapon/shield/energy/IsShield()
if(active)
return 1
else
return 0
/obj/item/weapon/shield/energy/attack_self(mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
user << "\red You beat yourself in the head with [src]."
user.take_organ_damage(5)
active = !active
if (active)
force = 10
reflect_chance = 100
icon_state = "eshield[active]"
w_class = 4
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
user << "\blue [src] is now active."
else
force = 3
icon_state = "eshield[active]"
w_class = 1
reflect_chance = 0
playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
user << "\blue [src] can now be concealed."
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
H.update_inv_r_hand()
add_fingerprint(user)
return
return