-You can now sell plasma sheets for supply points. Conversion rate is 3 plasma sheets for 1 point. The rate is adjustable.

-Permission from Erro to remove the "redeem a mech by colllecting all the toys" feature. Removed the description from the mech toys too.
-Fixed a possible exploit with ghost following to create more than one follow loop.
-Re-added send mob to the player panel.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5377 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
giacomand@gmail.com
2012-12-23 01:01:25 +00:00
parent 210586f529
commit a7d2445693
6 changed files with 49 additions and 43 deletions

View File

@@ -30,56 +30,56 @@
/obj/item/toy/prize/ripley
name = "toy ripley"
desc = "Mini-Mecha action figure! Collect them all! 1/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 1/11."
/obj/item/toy/prize/fireripley
name = "toy firefighting ripley"
desc = "Mini-Mecha action figure! Collect them all! 2/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 2/11."
icon_state = "fireripleytoy"
/obj/item/toy/prize/deathripley
name = "toy deathsquad ripley"
desc = "Mini-Mecha action figure! Collect them all! 3/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 3/11."
icon_state = "deathripleytoy"
/obj/item/toy/prize/gygax
name = "toy gygax"
desc = "Mini-Mecha action figure! Collect them all! 4/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 4/11."
icon_state = "gygaxtoy"
/obj/item/toy/prize/durand
name = "toy durand"
desc = "Mini-Mecha action figure! Collect them all! 5/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 5/11."
icon_state = "durandprize"
/obj/item/toy/prize/honk
name = "toy H.O.N.K."
desc = "Mini-Mecha action figure! Collect them all! 6/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 6/11."
icon_state = "honkprize"
/obj/item/toy/prize/marauder
name = "toy marauder"
desc = "Mini-Mecha action figure! Collect them all! 7/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 7/11."
icon_state = "marauderprize"
/obj/item/toy/prize/seraph
name = "toy seraph"
desc = "Mini-Mecha action figure! Collect them all! 8/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 8/11."
icon_state = "seraphprize"
/obj/item/toy/prize/mauler
name = "toy mauler"
desc = "Mini-Mecha action figure! Collect them all! 9/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 9/11."
icon_state = "maulerprize"
/obj/item/toy/prize/odysseus
name = "toy odysseus"
desc = "Mini-Mecha action figure! Collect them all! 10/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 10/11."
icon_state = "odysseusprize"
/obj/item/toy/prize/phazon
name = "toy phazon"
desc = "Mini-Mecha action figure! Collect them all! 11/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!"
desc = "Mini-Mecha action figure! Collect them all! 11/11."
icon_state = "phazonprize"

View File

