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:
VivianFoxfoot@gmail.com
2012-04-12 02:17:13 +00:00
parent b4e4d36e8d
commit 018fc28b84
7 changed files with 175 additions and 47 deletions

View File

@@ -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
)

View File

@@ -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

View File

@@ -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++

View File

@@ -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

View File

@@ -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)
*/

View File

@@ -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

View File

@@ -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