mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-03 05:52:17 +00:00
Adds a borg upgrade that increases their speed. Requires gold.
Decreases the number of secret rooms to 3, changes secret room artifacts to be based off weight, adds more potential secrets. Adds a new type of facehugger that is more aggressive. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3438 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -417,6 +417,43 @@
|
||||
/obj/structure/closet/syndicate/resources/New()
|
||||
..()
|
||||
|
||||
var/list/resources_common = list(
|
||||
|
||||
/obj/item/stack/sheet/metal,
|
||||
/obj/item/stack/sheet/glass,
|
||||
/obj/item/stack/sheet/plasteel,
|
||||
/obj/item/stack/rods
|
||||
)
|
||||
|
||||
var/list/resources_rare = list(
|
||||
|
||||
/obj/item/stack/sheet/gold,
|
||||
/obj/item/stack/sheet/silver,
|
||||
/obj/item/stack/sheet/plasma,
|
||||
/obj/item/stack/sheet/uranium,
|
||||
/obj/item/stack/sheet/diamond
|
||||
|
||||
)
|
||||
|
||||
sleep(2)
|
||||
|
||||
for(var/i = 0, i<2, i++)
|
||||
for(var/res in resources_common)
|
||||
var/obj/item/stack/R = new res(src)
|
||||
R.amount = rand(40,R.max_amount)
|
||||
|
||||
for(var/res in resources_rare)
|
||||
var/obj/item/stack/R = new res(src)
|
||||
R.amount = rand(10,25)
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/closet/syndicate/resources/everything
|
||||
desc = "It's an emergancy storage closet for repairs."
|
||||
|
||||
/obj/structure/closet/syndicate/resources/everything/New()
|
||||
|
||||
|
||||
var/list/resources = list(
|
||||
|
||||
/obj/item/stack/sheet/metal,
|
||||
@@ -426,29 +463,9 @@
|
||||
/obj/item/stack/sheet/plasma,
|
||||
/obj/item/stack/sheet/uranium,
|
||||
/obj/item/stack/sheet/diamond,
|
||||
///obj/item/stack/sheet/clown,
|
||||
/obj/item/stack/sheet/clown,
|
||||
/obj/item/stack/sheet/plasteel,
|
||||
/obj/item/stack/rods
|
||||
)
|
||||
|
||||
sleep(2)
|
||||
|
||||
for(var/i = 0, i<2, i++)
|
||||
for(var/res in resources)
|
||||
var/obj/item/stack/R = new res(src)
|
||||
R.amount = R.max_amount
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/closet/syndicate/resources/everything
|
||||
desc = "It's an emergancy storage closet for repairs."
|
||||
|
||||
/obj/structure/closet/syndicate/resources/everything/New()
|
||||
..()
|
||||
|
||||
var/list/resources = list(
|
||||
|
||||
/obj/item/stack/sheet/clown
|
||||
|
||||
)
|
||||
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
var/global/list/space_surprises = list( // /obj/item/clothing/mask/facehugger, // Just until we finally fix xeno procs
|
||||
/obj/effect/critter/spesscarp,
|
||||
// /obj/effect/critter/spesscarp/elite,
|
||||
// /obj/creature,
|
||||
// /obj/item/weapon/rcd,
|
||||
// /obj/item/weapon/rcd_ammo,
|
||||
// /obj/item/weapon/spacecash,
|
||||
// /obj/item/weapon/cloaking_device, // BECAUSE KOR AND PETE ARE FUCKING SCRUBS
|
||||
// /obj/item/weapon/gun/energy/teleport_gun,
|
||||
// /obj/item/weapon/rubber_chicken,
|
||||
/obj/item/weapon/melee/energy/sword/pirate,
|
||||
/obj/structure/closet/syndicate/resources,
|
||||
// /obj/machinery/wish_granter
|
||||
// /obj/item/toy/blink //ALL OF THIS SHIT IS RETARDED, HERE IS SOMETHING APPROPRIATE
|
||||
// /obj/item/toy/ammo/crossbow // HOW THE FUCK IS THAT APPROPRIATE?
|
||||
var/global/list/space_surprises = list( /obj/item/clothing/mask/facehugger/angry =4,
|
||||
// /obj/effect/critter/spesscarp =2,
|
||||
/obj/effect/critter/spesscarp/elite =2,
|
||||
// /obj/creature =0,
|
||||
// /obj/item/weapon/rcd =0,
|
||||
// /obj/item/weapon/rcd_ammo =0,
|
||||
// /obj/item/weapon/spacecash =0,
|
||||
/obj/item/weapon/cloaking_device =1,
|
||||
// /obj/item/weapon/gun/energy/teleport_gun =0,
|
||||
// /obj/item/weapon/rubber_chicken =0,
|
||||
/obj/item/weapon/melee/energy/sword/pirate =3,
|
||||
/obj/structure/closet/syndicate/resources =2,
|
||||
/obj/machinery/wish_granter =1,
|
||||
/obj/item/clothing/glasses/thermal =2,
|
||||
/obj/item/weapon/storage/box/stealth/ =2
|
||||
|
||||
) // Man this list is looking a little bare.
|
||||
|
||||
)
|
||||
|
||||
var/global/list/spawned_surprises = list()
|
||||
|
||||
@@ -80,6 +81,9 @@ var/global/list/spawned_surprises = list()
|
||||
if (!(user.mutations & TK))
|
||||
user.mutations |= TK
|
||||
|
||||
if(!(user.mutations & HEAL))
|
||||
user.mutations |= HEAL
|
||||
|
||||
ticker.mode.traitors += user.mind
|
||||
user.mind.special_role = "Avatar of the Wish Granter"
|
||||
|
||||
@@ -94,5 +98,16 @@ var/global/list/spawned_surprises = list()
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/stealth/
|
||||
name = "Infiltration Gear"
|
||||
desc = "An old box full of old equipment. It doesn't look like it was ever opened."
|
||||
|
||||
|
||||
/obj/item/weapon/storage/box/stealth/New()
|
||||
..()
|
||||
|
||||
new /obj/item/clothing/under/chameleon(src)
|
||||
new /obj/item/clothing/mask/gas/voice(src)
|
||||
new /obj/item/weapon/card/id/syndicate(src)
|
||||
new /obj/item/clothing/shoes/syndigaloshes(src)
|
||||
return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var/global/max_secret_rooms = 6
|
||||
var/global/max_secret_rooms = 3
|
||||
|
||||
|
||||
|
||||
@@ -233,7 +233,7 @@ proc/make_mining_asteroid_secret(var/size = 5)
|
||||
var/surprise = null
|
||||
valid = 0
|
||||
while(!valid)
|
||||
surprise = pick(space_surprises)
|
||||
surprise = pickweight(space_surprises)
|
||||
if(surprise in spawned_surprises)
|
||||
if(prob(20))
|
||||
valid++
|
||||
|
||||
@@ -113,7 +113,9 @@
|
||||
|
||||
"Cyborg Upgrade Modules" = list(
|
||||
/obj/item/borg/upgrade/reset,
|
||||
/obj/item/borg/upgrade/restart
|
||||
/obj/item/borg/upgrade/restart,
|
||||
/obj/item/borg/upgrade/vtec
|
||||
///obj/item/borg/upgrade/tasercooler
|
||||
///obj/item/borg/upgrade/flashproof
|
||||
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@ var/const
|
||||
|
||||
var/strength = 5
|
||||
|
||||
var/attached = 0
|
||||
|
||||
attack_paw(user as mob) //can be picked up by aliens
|
||||
if(isalien(user))
|
||||
attack_hand(user)
|
||||
@@ -87,6 +89,13 @@ var/const
|
||||
if(!isliving(M) || isalien(M))
|
||||
return
|
||||
|
||||
if(attached)
|
||||
return
|
||||
else
|
||||
attached++
|
||||
spawn(MAX_IMPREGNATION_TIME)
|
||||
attached = 0
|
||||
|
||||
var/mob/living/L = M //just so I don't need to use :
|
||||
|
||||
if(stat != CONSCIOUS)
|
||||
@@ -218,4 +227,43 @@ var/const
|
||||
if(image.icon_state == "facehugger_active" && image.loc == src)
|
||||
del(image)
|
||||
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/clothing/mask/facehugger/angry
|
||||
stat = CONSCIOUS
|
||||
|
||||
/obj/item/clothing/mask/facehugger/angry/HasProximity(atom/movable/AM as mob|obj)
|
||||
if(istype(AM , /mob/living/))
|
||||
Attach(AM)
|
||||
|
||||
|
||||
/*
|
||||
/obj/item/clothing/mask/facehugger/angry/New()
|
||||
processing_objects.Add(src)
|
||||
|
||||
/obj/item/clothing/mask/facehugger/angry/process()
|
||||
if(!src || src.stat == (DEAD))
|
||||
return
|
||||
|
||||
for(var/mob/living/carbon/C in range(1,src))
|
||||
Attach(C)
|
||||
return
|
||||
|
||||
for(var/mob/living/carbon/C in range(5,src))
|
||||
if(isInSight(C,src))
|
||||
step_to(src,C,0)
|
||||
spawn(5)
|
||||
if(C in range(1,src))
|
||||
Attach(C)
|
||||
return
|
||||
|
||||
step_rand(src)
|
||||
|
||||
return
|
||||
|
||||
/obj/item/clothing/mask/facehugger/angry/Attach(var/mob/M as mob)
|
||||
|
||||
..(M)
|
||||
processing_objects.Remove(src)
|
||||
|
||||
*/
|
||||
@@ -498,10 +498,12 @@
|
||||
else if(U.locked)
|
||||
usr << "The upgrade is locked and cannot be used yet!"
|
||||
else
|
||||
usr << "You apply the upgrade to [src]!"
|
||||
usr.drop_item()
|
||||
U.loc = src
|
||||
U.action(src)
|
||||
if(U.action(src))
|
||||
usr << "You apply the upgrade to [src]!"
|
||||
usr.drop_item()
|
||||
U.loc = src
|
||||
else
|
||||
usr << "Upgrade error!"
|
||||
|
||||
|
||||
else
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
var/construction_cost = list("metal"=10000)
|
||||
var/locked = 0
|
||||
var/require_module = 0
|
||||
var/installed = 0
|
||||
|
||||
/obj/item/borg/upgrade/proc/action()
|
||||
return
|
||||
@@ -31,7 +32,8 @@
|
||||
R.name = R.real_name
|
||||
R.nopush = 0
|
||||
R.updateicon()
|
||||
return
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -49,6 +51,7 @@
|
||||
if(R.module)
|
||||
R.module += src
|
||||
|
||||
return 1
|
||||
|
||||
/obj/item/borg/upgrade/restart/
|
||||
name = "Borg emergancy restart module"
|
||||
@@ -62,4 +65,45 @@
|
||||
if(ghost.corpse == R && ghost.client)
|
||||
ghost.client.mob = ghost.corpse
|
||||
|
||||
R.stat = 0
|
||||
R.stat = 0
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/borg/upgrade/vtec/
|
||||
name = "Borg VTEC Module"
|
||||
desc = "Used to kick in a borgs VTEC systems, increasing their speed."
|
||||
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000)
|
||||
require_module = 1
|
||||
|
||||
/obj/item/borg/upgrade/vtec/action(var/mob/living/silicon/robot/R)
|
||||
if(R.speed == -1)
|
||||
return 0
|
||||
|
||||
R.speed--
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/borg/upgrade/tasercooler/
|
||||
name = "Borg Rapid Taser Cooling Module"
|
||||
desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate.."
|
||||
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500)
|
||||
require_module = 1
|
||||
|
||||
|
||||
/obj/item/borg/upgrade/tasercooler/action(var/mob/living/silicon/robot/R)
|
||||
if(R.module != /obj/item/weapon/robot_module/security)
|
||||
R << "Upgrade mounting error! No suitable hardpoint detected!"
|
||||
return 0
|
||||
|
||||
var/obj/item/weapon/gun/energy/taser/cyborg/T = locate() in R
|
||||
if(!T)
|
||||
return 0
|
||||
|
||||
if(T.recharge_time <= 2)
|
||||
R << "Maximum cooling achieved for this hardpoint!"
|
||||
return 0
|
||||
|
||||
else
|
||||
T.recharge_time = min(2 , T.recharge_time - 4)
|
||||
|
||||
return 1
|
||||
Reference in New Issue
Block a user