Skip to content

Commit

Permalink
Add traitor items and uplink stuff modpack (#1468)
Browse files Browse the repository at this point in the history
  • Loading branch information
LordNest authored Nov 18, 2023
1 parent e73dfcd commit 3fa04fb
Show file tree
Hide file tree
Showing 13 changed files with 228 additions and 64 deletions.
1 change: 1 addition & 0 deletions maps/sierra/sierra.dm
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@
// USED MODS
// Keep them in ascending alphabetical order, please

#include "../../mods/_antagonists/_antagonists.dme"
#include "../../mods/_maps/liberia/_map_liberia.dme"
#include "../../mods/_maps/sentinel/_map_sentinel.dme"
#include "../../mods/_maps/farfleet/_map_farfleet.dme"
Expand Down
61 changes: 0 additions & 61 deletions maps/sierra/structures/closets/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,64 +60,3 @@
/obj/structure/closet/crate/present
name = "present crate"
desc = "Wow, a present!"

///Ninja equipment loadouts. Placed here because author overrided them using Torch files. Now we overriding this again for some QoL stuff.
/obj/structure/closet/crate/ninja/sol
name = "sol equipment crate"
desc = "A tactical equipment crate."

/obj/structure/closet/crate/ninja/sol/WillContain()
return list(
/obj/item/rig/light/ninja/sol,
/obj/item/gun/projectile/pistol/m22f,
/obj/item/ammo_magazine/pistol/double = 2,
/obj/item/clothing/under/scga/utility/urban,
/obj/item/clothing/shoes/swat,
/obj/item/clothing/accessory/scga_rank/e6
)

/obj/structure/closet/crate/ninja/gcc
name = "gcc equipment crate"
desc = "A heavy equipment crate."

/obj/structure/closet/crate/ninja/gcc/WillContain()
return list(
/obj/item/rig/light/ninja/gcc,
/obj/item/gun/projectile/pistol/optimus,
/obj/item/ammo_magazine/pistol/double = 2,
/obj/item/ammo_magazine/box/minigun = 2,
/obj/item/clothing/under/iccgn/utility,
/obj/item/clothing/shoes/iccgn/utility,
/obj/item/clothing/accessory/iccgn_rank/or6
)

/obj/structure/closet/crate/ninja/corpo
name = "corporate equipment crate"
desc = "A patented equipment crate."

/obj/structure/closet/crate/ninja/corpo/WillContain()
return list(
/obj/item/rig/light/ninja/corpo,
/obj/item/gun/energy/gun,
/obj/item/inducer,
/obj/item/clothing/under/rank/security/corp,
/obj/item/clothing/shoes/swat,
/obj/item/clothing/accessory/badge/holo
)

/obj/structure/closet/crate/ninja/merc
name = "mercenary equipment crate"
desc = "A traitorous equipment crate."

/obj/structure/closet/crate/ninja/merc/WillContain()
return list(
/obj/item/rig/merc/ninja,
/obj/item/gun/projectile/revolver/medium,
/obj/item/ammo_magazine/speedloader = 2,
/obj/item/clothing/under/syndicate/combat,
/obj/item/clothing/shoes/swat,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/storage/backpack/dufflebag/syndie_kit/plastique,
/obj/item/storage/box/anti_photons,
/obj/item/card/emag
)
4 changes: 4 additions & 0 deletions mods/_antagonists/_antagonists.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/singleton/modpack/antagonists
name = "SierraBay Antag tweaks"
desc = "Общие изменения антагонистов, которые используются в форке SierraBay."
author = "LordNest"
12 changes: 12 additions & 0 deletions mods/_antagonists/_antagonists.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#ifndef MODPACK_ANTAGONISTS
#define MODPACK_ANTAGONISTS

#include "_antagonists.dm"


#include "code/revolutionary.dm"
#include "code/operative.dm"
#include "code/traitor.dm"
#include "code/teleportation.dm"

#endif
64 changes: 64 additions & 0 deletions mods/_antagonists/code/operative.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
///Ninja equipment loadouts. Placed here because author overrided them using Torch files. Now we overriding this again for some QoL stuff.
/obj/structure/closet/crate/ninja/sol
name = "sol equipment crate"
desc = "A tactical equipment crate."

/obj/structure/closet/crate/ninja/sol/WillContain()
return list(
/obj/item/rig/light/ninja/sol,
/obj/item/gun/projectile/pistol/m22f,
/obj/item/ammo_magazine/pistol/double = 2,
/obj/item/clothing/under/scga/utility/urban,
/obj/item/clothing/shoes/swat,
/obj/item/clothing/accessory/scga_rank/e6,
/obj/item/device/encryptionkey/away_scg_patrol
)

/obj/structure/closet/crate/ninja/gcc
name = "gcc equipment crate"
desc = "A heavy equipment crate."

/obj/structure/closet/crate/ninja/gcc/WillContain()
return list(
/obj/item/rig/light/ninja/gcc,
/obj/item/gun/projectile/pistol/optimus,
/obj/item/ammo_magazine/pistol/double = 2,
/obj/item/ammo_magazine/box/minigun = 2,
/obj/item/clothing/under/iccgn/utility,
/obj/item/clothing/shoes/iccgn/utility,
/obj/item/clothing/accessory/iccgn_rank/or6,
/obj/item/device/encryptionkey/iccgn
)

/obj/structure/closet/crate/ninja/corpo
name = "corporate equipment crate"
desc = "A patented equipment crate."

/obj/structure/closet/crate/ninja/corpo/WillContain()
return list(
/obj/item/rig/light/ninja/corpo,
/obj/item/gun/energy/gun,
/obj/item/inducer,
/obj/item/clothing/under/rank/security/corp,
/obj/item/clothing/shoes/swat,
/obj/item/clothing/accessory/badge/holo,
/obj/item/storage/box/syndie_kit/jaunter
)

/obj/structure/closet/crate/ninja/merc
name = "mercenary equipment crate"
desc = "A traitorous equipment crate."

/obj/structure/closet/crate/ninja/merc/WillContain()
return list(
/obj/item/rig/merc/ninja,
/obj/item/gun/projectile/revolver/medium,
/obj/item/ammo_magazine/speedloader = 2,
/obj/item/clothing/under/syndicate/combat,
/obj/item/clothing/shoes/swat,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/storage/backpack/dufflebag/syndie_kit/plastique,
/obj/item/storage/box/anti_photons,
/obj/item/device/encryptionkey/syndicate,
/obj/item/card/emag
)
File renamed without changes.
15 changes: 15 additions & 0 deletions mods/_antagonists/code/teleportation.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/proc/animated_teleportation(atom/movable/target, atom/anchor)
if(ismob(target))
to_chat(target, SPAN_WARNING("You feel like something pulling you in bluespace."))
var/obj/temporary/A = new(get_turf(target), 24.5, 'mods/_antagonists/icons/effects/bs_silk.dmi', "silc_teleport_back")
target.set_dir(2)
target.forceMove(A)
addtimer(new Callback(GLOBAL_PROC, .proc/animated_teleportation_ending, target, anchor), 23)

/proc/animated_teleportation_ending(atom/movable/target, atom/anchor)
target.set_dir(2)
target.forceMove(new /obj/temporary(get_turf(anchor), 26.5, 'mods/_antagonists/icons/effects/bs_silk.dmi', "silc_get_hub"))
addtimer(new Callback(GLOBAL_PROC, .proc/finalize_animated_teleportation, target, anchor), 24)

/proc/finalize_animated_teleportation(atom/movable/target, atom/anchor)
target.dropInto(get_turf(anchor))
132 changes: 132 additions & 0 deletions mods/_antagonists/code/traitor.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
//
// DOOR CHARGE
//

/obj/item/door_charge
name = "door charge"
desc = "This is a booby trap, planted on doors. When door opens, it will explode!."
gender = PLURAL
icon = 'mods/_antagonists/icons/obj/door_charge.dmi'
icon_state = "door_charge"
item_state = "door_charge"
item_flags = ITEM_FLAG_NO_BLUDGEON
w_class = ITEM_SIZE_SMALL
origin_tech = list(TECH_ESOTERIC = 4)
var/ready = 0

/obj/item/door_charge/afterattack(atom/movable/target, mob/user, flag)
if (!flag)
return
if (ismob(target) || !istype(target, /obj/machinery/door/airlock))
return
to_chat(user, "Planting explosives...")
user.do_attack_animation(target)

if(do_after(user, 50, target) && in_range(user, target))
if(!user.unequip_item())
return
forceMove(target)

log_and_message_admins("planted \a [src] on \the [target].")

to_chat(user, "Bomb has been planted.")

GLOB.density_set_event.register(target, src, .proc/explode)


/obj/item/door_charge/proc/explode(obj/machinery/door/airlock/airlock)
if(!airlock.density)
explosion(get_turf(airlock), -1, 1, 2, 3)
airlock.ex_act(1)
qdel(src)

//
// Uplink part
//

/datum/uplink_item/item/tools/door_charge
name = "Door Charge"
desc = "Special explosive, which can be planted on doors and will explode when somebody will open this door."
item_cost = 14
path = /obj/item/door_charge

//
// BLUESPACE JAUNTER
//

/obj/item/device/syndietele
name = "strange sensor"
desc = "Looks like regular powernet sensor, but this one almost black and have spooky red light blinking"
icon = 'mods/_antagonists/icons/obj/syndiejaunter.dmi'
icon_state = "beacon"
item_state = "signaler"
origin_tech = list(TECH_BLUESPACE = 4, TECH_ESOTERIC = 3)

w_class = ITEM_SIZE_SMALL

/obj/item/device/syndiejaunter
name = "strange device"
desc = "This thing looks like remote. Almost black, with red button and status display."
icon = 'mods/_antagonists/icons/obj/syndiejaunter.dmi'
icon_state = "jaunter"
item_state = "jaunter"
w_class = ITEM_SIZE_SMALL
var/obj/item/device/syndietele/beacon
var/usable = 1
var/image/cached_usable

/obj/item/device/syndiejaunter/examine(mob/user, distance)
. = ..()
to_chat(user, SPAN_NOTICE("Display is [usable ? "online and shows number [usable]" : "offline"]."))
/obj/item/device/syndiejaunter/Initialize()
. = ..()
update_icon()

/obj/item/device/syndiejaunter/on_update_icon()
. = ..()
if(usable)
AddOverlays(image(icon, "usable"))
else
ClearOverlays()

/obj/item/device/syndiejaunter/attack_self(mob/user)
if(!istype(beacon) || !usable)
return 0

animated_teleportation(user, beacon)
usable = max(usable - 1, 0)
update_icon()

/obj/item/device/syndiejaunter/afterattack(atom/target, mob/user , proximity)
if(!proximity) return
if(istype(target,/obj/item/device/syndietele))
beacon = target
to_chat(user, "You succesfully linked [src] to [target]!")
else
to_chat(user, "You can't link [src] to [target]!")
update_icon()

//
// Uplink part
//

/obj/item/storage/box/syndie_kit/jaunter
startswith = list(/obj/item/device/syndietele,
/obj/item/device/syndiejaunter)

/datum/uplink_item/item/tools/jaunter
name = "Bluespace Jaunter"
item_cost = 42
path = /obj/item/storage/box/syndie_kit/jaunter
desc = "Disposable one way teleportation device. Use with care. Don't forget to link jaunter to the beacon!"


//
// Psi Amp - Uplink part (Here because turned off by Bay12)
//

/datum/uplink_item/item/visible_weapons/psi_amp
name = "Cerebroenergetic Psionic Amplifier"
item_cost = 50
path = /obj/item/clothing/head/helmet/space/psi_amp/lesser
desc = "A powerful, illegal psi-amp. Boosts latent psi-faculties to extremely high levels."
Binary file added mods/_antagonists/icons/effects/bs_silk.dmi
Binary file not shown.
File renamed without changes.
File renamed without changes.
Binary file removed packs/infinity/icons/effects/bs_silk.dmi
Binary file not shown.
3 changes: 0 additions & 3 deletions packs/sierra-tweaks/_pack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@
// Client
#include "client\spawnpoints.dm"

// Gamemodes
#include "gamemodes\revolutionary.dm"

// Mob
#include "mob\say.dm"
#include "mob\stat.dm"
Expand Down

0 comments on commit 3fa04fb

Please sign in to comment.