New Content Update (#43)
* New Content Update * readded shuttle autocall
This commit is contained in:
committed by
TalkingCactus
parent
8a9bbcf97d
commit
24c10b1b7f
@@ -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)
|
||||
|
||||
@@ -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/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user