Files
2016-03-06 20:52:14 +01:00

339 lines
10 KiB
Plaintext

datum/special_respawn
// var/list/dead = list()
var/mob/dead/observer/target
proc/find_player(var/type = "an unknown")
var/list/eligible = dead_player_list()
if (!eligible.len)
return 0
target = pick(eligible)
if(target)
target.respawning = 1
// boutput(target, text("You have been picked to come back into play as [type], enter your new body now."))
return target
else
return 0
proc/spawn_syndies(var/number = 3)
var/r_number = 0
var/B = pick(syndicatestart)
if(!B) return
for(var/c = 0, c < number, c++)
var/player = find_player("a syndicate agent")
if(player)
var/check = spawn_character_human("[syndicate_name()] Operative #[c+1]",player,B,"syndie")
if(!check)
break
r_number ++
spawn(50)
if(player && !player:client)
qdel(player)
for (var/obj/landmark/A in world)
if (A.name == "Syndicate-Gear-Closet")
new /obj/storage/closet/syndicate/personal(A.loc)
qdel(A)
continue
if (A.name == "Syndicate-Bomb")
new /obj/item/ammo/bullets/a357(A.loc)
qdel(A)
continue
if (A.name == "Nuclear-Closet")
new /obj/storage/closet/syndicate/nuclear(A.loc)
qdel(A)
continue
if (A.name == "Breaching-Charges")
new /obj/item/breaching_charge/thermite(A.loc)
new /obj/item/breaching_charge/thermite(A.loc)
new /obj/item/breaching_charge/thermite(A.loc)
new /obj/item/breaching_charge/thermite(A.loc)
new /obj/item/breaching_charge/thermite(A.loc)
qdel(A)
continue
message_admins("[r_number] syndicate agents spawned at Syndicate Station.")
return
proc/spawn_normal(var/number = 3)
var/r_number = 0
for(var/c = 0, c < number, c++)
var/mob/player = find_player("a person")
if(player)
var/mob/living/carbon/human/normal/male/M = new/mob/living/carbon/human/normal/male(pick(latejoin))
if(!player.mind)
player.mind = new (player)
player.mind.transfer_to(M)
//M.ckey = player:ckey
r_number ++
spawn(50)
if(player && !player:client)
qdel(player)
message_admins("[r_number] players spawned.")
proc/spawn_custom(var/blType, var/number = 3)
var/r_number = 0
for(var/c = 0, c < number, c++)
var/mob/player = find_player("a person")
if(player)
var/mob/M = new blType(pick(latejoin))
if(!player.mind)
player.mind = new (player)
player.mind.transfer_to(M)
//M.ckey = player:ckey
r_number++
spawn(rand(1,10))
M.set_clothing_icon_dirty()
spawn(50)
if(player && !player:client)
qdel(player)
message_admins("[r_number] players spawned.")
/*
proc/spawn_commandos(var/number = 3)
var/r_number = 0
var/obj/landmark/B
for (var/obj/landmark/A in world)
if (A.name == "SR commando")
B = A
for(var/c = 0, c < number, c++)
var/player = find_player("a commando")
if(player)
var/check = spawn_character_human("Central Command Officer #[c+1]",player,B,"commando")
if(!check)
break
r_number ++
spawn(50)
if(player && !player:client)
qdel(player)
message_admins("[r_number] officers spawned.")
return
proc/spawn_aliens(var/number = 1,var/location = null)
if(!location)
return 0
for(var/c = 0, c < number, c++)
var/player = find_player("an alien")
if(player)
var/check = spawn_character_alien(player,location)
if(!check)
break
spawn(50)
if(player && !player:client)
qdel(player)
return 1
return 0
proc/spawn_turds(var/number = 5)
boutput(src, "The TURDS ship is gone, so no.")
return//No the ship is gone
var/r_number = 0
var/obj/landmark/B
var/commander = 0
for (var/obj/landmark/A in world)
if (A.name == "SR Turds-Spawn")
B = A
if(!B) return
for(var/c = 0, c < number, c++)
var/player = find_player("a T.U.R.D.S. Commando")
if(player)
var/check = 0
if(!commander)
check = spawn_character_human("T.U.R.D.S. Commander",player,B,"T.U.R.D.S.")
commander = 1
else
check = spawn_character_human("T.U.R.D.S. Commando #[c+1]",player,B,"T.U.R.D.S.")
if(!check)
break
r_number ++
spawn(50)
if(player && !player:client)
qdel(player)
message_admins("[r_number] T.U.R.D.S. Commandos spawned.")
return
proc/spawn_smilingman(var/number = 1)
var/list/landlist = new/list()
var/obj/landmark/B
for (var/obj/landmark/A in world)
if (A.name == "SR Welder")
landlist.Add(A)
B = pick(landlist)
if(!B) return
var/player = input(usr,"Who?","Spawn Smiling Man",) as mob in world
if(player)
var/check = 0
check = spawn_character_human("The Smiling Man",player,B,"Smiling Man")
if(!check)
return
spawn(50)
if(player && !player:client)
qdel(player)
message_admins("A Smiling Man has spawned.")
*/
proc/spawn_character_human(var/rname = "Unknown", var/mob/player = null, var/obj/spawn_landmark = null,var/equip = "none")
if(!player||!spawn_landmark)
return 0
var/mob/living/carbon/human/mob
if(rname == "The Smiling Man")
mob = new /mob/living/carbon/human(spawn_landmark.loc)
mob.equip_if_possible(new /obj/item/device/radio/headset(mob), mob.slot_ears)
mob.equip_if_possible(new /obj/item/clothing/under/suit/pinstripe(mob), mob.slot_w_uniform)
mob.equip_if_possible(new /obj/item/clothing/shoes/black(mob), mob.slot_shoes)
var/obj/item/clothing/gloves/latex/gloves = new /obj/item/clothing/gloves/latex
gloves.name = "Kidskin Gloves"
mob.equip_if_possible(gloves, mob.slot_gloves)
mob.equip_if_possible(new /obj/item/clothing/mask/smile(mob), mob.slot_wear_mask)
mob.equip_if_possible(new /obj/item/dagger/smile(mob), mob.slot_r_hand)
for (var/obj/item/O in mob.contents)
O.cant_other_remove = 1
O.cant_self_remove = 1
mob.nodamage = 1
mob.bioHolder.AddEffect("xray")
mob.verbs += /client/proc/smnoclip
mob.bioHolder.AddEffect("accent_smiling")
else
mob = new /mob/living/carbon/human(spawn_landmark)
mob.real_name = rname
if(!player.mind)
player.mind = new (player)
player.mind.transfer_to(mob)
/*
mob.mind = new
mob.mind.key = player.key
mob.mind.current = player
//mob.key = player.key
^*/
mob.mind.special_role = equip
spawn(5)
if (mob)
eq_mob(equip,mob)
mob.set_clothing_icon_dirty()
return 1
/*
proc/spawn_character_alien(var/mob/player = null, var/spawn_landmark = null)
if(!player)
return 0
var/mob/living/carbon/alien/larva/mob = new /mob/living/carbon/alien/larva(spawn_landmark)
player.client.mob = mob
mob.mind = new
// drsingh attempted fix for Cannot read null.key
if (player != null) mob.mind.key = player.key
mob.mind.current = player
mob.key = mob.mind.key
mob.mind.special_role = "alien"
return 1
*/
/*
Note:
Wouldn't client.mob not be easier for this?
EndNote
mob.mind = new
mob.mind.key = player.key
mob.mind.current = player
mob.key = player.key
return 1
*/
proc/eq_mob(var/type, var/mob/living/carbon/human/user)
if(!type) return
switch(type)
if("syndie")
equip_syndicate(user)
return
if("commando")
user.equip_if_possible(new /obj/item/clothing/under/color/red(src), user.slot_w_uniform)
user.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), user.slot_wear_suit)
user.equip_if_possible(new /obj/item/clothing/head/helmet(src), user.slot_head)
user.equip_if_possible(new /obj/item/clothing/shoes/brown(src), user.slot_shoes)
user.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), user.slot_glasses)
user.equip_if_possible(new /obj/item/handcuffs(src), user.slot_in_backpack)
user.equip_if_possible(new /obj/item/handcuffs(src), user.slot_in_backpack)
user.equip_if_possible(new /obj/item/baton(src), user.slot_belt)
user.equip_if_possible(new /obj/item/device/flash(src), user.slot_l_store)
user.equip_if_possible(new /obj/item/device/radio/headset/security(src), user.slot_ears)
//var/obj/item/implant/sec/S = new /obj/item/implant/sec(user)
//S.implanted = 1
//S.implanted(user)
//S.owner = user
//user.implant.Add(S)
if ("T.U.R.D.S.")
var/obj/item/device/radio/R = new /obj/item/device/radio/headset/security(user)
user.equip_if_possible(R, user.slot_ears)
user.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(user), user.slot_glasses)
user.equip_if_possible(new /obj/item/clothing/gloves/black(user), user.slot_gloves)
user.equip_if_possible(new /obj/item/clothing/head/helmet/turd(user), user.slot_head)
user.equip_if_possible(new /obj/item/clothing/shoes/swat(user), user.slot_shoes)
user.equip_if_possible(new /obj/item/clothing/suit/armor/turd(user), user.slot_wear_suit)
user.equip_if_possible(new /obj/item/clothing/under/misc/turds(user), user.slot_w_uniform)
user.equip_if_possible(new /obj/item/storage/backpack(user), user.slot_back)
// user.equip_if_possible(new /obj/item/gun/fiveseven(user), user.slot_in_backpack)
// user.equip_if_possible(new /obj/item/gun/shotgun(user), user.slot_r_hand)
// user.equip_if_possible(new /obj/item/gun/mp5(user), user.slot_l_hand)
// user.equip_if_possible(new /obj/item/ammo/a57(user), user.slot_in_backpack)
//var/obj/item/implant/sec/S = new /obj/item/implant/sec(user)
//S.implanted = 1
//S.implanted(user)
//S.owner = src
//user.implant.Add(S)
else
return
/proc/bust_lights()
for(var/obj/machinery/power/apc/apc in machines)
if(prob(60))
apc.overload_lighting(1)
return
/proc/creepify_station()
for(var/turf/simulated/floor/F in world)
if (was_eaten)
F.icon_state = "bloodfloor_2"
F.name = "fleshy floor"
else
F.icon_state = pick("platingdmg1","platingdmg2","platingdmg3")
for(var/turf/simulated/wall/W in world)
if (was_eaten)
W.icon = 'icons/misc/meatland.dmi'
W.icon_state = "bloodwall_2"
W.name = "meaty wall"
else
if(!istype(W, /turf/simulated/wall/r_wall) && !istype(W, /turf/simulated/wall/auto/reinforced))
W.icon_state = "r_wall-4"
return