Merge pull request #260 from SkyMarshal/master

Disposal updates + map fix, traitor objective fix, Cult teleport talisman now teleports grabs
This commit is contained in:
Tastyfish
2012-01-10 20:38:14 -08:00
10 changed files with 259 additions and 60 deletions
+14 -3
View File
@@ -83,23 +83,34 @@
traitor.objectives += block_objective
else
var/list/target = traitor.objectives
for(var/i = 1, i <= rand(1,3), i++)
var/datum/objective/objective
switch(rand(1,100))
if(1 to 30)
var/datum/objective/assassinate/kill_objective = new
kill_objective.owner = traitor
kill_objective.find_target()
traitor.objectives += kill_objective
objective = kill_objective
if(31 to 40)
var/datum/objective/protect/protect_objective = new
protect_objective.owner = traitor
protect_objective.find_target()
traitor.objectives += protect_objective
objective = protect_objective
else
var/datum/objective/steal/steal_objective = new
steal_objective.owner = traitor
steal_objective.find_target()
traitor.objectives += steal_objective
objective = steal_objective
var/inthere = 0
for(var/j, j<= target.len, j++)
if(target[j] == objective)
inthere = 1
break
if(!inthere)
traitor.objectives += objective
else
i -= 1
if (!(locate(/datum/objective/escape) in traitor.objectives))
var/datum/objective/escape/escape_objective = new
escape_objective.owner = traitor
@@ -119,6 +119,8 @@
<A href='?src=\ref[src];dmake=2'>Junction</A><BR>
<A href='?src=\ref[src];dmake=3'>Y-Junction</A><BR>
<A href='?src=\ref[src];dmake=4'>Trunk</A><BR>
<A href='?src=\ref[src];dmake=5'>Sort Junction 1</A><BR>
<A href='?src=\ref[src];dmake=6'>Sort Junction 2</A><BR>
"}
user << browse("<HEAD><TITLE>[src]</TITLE></HEAD><TT>[dat]</TT>", "window=pipedispenser")
@@ -147,6 +149,10 @@
C.ptype = 4
if(4)
C.ptype = 5
if(5)
C.ptype = 6
if(6)
C.ptype = 7
C.update()
wait = 1
+12 -2
View File
@@ -5,6 +5,13 @@ var/list/sacrificed = list()
proc
teleport(var/key)
var/mob/living/user = usr
var/mob/living/grabbed
if (istype(user.get_active_hand(), /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = user.get_active_hand()
grabbed = G.affecting
else if (istype(user.get_inactive_hand(), /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = user.get_inactive_hand()
grabbed = G.affecting
var/allrunesloc[]
allrunesloc = new/list()
var/index = 0
@@ -17,7 +24,7 @@ var/list/sacrificed = list()
allrunesloc.len = index
allrunesloc[index] = R.loc
if(index >= 5)
user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
user << "\red You feel pain, as the rune disappears into a reality shift caused by too much wear on the fabric of space-time."
if (istype(user, /mob/living))
user.take_overall_damage(5, 0)
del(src)
@@ -29,7 +36,10 @@ var/list/sacrificed = list()
user.visible_message("\red [user] disappears in a flash of red light!", \
"\red You feel as your body gets dragged through the dimension of Nar-Sie!", \
"\red You hear a sickening crunch and sloshing of viscera.")
user.loc = allrunesloc[rand(1,index)]
var/target = rand(1,index)
user.loc = allrunesloc[target]
if(grabbed)
grabbed.loc = allrunesloc[target]
return
if(istype(src,/obj/effect/rune))
return fizzle() //Use friggin manuals, Dorf, your list was of zero length.
+21 -7
View File
@@ -123,6 +123,7 @@
var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(src.loc))
P.wrapped = src
src.close()
P.waswelded = welded
src.welded = 1
src.loc = P
O.amount -= 3
@@ -185,13 +186,26 @@
return
if(!src.open())
user << "\blue It won't budge!"
if(!lastbang)
lastbang = 1
for (var/mob/M in hearers(src, null))
M << text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M)))
spawn(30)
lastbang = 0
if(istype(src.loc,/obj/effect/bigDelivery) && lastbang == 0)
var/obj/effect/bigDelivery/Pack = src.loc
if(istype(Pack.loc,/turf) && Pack.waswelded == 0)
for (var/mob/M in hearers(src.loc, null))
M << text("<FONT size=[] color=#6D3F40>BANG, bang, rrrrrip!</FONT>", max(0, 5 - get_dist(src, M)))
lastbang = 1
sleep(10)
src.welded = 0
Pack.unwrap()
src.open()
spawn(30)
lastbang = 0
else if(!istype(src.loc,/obj/effect/bigDelivery))
user << "\blue It won't budge!"
if(!lastbang)
lastbang = 1
for (var/mob/M in hearers(src, null))
M << text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M)))
spawn(30)
lastbang = 0
/obj/structure/closet/Move()
..()