mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 20:47:10 +01:00
Traitor Item Additions and Surplus Crates
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
/obj/item/device/pizza_bomb
|
||||
name = "pizza box"
|
||||
desc = "A box suited for pizzas."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon_state = "pizzabox1"
|
||||
var/timer = 10 //Adjustable timer
|
||||
var/timer_set = 0
|
||||
var/primed = 0
|
||||
var/disarmed = 0
|
||||
var/wires = list("orange", "green", "blue", "yellow", "aqua", "purple")
|
||||
var/correct_wire
|
||||
var/armer //Used for admin purposes
|
||||
|
||||
/obj/item/device/pizza_bomb/attack_self(mob/user)
|
||||
if(disarmed)
|
||||
user << "<span class='notice'>\The [src] is disarmed.</span>"
|
||||
return
|
||||
if(!timer_set)
|
||||
name = "pizza bomb"
|
||||
desc = "It seems inactive."
|
||||
icon_state = "pizzabox_bomb"
|
||||
timer_set = 1
|
||||
timer = (input(user, "Set a timer, from one second to ten seconds.", "Timer", "[timer]") as num) * 10
|
||||
if(!in_range(src, usr) || issilicon(usr) || !usr.canmove || usr.restrained())
|
||||
timer_set = 0
|
||||
name = "pizza box"
|
||||
desc = "A box suited for pizzas."
|
||||
icon_state = "pizzabox1"
|
||||
return
|
||||
timer = Clamp(timer, 10, 100)
|
||||
icon_state = "pizzabox1"
|
||||
user << "<span class='notice'>You set the timer to [timer / 10] before activating the payload and closing \the [src]."
|
||||
message_admins("[key_name(usr)]<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A> has set a timer on a pizza bomb to [timer/10] seconds at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[loc.x];Y=[loc.y];Z=[loc.z]'>(JMP)</a>.")
|
||||
log_game("[key_name(usr)] has set the timer on a pizza bomb to [timer/10] seconds ([loc.x],[loc.y],[loc.z]).")
|
||||
armer = usr
|
||||
name = "pizza box"
|
||||
desc = "A box suited for pizzas."
|
||||
return
|
||||
if(!primed)
|
||||
name = "pizza bomb"
|
||||
desc = "OH GOD THAT'S NOT A PIZZA"
|
||||
icon_state = "pizzabox_bomb"
|
||||
audible_message("<span class='warning'>\icon[src] *beep* *beep*</span>")
|
||||
user << "<span class='danger'>That's no pizza! That's a bomb!</span>"
|
||||
message_admins("[key_name(usr)]<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A> has triggered a pizza bomb armed by [armer] at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[loc.x];Y=[loc.y];Z=[loc.z]'>(JMP)</a>.")
|
||||
log_game("[key_name(usr)] has triggered a pizza bomb armed by [armer] ([loc.x],[loc.y],[loc.z]).")
|
||||
primed = 1
|
||||
sleep(timer)
|
||||
return go_boom()
|
||||
|
||||
/obj/item/device/pizza_bomb/proc/go_boom()
|
||||
if(disarmed)
|
||||
visible_message("<span class='danger'>\icon[src] Sparks briefly jump out of the [correct_wire] wire on \the [src], but it's disarmed!")
|
||||
return
|
||||
src.audible_message("\icon[src] <b>[src]</b> beeps, \"Enjoy the pizza!\"")
|
||||
src.visible_message("<span class='userdanger'>\The [src] violently explodes!</span>")
|
||||
explosion(src.loc,1,2,4) //Identical to a minibomb
|
||||
qdel(src)
|
||||
|
||||
/obj/item/device/pizza_bomb/attackby(var/obj/item/I, var/mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/wirecutters) && primed)
|
||||
user << "<span class='danger'>Oh God, what wire do you cut?!</span>"
|
||||
var/chosen_wire = input(user, "OH GOD OH GOD", "WHAT WIRE?!") in wires
|
||||
if(!in_range(src, usr) || issilicon(usr) || !usr.canmove || usr.restrained())
|
||||
return
|
||||
playsound(src, 'sound/items/Wirecutter.ogg', 50, 1, 1)
|
||||
user.visible_message("<span class='warning'>[user] cuts the [chosen_wire] wire!</span>", "<span class='danger'>You cut the [chosen_wire] wire!</span>")
|
||||
sleep(5)
|
||||
if(chosen_wire == correct_wire)
|
||||
src.audible_message("<span class='warning'>\icon[src] \The [src] suddenly stops beeping and seems lifeless.</span>")
|
||||
user << "<span class='notice'>You did it!</span>"
|
||||
icon_state = "pizzabox_bomb_[correct_wire]"
|
||||
name = "pizza bomb"
|
||||
desc = "A devious contraption, made of a small explosive payload hooked up to pressure-sensitive wires. It's disarmed."
|
||||
disarmed = 1
|
||||
primed = 0
|
||||
return
|
||||
else
|
||||
user << "<span class='userdanger'>WRONG WIRE!</span>"
|
||||
go_boom()
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/wirecutters) && disarmed)
|
||||
if(!in_range(user, src))
|
||||
user << "<span class='warning'>You can't see the box well enough to cut the wires out.</span>"
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] starts removing the payload and wires from \the [src].</span>")
|
||||
if(do_after(user, 40))
|
||||
playsound(src, 'sound/items/Wirecutter.ogg', 50, 1, 1)
|
||||
user.unEquip(src)
|
||||
user.visible_message("<span class='notice'>[user] removes the insides of \the [src]!</span>")
|
||||
var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(src.loc)
|
||||
C.amount = 3
|
||||
new /obj/item/weapon/bombcore/miniature(src.loc)
|
||||
new /obj/item/pizzabox(src.loc)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/device/pizza_bomb/New()
|
||||
..()
|
||||
correct_wire = pick(wires)
|
||||
+95
-22
@@ -48,6 +48,7 @@ var/list/uplink_items = list()
|
||||
var/list/gamemodes = list() // Empty list means it is in all the gamemodes. Otherwise place the gamemode name here.
|
||||
var/list/excludefrom = list() //Empty list does nothing. Place the name of gamemode you don't want this item to be available in here. This is so you dont have to list EVERY mode to exclude something.
|
||||
var/list/job = null
|
||||
var/surplus = 100 //Chance of being included in the surplus crate (when pick() selects it)
|
||||
|
||||
/datum/uplink_item/proc/spawn_item(var/turf/loc, var/obj/item/device/uplink/U)
|
||||
if(item)
|
||||
@@ -108,13 +109,6 @@ var/list/uplink_items = list()
|
||||
cost = 8
|
||||
job = list("Clown")
|
||||
|
||||
/datum/uplink_item/jobspecific/conversionkit
|
||||
name = "Conversion Kit Bundle"
|
||||
desc = "A bundle that comes with a professional revolver conversion kit and 1 box of .357 ammo. The kit allows you to convert your revolver to fire lethal rounds or vice versa, modification is nearly perfect and will not result in catastrophic failure."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/conversion
|
||||
cost = 12
|
||||
job = list("Detective")
|
||||
|
||||
//Chef
|
||||
/datum/uplink_item/jobspecific/specialsauce
|
||||
name = "Chef Excellence's Special Sauce"
|
||||
@@ -174,13 +168,6 @@ var/list/uplink_items = list()
|
||||
cost = 6
|
||||
job = list("Civilian")
|
||||
|
||||
/*
|
||||
/datum/uplink_item/jobspecific/greytide
|
||||
name = "Greytide Implant"
|
||||
desc = "A box containing an implanter filled with a greytide implant when injected into another person makes them loyal to the greytide and your cause, unless of course they're already implanted by someone else. Loyalty ends if the implant is no longer in their system."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/greytide
|
||||
cost = 7
|
||||
job = list("Civilian") */
|
||||
//Bartender
|
||||
|
||||
/datum/uplink_item/jobspecific/drunkbullets
|
||||
@@ -244,6 +231,7 @@ var/list/uplink_items = list()
|
||||
desc = "A brutally simple syndicate revolver that fires .357 Magnum cartridges and has 7 chambers."
|
||||
item = /obj/item/weapon/gun/projectile/revolver
|
||||
cost = 13
|
||||
surplus = 50
|
||||
|
||||
/datum/uplink_item/dangerous/smg
|
||||
name = "Syndicate SMG"
|
||||
@@ -251,6 +239,15 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/gun/projectile/automatic/c20r
|
||||
cost = 14
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 40
|
||||
|
||||
/datum/uplink_item/dangerous/car
|
||||
name = "C-90gl Compact Assault Rifle"
|
||||
desc = "A fully-loaded Zashchita Industriya toploading bullpup assault rifle that uses 30-round 5.45x39mm magazines with a togglable underslung 40mm grenade launcher."
|
||||
item = /obj/item/weapon/gun/projectile/automatic/c90gl
|
||||
cost = 18
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 50
|
||||
|
||||
/datum/uplink_item/dangerous/machinegun
|
||||
name = "Syndicate LMG"
|
||||
@@ -258,6 +255,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/gun/projectile/automatic/l6_saw
|
||||
cost = 40
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 0
|
||||
|
||||
/datum/uplink_item/dangerous/crossbow
|
||||
name = "Energy Crossbow"
|
||||
@@ -265,6 +263,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
|
||||
cost = 12
|
||||
excludefrom = list("nuclear emergency")
|
||||
surplus = 50
|
||||
|
||||
/datum/uplink_item/dangerous/sword
|
||||
name = "Energy Sword"
|
||||
@@ -284,6 +283,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/grenade/spawnergrenade/manhacks
|
||||
cost = 8
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 35
|
||||
|
||||
/datum/uplink_item/dangerous/saringrenades
|
||||
name = "Sarin Gas Grenades"
|
||||
@@ -291,6 +291,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/sarin
|
||||
cost = 15
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 0
|
||||
|
||||
/datum/uplink_item/dangerous/emp
|
||||
name = "EMP Kit"
|
||||
@@ -311,6 +312,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/mecha/combat/gygax/dark/loaded
|
||||
cost = 90
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 0
|
||||
|
||||
/datum/uplink_item/dangerous/mauler
|
||||
name = "Mauler Exosuit"
|
||||
@@ -318,6 +320,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/mecha/combat/marauder/mauler/loaded
|
||||
cost = 140
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 0
|
||||
|
||||
/datum/uplink_item/dangerous/syndieborg
|
||||
name = "Syndicate Cyborg"
|
||||
@@ -325,6 +328,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/antag_spawner/borg_tele
|
||||
cost = 50
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 0
|
||||
|
||||
//for refunding the syndieborg teleporter
|
||||
/datum/uplink_item/dangerous/syndieborg/spawn_item()
|
||||
@@ -336,6 +340,7 @@ var/list/uplink_items = list()
|
||||
|
||||
/datum/uplink_item/ammo
|
||||
category = "Ammunition"
|
||||
surplus = 40
|
||||
|
||||
/datum/uplink_item/ammo/pistol
|
||||
name = "Ammo-10mm"
|
||||
@@ -356,13 +361,6 @@ var/list/uplink_items = list()
|
||||
cost = 2
|
||||
gamemodes = list("nuclear emergency")
|
||||
|
||||
/datum/uplink_item/dangerous/car
|
||||
name = "C-90gl Compact Assault Rifle"
|
||||
desc = "A fully-loaded Zashchita Industriya toploading bullpup assault rifle that uses 30-round 5.45x39mm magazines with a togglable underslung 40mm grenade launcher."
|
||||
item = /obj/item/weapon/gun/projectile/automatic/c90gl
|
||||
cost = 18
|
||||
gamemodes = list("nuclear emergency")
|
||||
|
||||
/datum/uplink_item/ammo/bullbuck
|
||||
name = "Drum Magazine - 12g buckshot"
|
||||
desc = "An additional 8-round buckshot magazine for use in the Bulldog shotgun. Front towards enemy."
|
||||
@@ -404,7 +402,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/ammo_box/magazine/m762
|
||||
cost = 12
|
||||
gamemodes = list("nuclear emergency")
|
||||
|
||||
surplus = 0
|
||||
|
||||
// STEALTHY WEAPONS
|
||||
|
||||
@@ -423,6 +421,7 @@ var/list/uplink_items = list()
|
||||
desc = "A sinister-looking surfactant used to clean blood stains to hide murders and prevent DNA analysis. You can also drop it underfoot to slip people."
|
||||
item = /obj/item/weapon/soap/syndie
|
||||
cost = 1
|
||||
surplus = 50
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/detomatix
|
||||
name = "Detomatix PDA Cartridge"
|
||||
@@ -437,6 +436,20 @@ var/list/uplink_items = list()
|
||||
desc = "Fitted for use on any small caliber weapon with a threaded barrel, this suppressor will silence the shots of the weapon for increased stealth and superior ambushing capability."
|
||||
item = /obj/item/weapon/suppressor
|
||||
cost = 3
|
||||
surplus = 10
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/pizza_bomb
|
||||
name = "Pizza Bomb"
|
||||
desc = "A pizza box with a bomb taped inside of it. The timer needs to be set by opening the box; afterwards, opening the box again will trigger the detonation."
|
||||
item = /obj/item/device/pizza_bomb
|
||||
cost = 4
|
||||
surplus = 8
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/dehy_carp
|
||||
name = "Dehydrated Space Carp"
|
||||
desc = "Just add water to make your very own hostile to everything space carp. It looks just like a plushie."
|
||||
item = /obj/item/toy/carpplushie/dehy_carp
|
||||
cost = 3
|
||||
|
||||
// STEALTHY TOOLS
|
||||
|
||||
@@ -455,6 +468,7 @@ var/list/uplink_items = list()
|
||||
it can also be used in a washing machine to forge clothing."
|
||||
item = /obj/item/weapon/stamp/chameleon
|
||||
cost = 1
|
||||
surplus = 35
|
||||
|
||||
/datum/uplink_item/stealthy_tools/syndigolashes
|
||||
name = "No-Slip Syndicate Shoes"
|
||||
@@ -485,6 +499,7 @@ var/list/uplink_items = list()
|
||||
desc = "Enables you to bug cameras to view them remotely. Adding particular items to it alters its functions."
|
||||
item = /obj/item/device/camera_bug
|
||||
cost = 2
|
||||
surplus = 90
|
||||
|
||||
/datum/uplink_item/stealthy_tools/dnascrambler
|
||||
name = "DNA Scrambler"
|
||||
@@ -497,6 +512,7 @@ var/list/uplink_items = list()
|
||||
desc = "This satchel is thin enough to be hidden in the gap between plating and tiling, great for stashing your stolen goods. Comes with a crowbar and a floor tile inside."
|
||||
item = /obj/item/weapon/storage/backpack/satchel_flat
|
||||
cost = 2
|
||||
surplus = 30
|
||||
|
||||
// DEVICE AND TOOLS
|
||||
|
||||
@@ -537,6 +553,14 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/space
|
||||
cost = 5
|
||||
|
||||
/datum/uplink_item/device_tools/hardsuit
|
||||
name = "Blood-red Hardsuit"
|
||||
desc = "The feared suit of a syndicate nuclear agent. Features slightly better armoring. When the helmet is deployed your identity will be protected. Toggling the suit into combat mode \
|
||||
will allow you all the mobility of a loose fitting uniform without sacrificing armoring. Additionally the suit is collapsible, small enough to fit within a backpack. \
|
||||
Nanotrasen crewmembers are trained to report red space suit sightings, these suits in particular are known to drive employees into a panic."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/hardsuit
|
||||
cost = 8
|
||||
|
||||
/datum/uplink_item/device_tools/thermal
|
||||
name = "Thermal Imaging Glasses"
|
||||
desc = "These glasses are thermals disguised as engineers' optical meson scanners. They allow you to see organisms through walls by capturing the upper portion of the infrared light spectrum, emitted as heat and light by objects. Hotter objects, such as warm bodies, cybernetic organisms and artificial intelligence cores emit more of this light than cooler objects like walls and airlocks."
|
||||
@@ -548,12 +572,14 @@ var/list/uplink_items = list()
|
||||
desc = "A key, that when inserted into a radio headset, allows you to listen to and talk with artificial intelligences and cybernetic organisms in binary."
|
||||
item = /obj/item/device/encryptionkey/binary
|
||||
cost = 5
|
||||
surplus = 75
|
||||
|
||||
/datum/uplink_item/device_tools/cipherkey
|
||||
name = "Syndicate Encryption Key"
|
||||
desc = "A key, that when inserted into a radio headset, allows you to listen to all station department channels as well as talk on an encrypted Syndicate channel."
|
||||
item = /obj/item/device/encryptionkey/syndicate
|
||||
cost = 5
|
||||
surplus = 75
|
||||
|
||||
/datum/uplink_item/device_tools/hacked_module
|
||||
name = "Hacked AI Upload Module"
|
||||
@@ -612,6 +638,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/circuitboard/teleporter
|
||||
cost = 40
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 0
|
||||
|
||||
/datum/uplink_item/device_tools/shield
|
||||
name = "Energy Shield"
|
||||
@@ -619,6 +646,7 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/weapon/shield/energy
|
||||
cost = 16
|
||||
gamemodes = list("nuclear emergency")
|
||||
surplus = 20
|
||||
|
||||
// IMPLANTS
|
||||
|
||||
@@ -636,6 +664,7 @@ var/list/uplink_items = list()
|
||||
desc = "An implant injected into the body, and later activated using a bodily gesture to open an uplink with 5 telecrystals. The ability for an agent to open an uplink after their posessions have been stripped from them makes this implant excellent for escaping confinement."
|
||||
item = /obj/item/weapon/implanter/uplink
|
||||
cost = 20
|
||||
surplus = 0
|
||||
|
||||
/datum/uplink_item/implants/explosive
|
||||
name = "Explosive Implant"
|
||||
@@ -665,6 +694,7 @@ var/list/uplink_items = list()
|
||||
|
||||
/datum/uplink_item/badass
|
||||
category = "(Pointless) Badassery"
|
||||
surplus = 0
|
||||
|
||||
/datum/uplink_item/badass/bundle
|
||||
name = "Syndicate Bundle"
|
||||
@@ -680,6 +710,14 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/toy/cards/deck/syndicate
|
||||
cost = 1
|
||||
excludefrom = list("nuclear emergency")
|
||||
surplus = 40
|
||||
|
||||
/datum/uplink_item/badass/syndiecash
|
||||
name = "Syndicate Briefcase Full of Cash"
|
||||
desc = "A secure briefcase containing 5000 space credits. Useful for bribing personnel, or purchasing goods and services at lucrative prices. \
|
||||
The briefcase also feels a little heavier to hold; it has been manufactured to pack a little bit more of a punch if your client needs some convincing."
|
||||
item = /obj/item/weapon/storage/secure/briefcase/syndie
|
||||
cost = 1
|
||||
|
||||
/datum/uplink_item/badass/balloon
|
||||
name = "For showing that you are The Boss"
|
||||
@@ -711,3 +749,38 @@ var/list/uplink_items = list()
|
||||
U.uses -= max(0, I.cost)
|
||||
feedback_add_details("traitor_uplink_items_bought","RN")
|
||||
return new I.item(loc)
|
||||
|
||||
/datum/uplink_item/badass/surplus_crate
|
||||
name = "Syndicate Surplus Crate"
|
||||
desc = "A crate containing 50 telecrystals worth of random syndicate leftovers."
|
||||
cost = 20
|
||||
item = /obj/item/weapon/storage/box/syndicate
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
/datum/uplink_item/badass/surplus_crate/spawn_item(turf/loc, obj/item/device/uplink/U)
|
||||
var/obj/structure/closet/crate/C = new(loc)
|
||||
var/list/temp_uplink_list = get_uplink_items()
|
||||
var/list/buyable_items = list()
|
||||
for(var/category in temp_uplink_list)
|
||||
buyable_items += temp_uplink_list[category]
|
||||
var/list/bought_items = list()
|
||||
U.uses -= cost
|
||||
U.used_TC = 20
|
||||
var/remaining_TC = 50
|
||||
|
||||
var/datum/uplink_item/I
|
||||
while(remaining_TC)
|
||||
I = pick(buyable_items)
|
||||
if(!I.surplus)
|
||||
continue
|
||||
if(I.cost > remaining_TC)
|
||||
continue
|
||||
if((I.item in bought_items) && prob(33)) //To prevent people from being flooded with the same thing over and over again.
|
||||
continue
|
||||
bought_items += I.item
|
||||
remaining_TC -= I.cost
|
||||
|
||||
U.purchase_log += "<BIG>\icon[C]</BIG>"
|
||||
for(var/item in bought_items)
|
||||
new item(C)
|
||||
U.purchase_log += "<BIG>\icon[item]</BIG>"
|
||||
@@ -273,6 +273,14 @@
|
||||
/obj/item/weapon/bombcore/badmin/explosion/detonate()
|
||||
explosion(get_turf(src),HeavyExplosion,MediumExplosion,LightExplosion)
|
||||
|
||||
/obj/item/weapon/bombcore/miniature
|
||||
name = "small bomb core"
|
||||
w_class = 2
|
||||
|
||||
/obj/item/weapon/bombcore/miniature/detonate()
|
||||
explosion(src.loc,1,2,4) //Identical to a minibomb
|
||||
qdel(src)
|
||||
|
||||
///Syndicate Detonator (aka the big red button)///
|
||||
|
||||
/obj/item/device/syndicatedetonator
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Dehydrated Carp
|
||||
* Instant carp, just add water
|
||||
*/
|
||||
|
||||
// Child of carpplushie because this should do everything the toy does and more
|
||||
/obj/item/toy/carpplushie/dehy_carp
|
||||
var/mob/owner = null // Carp doesn't attack owner, set when using in hand
|
||||
var/owned = 1 // Boolean, no owner to begin with
|
||||
|
||||
// Attack self
|
||||
/obj/item/toy/carpplushie/dehy_carp/attack_self(mob/user as mob)
|
||||
src.add_fingerprint(user) // Anyone can add their fingerprints to it with this
|
||||
if(owned)
|
||||
user << "<span class='notice'>[src] stares up at you with friendly eyes.</span>"
|
||||
owner = user
|
||||
owned = 0
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/toy/carpplushie/dehy_carp/afterattack(obj/O, mob/user,proximity)
|
||||
if(!proximity) return
|
||||
if(istype(O,/obj/structure/sink))
|
||||
user << "<span class='notice'>You place [src] under a stream of water...</span>"
|
||||
user.drop_item()
|
||||
loc = get_turf(O)
|
||||
return Swell()
|
||||
..()
|
||||
|
||||
/obj/item/toy/carpplushie/dehy_carp/proc/Swell()
|
||||
desc = "It's growing!"
|
||||
visible_message("<span class='notice'>[src] swells up!</span>")
|
||||
|
||||
// Animation
|
||||
icon = 'icons/mob/animal.dmi'
|
||||
flick("carp_swell", src)
|
||||
// Wait for animation to end
|
||||
sleep(6)
|
||||
// Make space carp
|
||||
var/mob/living/simple_animal/hostile/carp/C = new /mob/living/simple_animal/hostile/carp(get_turf(src))
|
||||
// Make carp non-hostile to user, yes this means
|
||||
C.faction |= "\ref[owner]"
|
||||
qdel(src)
|
||||
@@ -1189,14 +1189,15 @@ obj/item/toy/cards/deck/syndicate/black
|
||||
desc = "An adorable stuffed toy that resembles a space carp."
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "carpplushie"
|
||||
attack_verb = list("bit", "ate", "fin slapped")
|
||||
attack_verb = list("bitten", "eaten", "fin slapped")
|
||||
var/bitesound = 'sound/weapons/bite.ogg'
|
||||
w_class = 2.0
|
||||
|
||||
/obj/item/toy/carpplushie/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
||||
// Attack mob
|
||||
/obj/item/toy/carpplushie/attack(mob/M as mob, mob/user as mob)
|
||||
playsound(loc, bitesound, 20, 1) // Play bite sound in local area
|
||||
return ..()
|
||||
|
||||
// Attack self
|
||||
/obj/item/toy/carpplushie/attack_self(mob/user as mob)
|
||||
playsound(src.loc, bitesound, 20, 1)
|
||||
return ..()
|
||||
|
||||
@@ -177,6 +177,15 @@
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
//Syndie variant of Secure Briefcase. Contains space cash, slightly more robust.
|
||||
/obj/item/weapon/storage/secure/briefcase/syndie
|
||||
force = 15.0
|
||||
|
||||
/obj/item/weapon/storage/secure/briefcase/syndie/New()
|
||||
for(var/i = 0, i < storage_slots - 2, i++)
|
||||
new /obj/item/weapon/spacecash/c1000(src)
|
||||
return ..()
|
||||
|
||||
// -----------------------------
|
||||
// Secure Safe
|
||||
// -----------------------------
|
||||
|
||||
@@ -138,6 +138,17 @@
|
||||
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/hardsuit
|
||||
name = "Boxed Blood Red Suit and Helmet"
|
||||
can_hold = list(/obj/item/clothing/suit/space/rig/syndi, /obj/item/clothing/head/helmet/space/rig/syndi)
|
||||
max_w_class = 3
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/hardsuit/New()
|
||||
..()
|
||||
new /obj/item/clothing/suit/space/rig/syndi(src)
|
||||
new /obj/item/clothing/head/helmet/space/rig/syndi(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/conversion
|
||||
name = "box (CK)"
|
||||
|
||||
|
||||
@@ -42,6 +42,9 @@
|
||||
prev_gender = gender // Debug for plural genders
|
||||
make_blood()
|
||||
|
||||
var/mob/M = src
|
||||
faction |= "\ref[M]"
|
||||
|
||||
// Set up DNA.
|
||||
if(!delay_ready_dna)
|
||||
dna.ready_dna(src)
|
||||
|
||||
@@ -268,6 +268,10 @@ datum
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O
|
||||
if(!cube.wrapped)
|
||||
cube.Expand()
|
||||
// Dehydrated carp
|
||||
if(istype(O,/obj/item/toy/carpplushie/dehy_carp))
|
||||
var/obj/item/toy/carpplushie/dehy_carp/dehy = O
|
||||
dehy.Swell() // Makes a carp
|
||||
return
|
||||
|
||||
hellwater
|
||||
|
||||
Reference in New Issue
Block a user