@@ -132,7 +132,7 @@ var/list/mechtoys = list(
var/points_per_process = 1
var/points_per_slip = 2
var/points_per_crate = 5
var/mech_redeem = 0
var/plasma_per_point = 3 // 3 plasma for 1 point
//control
var/ordernum
var/list/shoppinglist = list()
@@ -232,15 +232,18 @@ var/list/mechtoys = list(
var/area/shuttle = locate(shuttle_at)
if(!shuttle) return
var/list/mechtoys_found = list()
var/plasma_count = 0
for(var/atom/movable/MA in shuttle)
if(MA.anchored) continue
// Must be in a crate!
if(istype(MA,/obj/structure/closet/crate))
points += points_per_crate
var/find_slip = 1
for(var/atom in MA)
// Sell manifests
var/atom/A = atom
if(find_slip && istype(A,/obj/item/weapon/paper/manifest))
var/obj/item/weapon/paper/slip = A
@@ -248,17 +251,15 @@ var/list/mechtoys = list(
points += points_per_slip
find_slip = 0
continue
if(A.type in mechtoys)
mechtoys_found["[A.type]"]++
// Sell plasma
if(istype(A, /obj/item/stack/sheet/mineral/plasma))
var/obj/item/stack/sheet/mineral/plasma/P = A
plasma_count += P.amount
del(MA)
if(mechtoys && mechtoys.len && mechtoys_found.len >= mechtoys.len)
var/complete_sets = 10
for(var/index in mechtoys_found)
complete_sets = min(complete_sets, mechtoys_found[index])
if(complete_sets)
mech_redeem += complete_sets
if(plasma_count)
points += Floor(plasma_count / plasma_per_point)
//Buyin
proc/buy()
@@ -323,17 +324,6 @@ var/list/mechtoys = list(
slip.info += "</ul><br>"
slip.info += "CHECK CONTENTS AND STAMP BELOW THE LINE TO CONFIRM RECEIPT OF GOODS<hr>"
while(0<mech_redeem)
if(!clear_turfs.len) break
mech_redeem--
var/i = rand(1,clear_turfs.len)
var/turf/pickedloc = clear_turfs[i]
clear_turfs.Cut(i,i+1)
var/obj/mecha/combat/marauder/M = new(pickedloc) //Redeeming the mech toy collection gives you your very own life-sized combat mech!
M.operation_req_access = list()
M.internals_req_access = list()
supply_shuttle.shoppinglist.Cut()
return

View File

@@ -65,7 +65,8 @@ var/global/floorIsLava = 0
body += "<br><br>"
body += "<A href='?src=\ref[src];jumpto=\ref[M]'><b>Jump to</b></A> | "
body += "<A href='?src=\ref[src];getmob=\ref[M]'>Get</A>"
body += "<A href='?src=\ref[src];getmob=\ref[M]'>Get</A> | "
body += "<A href='?src=\ref[src];sendmob=\ref[M]'>Send To</A>"
body += "<br><br>"
body += "<A href='?src=\ref[src];traitor=\ref[M]'>Traitor panel</A> | "

View File

@@ -139,17 +139,19 @@
else
alert("Admin jumping disabled")
/client/proc/sendmob(var/mob/M in sortmobs(), var/area/A in return_sorted_areas())
/client/proc/sendmob(var/mob/M in sortmobs())
set category = "Admin"
set name = "Send Mob"
if(!src.holder)
src << "Only administrators may use this command."
return
if(config.allow_admin_jump)
M.loc = pick(get_area_turfs(A))
feedback_add_details("admin_verb","SMOB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
var/area/A = input(usr, "Pick an area.", "Pick an area") in return_sorted_areas()
if(A)
if(config.allow_admin_jump)
M.loc = pick(get_area_turfs(A))
feedback_add_details("admin_verb","SMOB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] teleported [key_name(M)] to [A]")
message_admins("[key_name_admin(usr)] teleported [key_name_admin(M)] to [A]", 1)
else
alert("Admin jumping disabled")
log_admin("[key_name(usr)] teleported [key_name(M)] to [A]")
message_admins("[key_name_admin(usr)] teleported [key_name_admin(M)] to [A]", 1)
else
alert("Admin jumping disabled")

View File

@@ -16,6 +16,7 @@
var/started_as_observer //This variable is set to 1 when you enter the game as an observer.
//If you died in the game and are a ghsot - this will remain as null.
//Note that this is not a reliable way to determine if admins started as observers, since they change mobs a lot.
var/atom/movable/following = null
/mob/dead/observer/New(mob/body)
sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF
@@ -181,17 +182,22 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/input = input("Please, select a mob!", "Haunt", null, null) as null|anything in mobs
var/mob/target = mobs[input]
if(target && target != usr)
following = target
spawn(0)
var/turf/pos = get_turf(src)
while(src.loc == pos)
var/turf/T = get_turf(target)
if(!T)
break
if(following != target)
break
if(!client)
break
src.loc = T
pos = src.loc
sleep(15)
following = null
/mob/dead/observer/verb/jumptomob() //Moves the ghost instead of just changing the ghosts's eye -Nodrak