mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
Nuke-Ops-Final
This commit is contained in:
@@ -15,6 +15,8 @@ var/list/uplink_items = list()
|
||||
continue
|
||||
if(I.gamemodes.len && ticker && !(ticker.mode.name in I.gamemodes))
|
||||
continue
|
||||
if(I.excludefrom.len && ticker && (ticker.mode.name in I.excludefrom))
|
||||
continue
|
||||
if(I.last)
|
||||
last += I
|
||||
continue
|
||||
@@ -44,6 +46,7 @@ var/list/uplink_items = list()
|
||||
var/last = 0 // Appear last
|
||||
var/abstract = 0
|
||||
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
|
||||
|
||||
/datum/uplink_item/proc/spawn_item(var/turf/loc, var/obj/item/device/uplink/U)
|
||||
@@ -233,6 +236,7 @@ var/list/uplink_items = list()
|
||||
desc = "A miniature energy crossbow that is small enough both to fit into a pocket and to slip into a backpack unnoticed by observers. Fires bolts tipped with toxin, a poisonous substance that is the product of a living organism. Stuns enemies for a short period of time. Recharges automatically."
|
||||
item = /obj/item/weapon/gun/energy/crossbow
|
||||
cost = 12
|
||||
excludefrom = list("nuclear emergency")
|
||||
|
||||
/datum/uplink_item/dangerous/sword
|
||||
name = "Energy Sword"
|
||||
@@ -345,6 +349,7 @@ var/list/uplink_items = list()
|
||||
desc = "A syringe disguised as a functional pen, filled with a neuromuscular-blocking drug that renders a target mute on injection that will eventually cause them to pass out. The pen holds one dose of paralyzing agent,though it can be refilled."
|
||||
item = /obj/item/weapon/pen/paralysis
|
||||
cost = 8
|
||||
excludefrom = list("nuclear emergency")
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/soap
|
||||
name = "Syndicate Soap"
|
||||
@@ -449,7 +454,7 @@ var/list/uplink_items = list()
|
||||
|
||||
/datum/uplink_item/device_tools/space_suit
|
||||
name = "Space Suit"
|
||||
desc = "The red syndicate space suit is less encumbering than Nanotrasen variants, fits inside bags, and has a weapon slot. Nanotrasen crewmembers are trained to report red space suit sightings."
|
||||
desc = "The red and black syndicate space suit is less encumbering than Nanotrasen variants, fits inside bags, and has a weapon slot. Nanotrasen crewmembers are trained to report red space suit sightings."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/space
|
||||
cost = 5
|
||||
|
||||
@@ -475,7 +480,7 @@ var/list/uplink_items = list()
|
||||
name = "Binary Translator Key"
|
||||
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 = 6
|
||||
cost = 5
|
||||
|
||||
/datum/uplink_item/device_tools/cipherkey
|
||||
name = "Centcomm Encryption Key"
|
||||
@@ -491,7 +496,7 @@ var/list/uplink_items = list()
|
||||
|
||||
/datum/uplink_item/device_tools/plastic_explosives
|
||||
name = "Composition C-4"
|
||||
desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls, attach it to organisms to destroy them, or connect a signaler to its wiring to make it remotely detonable. It has a modifiable timer with a minimum setting of 10 seconds."
|
||||
desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls or connect a signaler to its wiring to make it remotely detonable. It has a modifiable timer with a minimum setting of 10 seconds."
|
||||
item = /obj/item/weapon/plastique
|
||||
cost = 1
|
||||
|
||||
@@ -599,6 +604,7 @@ var/list/uplink_items = list()
|
||||
desc = "Syndicate Bundles are specialised groups of items that arrive in a plain box. These items are collectively worth more than 10 telecrystals, but you do not know which specialisation you will receive."
|
||||
item = /obj/item/weapon/storage/box/syndicate
|
||||
cost = 20
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
/datum/uplink_item/badass/syndiecards
|
||||
name = "Syndicate Playing Cards"
|
||||
@@ -606,6 +612,7 @@ var/list/uplink_items = list()
|
||||
You can also play card games with them."
|
||||
item = /obj/item/toy/cards/deck/syndicate
|
||||
cost = 1
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
/datum/uplink_item/badass/balloon
|
||||
name = "For showing that you are The Boss"
|
||||
|
||||
@@ -128,7 +128,7 @@ proc/issyndicate(mob/living/M as mob)
|
||||
|
||||
for(var/datum/mind/synd_mind in syndicates)
|
||||
if(spawnpos > synd_spawn.len)
|
||||
spawnpos = 1
|
||||
spawnpos = 2
|
||||
synd_mind.current.loc = synd_spawn[spawnpos]
|
||||
|
||||
forge_syndicate_objectives(synd_mind)
|
||||
@@ -162,6 +162,18 @@ proc/issyndicate(mob/living/M as mob)
|
||||
spawn(1)
|
||||
// NukeNameAssign(nukelastname(synd_mind.current),syndicates) //allows time for the rest of the syndies to be chosen
|
||||
synd_mind.current.real_name = "[pick(first_names_male)] [pick(last_names)]"
|
||||
synd_mind.current << "<B>You are the Syndicate leader for this mission. You are responsible for the distribution of telecrystals and your ID is the only one who can open the launch bay doors.</B>"
|
||||
synd_mind.current << "<B>If you feel you are not up to this task, give your ID to another operative.</B>"
|
||||
|
||||
var/list/foundIDs = synd_mind.current.search_contents_for(/obj/item/weapon/card/id)
|
||||
|
||||
if(foundIDs.len)
|
||||
for(var/obj/item/weapon/card/id/ID in foundIDs)
|
||||
ID.name = "lead agent card"
|
||||
ID.access += access_syndicate_leader
|
||||
else
|
||||
message_admins("Warning: Nuke Ops spawned without access to leave their spawn area!")
|
||||
|
||||
if (nuke_code)
|
||||
synd_mind.store_memory("<B>Syndicate Nuclear Bomb Code</B>: [nuke_code]", 0, 0)
|
||||
synd_mind.current << "The nuclear authorization code is: <B>[nuke_code]</B>"
|
||||
@@ -215,13 +227,15 @@ proc/issyndicate(mob/living/M as mob)
|
||||
if(synd_mob.backbag == 2) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(synd_mob), slot_back)
|
||||
if(synd_mob.backbag == 3) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(synd_mob), slot_back)
|
||||
if(synd_mob.backbag == 4) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(synd_mob), slot_back)
|
||||
synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack)
|
||||
synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack)
|
||||
synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack)
|
||||
synd_mob.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(synd_mob), slot_in_backpack)
|
||||
synd_mob.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/pistol(synd_mob), slot_belt)
|
||||
synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(synd_mob.back), slot_in_backpack)
|
||||
|
||||
var/obj/item/device/radio/uplink/U = new /obj/item/device/radio/uplink(synd_mob)
|
||||
U.hidden_uplink.uplink_owner="[synd_mob.key]"
|
||||
U.hidden_uplink.uses = 20
|
||||
synd_mob.equip_to_slot_or_del(U, slot_in_backpack)
|
||||
|
||||
var/obj/item/clothing/suit/space/rig/syndi/new_suit = new(synd_mob)
|
||||
var/obj/item/clothing/head/helmet/space/rig/syndi/new_helmet = new(synd_mob)
|
||||
|
||||
@@ -370,6 +384,9 @@ proc/issyndicate(mob/living/M as mob)
|
||||
|
||||
text += "(Syndicates used [TC_uses] TC) [purchases]"
|
||||
|
||||
if(TC_uses==0 && station_was_nuked && !is_operatives_are_dead())
|
||||
text += "<BIG><IMG CLASS=icon SRC=\ref['icons/BadAss.dmi'] ICONSTATE='badass'></BIG>"
|
||||
|
||||
world << text
|
||||
return 1
|
||||
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
|
||||
//The Syndicate
|
||||
/var/const/access_syndicate = 150//General Syndicate Access
|
||||
/var/const/access_syndicate_leader = 151//Nuke Op Leader Access
|
||||
|
||||
//MONEY
|
||||
/var/const/access_crate_cash = 200
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
wreckage = /obj/effect/decal/mecha_wreckage/gygax
|
||||
internal_damage_threshold = 35
|
||||
max_equip = 3
|
||||
maxsize = 1
|
||||
maxsize = 2
|
||||
force = 10
|
||||
step_energy_drain = 3
|
||||
|
||||
|
||||
@@ -55,6 +55,8 @@
|
||||
|
||||
/obj/item/weapon/plastique/attack_self(mob/user as mob)
|
||||
var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num
|
||||
if(newtime < 10)
|
||||
newtime = 10
|
||||
if(newtime > 60000)
|
||||
newtime = 60000
|
||||
timer = newtime
|
||||
@@ -64,16 +66,9 @@
|
||||
/obj/item/weapon/plastique/afterattack(atom/target as obj|turf, mob/user as mob, flag)
|
||||
if (!flag)
|
||||
return
|
||||
if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/) || istype(target, /obj/machinery/door/airlock/hatch/gamma))
|
||||
if (ismob(target) || istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/) || istype(target, /obj/machinery/door/airlock/hatch/gamma))
|
||||
return
|
||||
user << "Planting explosives..."
|
||||
if(ismob(target))
|
||||
user.attack_log += "\[[time_stamp()]\] <font color='red'> [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])</font>"
|
||||
if(target:ckey)
|
||||
msg_admin_attack("[user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
|
||||
user.visible_message("\red [user.name] is trying to plant some kind of explosive on [target.name]!")
|
||||
|
||||
|
||||
if(do_after(user, 50) && in_range(user, target))
|
||||
user.drop_item()
|
||||
@@ -102,11 +97,12 @@
|
||||
if(!target)
|
||||
target = src
|
||||
if(location)
|
||||
explosion(location, 0, 1, 3, 6)
|
||||
explosion(location, -1, -1, 4, 4)
|
||||
|
||||
if(target)
|
||||
if (istype(target, /turf/simulated/wall))
|
||||
target:dismantle_wall(1)
|
||||
var/turf/simulated/wall/W = target
|
||||
W.dismantle_wall(1)
|
||||
else
|
||||
target.ex_act(1)
|
||||
if (isobj(target))
|
||||
|
||||
@@ -109,12 +109,14 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/space
|
||||
name = "Space Suit and Helmet"
|
||||
name = "Boxed Space Suit and Helmet"
|
||||
can_hold = list(/obj/item/clothing/suit/space/syndicate/black/red, /obj/item/clothing/head/helmet/space/syndicate/black/red)
|
||||
max_w_class = 3
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/space/New()
|
||||
..()
|
||||
new /obj/item/clothing/suit/space/syndicate(src)
|
||||
new /obj/item/clothing/head/helmet/space/syndicate(src)
|
||||
new /obj/item/clothing/suit/space/syndicate/black/red(src)
|
||||
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/surveillance
|
||||
|
||||
@@ -10,44 +10,50 @@
|
||||
desc = "It's a storage unit for operative gear."
|
||||
|
||||
/obj/structure/closet/syndicate/personal/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/clothing/under/syndicate(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/head/helmet/swat(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/weapon/storage/belt/military(src)
|
||||
new /obj/item/weapon/crowbar/red(src)
|
||||
new /obj/item/clothing/glasses/night(src)
|
||||
|
||||
/obj/structure/closet/syndicate/suits
|
||||
desc = "It's a storage unit for operative space gear. Not fancy..."
|
||||
|
||||
/obj/structure/closet/syndicate/suits/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/weapon/tank/jetpack/oxygen(src)
|
||||
new /obj/item/clothing/mask/gas/syndicate(src)
|
||||
new /obj/item/clothing/under/syndicate(src)
|
||||
new /obj/item/clothing/head/helmet/space/rig/syndi(src)
|
||||
new /obj/item/clothing/suit/space/rig/syndi(src)
|
||||
new /obj/item/weapon/crowbar/red(src)
|
||||
new /obj/item/weapon/cell/high(src)
|
||||
new /obj/item/weapon/card/id/syndicate(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/clothing/shoes/magboots(src)
|
||||
|
||||
|
||||
/obj/structure/closet/syndicate/nuclear
|
||||
desc = "It's a storage unit for nuclear-operative gear."
|
||||
desc = "It's a storage unit for a Syndicate boarding party.."
|
||||
|
||||
/obj/structure/closet/syndicate/nuclear/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/ammo_box/magazine/m12mm(src)
|
||||
new /obj/item/ammo_box/magazine/m12mm(src)
|
||||
new /obj/item/weapon/storage/box/handcuffs(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/weapon/storage/box/teargas(src)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/weapon/gun/projectile/automatic/bulldog(src)
|
||||
new /obj/item/weapon/gun/projectile/automatic/bulldog(src)
|
||||
new /obj/item/weapon/gun/projectile/automatic/bulldog(src)
|
||||
new /obj/item/weapon/gun/projectile/automatic/bulldog(src)
|
||||
new /obj/item/weapon/gun/projectile/automatic/bulldog(src)
|
||||
new /obj/item/weapon/pinpointer/nukeop(src)
|
||||
new /obj/item/weapon/pinpointer/nukeop(src)
|
||||
new /obj/item/weapon/pinpointer/nukeop(src)
|
||||
new /obj/item/weapon/pinpointer/nukeop(src)
|
||||
new /obj/item/weapon/pinpointer/nukeop(src)
|
||||
new /obj/item/device/pda/syndicate(src)
|
||||
var/obj/item/device/radio/uplink/U = new(src)
|
||||
U.hidden_uplink.uses = 120
|
||||
return
|
||||
|
||||
/obj/structure/closet/syndicate/resources/
|
||||
|
||||
@@ -76,9 +76,9 @@
|
||||
loose = 80 // allowing for awkward come-ons when he/she drops his/her hat and you get it for him/her.
|
||||
|
||||
/obj/item/clothing/head/syndicatefake
|
||||
name = "red space-helmet replica"
|
||||
icon_state = "syndicate"
|
||||
item_state = "syndicate"
|
||||
name = "black and red space-helmet replica"
|
||||
icon_state = "syndicate-helm-black-red"
|
||||
item_state = "syndicate-helm-black-red"
|
||||
desc = "A plastic replica of a syndicate agent's space helmet, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!"
|
||||
flags = FPRINT | TABLEPASS | BLOCKHAIR
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
||||
|
||||
@@ -112,9 +112,9 @@
|
||||
|
||||
|
||||
/obj/item/clothing/suit/syndicatefake
|
||||
name = "red space suit replica"
|
||||
icon_state = "syndicate"
|
||||
item_state = "space_suit_syndicate"
|
||||
name = "black and red space suit replica"
|
||||
icon_state = "syndicate-black-red"
|
||||
item_state = "syndicate-black-red"
|
||||
desc = "A plastic replica of the syndicate space suit, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!"
|
||||
w_class = 3
|
||||
flags = FPRINT | TABLEPASS
|
||||
|
||||
@@ -1336,6 +1336,8 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
O.process_hud(src)
|
||||
if(!druggy)
|
||||
see_invisible = SEE_INVISIBLE_LIVING
|
||||
if(istype(O,/obj/item/clothing/glasses/hud/security/night) || istype(O,/obj/item/clothing/glasses/hud/health/night))
|
||||
see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
else if(!seer)
|
||||
see_in_dark = species.darksight
|
||||
see_invisible = SEE_INVISIBLE_LIVING
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 546 B |
Reference in New Issue
Block a user