New Content Update (#43)

* New Content Update

* readded shuttle autocall
This commit is contained in:
unusualcrow
2016-09-18 13:04:47 -04:00
committed by TalkingCactus
parent 8a9bbcf97d
commit 24c10b1b7f
52 changed files with 972 additions and 362 deletions
+1 -1
View File
@@ -38,7 +38,7 @@
var/list/runes = list("rune1","rune2","rune3","rune4","rune5","rune6")
var/list/randoms = list(RANDOM_ANY, RANDOM_RUNE, RANDOM_ORIENTED,
RANDOM_NUMBER, RANDOM_GRAFFITI, RANDOM_LETTER)
var/list/graffiti_large_h = list("yiffhell", "secborg", "paint")
var/list/graffiti_large_h = list("yiffhell", "secborg", "paint", "madworld1", "madworld2")
var/list/all_drawables
@@ -0,0 +1,25 @@
/obj/item/device/boobytrap
name = "booby trap"
desc = null //Different examine for traitors
item_state = "electronic"
icon_state = "boobytrap"
w_class = 1
throw_range = 4
throw_speed = 1
flags = NOBLUDGEON
force = 3
attack_verb = list("trapped", "rused", "tricked")
materials = list(MAT_METAL=50, MAT_GLASS=30)
origin_tech = "syndicate=1;combat=3;engineering=3"
/obj/item/device/boobytrap/proc/blow()
explosion(src.loc,0,0,2,4,flame_range = 4)
qdel(src)
/obj/item/device/boobytrap/examine(mob/user)
..()
if(user.mind in ticker.mode.traitors) //No nuke ops because the device is excluded from nuclear
user << "A small device used to rig lockers and boxes with an explosive surprise. \
To use, simply attach it to a box or a locker."
else
user << "A suspicious array of delicate wires and parts."
@@ -187,6 +187,22 @@
else
return ..()
/obj/item/weapon/twohanded/attackby(obj/item/weapon/W, mob/living/user, params)
if(istype(W, /obj/item/weapon/melee/energy/sword/saber))
switch(alert(user, "You feel like the sword might be a bit more dangerous to yourself than to others if you do this.", "Combine?", "Proceed", "Abort"))
if("Abort" || !in_range(src, user) || !src || !W || user.incapacitated())
return
user << "<span class='notice'>You attach the energy sword to the double \
bladed energy sword, making a single triple-bladed weapon! \
You're a genius!</span>"
var/obj/item/weapon/trisword/newSaber = new(user.loc)
user.unEquip(W)
user.unEquip(src)
qdel(W)
qdel(src)
user.put_in_hands(newSaber)
return
/obj/item/weapon/melee/energy/sword/pirate
name = "energy cutlass"
desc = "Arrrr matey."
@@ -221,3 +237,67 @@
/obj/item/weapon/melee/energy/blade/attack_self(mob/user)
return
/* Triple Esword! [joke weapon] */
/obj/item/weapon/trisword
name = "triple-bladed energy sword"
desc = "Wow, an energy sword with THREE blades! This must be a REALLY good weapon."
force = 3
throwforce = 5
w_class = 2
icon_state = "trisaber_off"
item_state = "sword0"
var/progress = 0
var/on = 0
/obj/item/weapon/trisword/attack_self(mob/living/carbon/user)
if(on || progress > 5)
return
if(progress == 0)
user << "<span class='notice'>You extend the... Hey, wait a second, how do you turn this thing on?</span>"
progress = 1
return
if(progress == 1)
user << "<span class='notice'>No, seriously, what the fuck? Does this thing even have a button on it?</span>"
progress = 2
return
if(progress == 2)
user << "<span class='danger'>Okay, you're getting sick of this. You mash random panels on [src], trying to find a way to activate it.</span>"
progress = 3
return
if(progress == 3)
user << "<span class='danger'>God dammit, how the fuck do you turn this shit on?</span>"
progress = 4
return
if(progress == 4)
user << "<span class='notice'>You find what feels like a button on [src]! Now you just need to press it.</span>"
progress = 5
return
if(progress == 5)
user << "<span class='userdanger'>The third blade on [src] extends straight into your gut! God fucking dammit.</span>"
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
playsound(user, 'sound/weapons/blade1.ogg', 35, 1)
on = 1
icon_state = "trisaber"
if(!remove_item_from_storage(user))
user.unEquip(src)
user.adjustBruteLoss(110)
/obj/item/weapon/trisword/dropped()
..()
if(!on)
progress = 0
/obj/item/weapon/trisword/attack_hand(mob/living/carbon/user)
if(on)
user << "<span class='userdanger'>You try to pick up [src], but accidentally grab one of the blades, and quickly drop the whole thing out of pain.</span>"
user.adjustBruteLoss(15)
playsound(user, 'sound/weapons/blade1.ogg', 35, 1)
else
..()
/obj/item/weapon/trisword/attack_tk(mob/living/carbon/user)
user << "<span class='danger'>You try to comprehend \the [src].</span>"
user << "<span class='userdanger'>Your head hurts.</span>"
user.adjustBrainLoss(50)
user.confused += 15
@@ -182,7 +182,10 @@
/obj/item/weapon/reagent_containers/pill,
/obj/item/weapon/storage/pill_bottle,
/obj/item/weapon/ore,
/obj/item/weapon/reagent_containers/food/drinks
/obj/item/weapon/reagent_containers/food/drinks,
/obj/item/organ/hivelord_core,
/obj/item/device/wormhole_jaunter
)
@@ -27,7 +27,100 @@
item_state = "syringe_kit"
burn_state = FLAMMABLE
var/foldable = /obj/item/stack/sheet/cardboard
var/obj/item/device/boobytrap/trap = null
/obj/item/weapon/storage/box/examine(mob/user)
..()
if(trap && in_range(user, src))
user << "<span class='warning'>Something seems to be wired to the inside of the box!</span>"
return
/obj/item/weapon/storage/box/attackby(obj/item/C, mob/user, params)
if(!istype(C, /obj/item/device/boobytrap) && trap && !istype(C, /obj/item/weapon/wirecutters))
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
trap.loc = get_turf(src)
trap.blow()
trap = null
for(var/mob/living/carbon/human/H in orange(2,src))
H.Paralyse(8)
H.adjust_fire_stacks(1)
H.IgniteMob()
qdel(src)
if(istype(C, /obj/item/device/boobytrap))
if(trap)
user << "<span class='warning'>There's already a booby trap hooked up to this box!</span>"
return
user << "<span class='warning'>You apply [C]. Next time someone opens the box, it will explode.</span>"
C.loc = src
trap = C
qdel(C)
user.drop_item()
if(istype(C, /obj/item/weapon/wirecutters) && trap)
user << "<span class='notice'>You begin attempting to disarm the booby trap...</span>"
visible_message("<span class='warning'>[user] begins attempting to disarm the booby trap.</span>")
if(do_after(user, 80, target = src))
if(prob(75))
user << "<span class='notice'>You disarm the booby trap, destroying it in the process.</span>"
visible_message("<span class='notice'>[user] disarms the booby trap!</span>")
trap = null
else
user << "<span class='warning'>You accidentally bump the sensor and set off the booby trap!</span>"
visible_message("<span class='warning'>[user] fails to disarm the booby trap!</span>")
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
trap.loc = get_turf(src)
trap.blow()
trap = null
for(var/mob/living/carbon/human/H in orange(2,src))
H.Paralyse(8)
H.adjust_fire_stacks(1)
H.IgniteMob()
qdel(src)
else
..()
/obj/item/weapon/storage/box/MouseDrop(atom/over_object)
if(iscarbon(usr) || isdrone(usr))
var/mob/M = usr
if(!over_object)
return
if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
return
if(over_object == M && Adjacent(M))
if(trap)
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
trap.loc = get_turf(src)
trap.blow()
trap = null
for(var/mob/living/carbon/human/H in orange(2,src))
H.Paralyse(8)
H.adjust_fire_stacks(1)
H.IgniteMob()
qdel(src)
..()
/obj/item/weapon/storage/box/attack_hand(mob/user)
..()
if(trap)
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
trap.loc = get_turf(src)
trap.blow()
trap = null
for(var/mob/living/carbon/human/H in orange(2,src))
H.Paralyse(8)
H.adjust_fire_stacks(1)
H.IgniteMob()
qdel(src)
return ..()
/obj/item/weapon/storage/box/attack_self(mob/user)
..()
@@ -374,8 +374,8 @@
if(!can_be_inserted(W, 0 , user))
return
handle_item_insertion(W, 0 , user)
if(!istype(W, /obj/item/device/boobytrap))
handle_item_insertion(W, 0 , user)
/obj/item/weapon/storage/attack_hand(mob/user)
@@ -283,3 +283,8 @@
for(var/i in 1 to 3)
new/obj/item/cardboard_cutout/adaptive(src)
new/obj/item/toy/crayon/rainbow(src)
/obj/item/weapon/storage/box/syndie_kit/thermite/New()
..()
new /obj/item/weapon/reagent_containers/spray/thermite(src)
new /obj/item/weapon/lighter(src)
+15 -9
View File
@@ -83,13 +83,6 @@
user.put_in_inactive_hand(O)
return
/obj/item/weapon/twohanded/mob_can_equip(mob/M, slot)
//Cannot equip wielded items.
if(wielded)
M << "<span class='warning'>Unwield the [name] first!</span>"
return 0
return ..()
/obj/item/weapon/twohanded/dropped(mob/user)
..()
//handles unwielding a twohanded weapon when dropped as well as clearing up the offhand
@@ -109,6 +102,11 @@
else //Trying to wield it
wield(user)
/obj/item/weapon/twohanded/equip_to_best_slot(mob/M)
if(..())
unwield(M)
return
///////////OFFHAND///////////////
/obj/item/weapon/twohanded/offhand
name = "offhand"
@@ -131,7 +129,7 @@
return
/obj/item/weapon/twohanded/required/mob_can_equip(mob/M, slot)
if(wielded)
if(wielded && !slot_flags)
M << "<span class='warning'>\The [src] is too cumbersome to carry with anything but your hands!</span>"
return 0
return ..()
@@ -143,9 +141,17 @@
if(H != null)
user << "<span class='notice'>\The [src] is too cumbersome to carry in one hand!</span>"
return
wield(user)
if(src.loc != user)
wield(user)
..()
/obj/item/weapon/twohanded/required/equipped(mob/user, slot)
..()
if(slot == slot_l_hand || slot == slot_r_hand)
wield(user)
else
unwield(user)
/obj/item/weapon/twohanded/