mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-09 16:14:13 +00:00
@@ -372,7 +372,7 @@
|
||||
if(A.name == "Syndicate-Spawn")
|
||||
synd_spawn += get_turf(A)
|
||||
continue
|
||||
|
||||
|
||||
var/spawnpos = index
|
||||
if(spawnpos > synd_spawn.len)
|
||||
spawnpos = 1
|
||||
@@ -600,6 +600,7 @@
|
||||
requirements = list(40,20,10,10,10,10,10,10,10,10) // So that's not possible to roll it naturally
|
||||
high_population_requirement = 10
|
||||
flags = MINOR_RULESET
|
||||
makeBody = FALSE
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/grinch/acceptable(var/population=0, var/threat=0)
|
||||
if(grinchstart.len == 0)
|
||||
@@ -682,7 +683,7 @@
|
||||
if(A.name == "voxstart")
|
||||
vox_spawn += get_turf(A)
|
||||
continue
|
||||
|
||||
|
||||
var/spawn_count = index
|
||||
if(spawn_count > vox_spawn.len)
|
||||
spawn_count = 1
|
||||
|
||||
@@ -12,44 +12,42 @@
|
||||
|
||||
// -- Transforms us into the devlish Grinch
|
||||
/datum/role/grinch/OnPostSetup(var/laterole = FALSE)
|
||||
. = ..()
|
||||
var/mob/old_mob = antag.current
|
||||
var/mob/living/simple_animal/hostile/gremlin/grinch/G = new
|
||||
G.forceMove(pick(grinchstart))
|
||||
antag.transfer_to(G)
|
||||
var/obj/item/weapon/storage/backpack/holding/grinch/our_bag = new(G)
|
||||
src.our_bag = our_bag
|
||||
G.equip_to_slot(our_bag, slot_back)
|
||||
old_mob.forceMove(null) // Get nullspaced
|
||||
spawn (1) // Destroy must be differed else there are runtimes
|
||||
qdel(old_mob)
|
||||
. = ..()
|
||||
var/mob/living/simple_animal/hostile/gremlin/grinch/G = new
|
||||
G.forceMove(pick(grinchstart))
|
||||
if (antag.active)
|
||||
to_chat(world, "active before transfer...")
|
||||
antag.transfer_to(G)
|
||||
var/obj/item/weapon/storage/backpack/holding/grinch/our_bag = new(G)
|
||||
src.our_bag = our_bag
|
||||
G.equip_to_slot(our_bag, slot_back)
|
||||
|
||||
// -- Clearing references in case of deletion.
|
||||
/datum/role/grinch/Destroy()
|
||||
our_bag = null
|
||||
return ..()
|
||||
our_bag = null
|
||||
return ..()
|
||||
|
||||
/datum/role/grinch/Greet(var/greeting,var/custom)
|
||||
if(!greeting)
|
||||
return
|
||||
if(!greeting)
|
||||
return
|
||||
|
||||
var/icon/logo = icon('icons/logos.dmi', logo_state)
|
||||
to_chat(antag.current, "<img src='data:image/png;base64,[icon2base64(logo)]' style='position: relative; top: 10;'/> <span class='danger'>You are the Grinch!</span><span class='warning'>You are here to ruin Christmas!</span>")
|
||||
to_chat(antag.current, "<span class='info'><a HREF='?src=\ref[antag.current];getwiki=[wikiroute]'>(Wiki)</span>")
|
||||
var/icon/logo = icon('icons/logos.dmi', logo_state)
|
||||
to_chat(antag.current, "<img src='data:image/png;base64,[icon2base64(logo)]' style='position: relative; top: 10;'/> <span class='danger'>You are the Grinch!</span><span class='warning'>You are here to ruin Christmas!</span>")
|
||||
to_chat(antag.current, "<span class='info'><a HREF='?src=\ref[antag.current];getwiki=[wikiroute]'>(Wiki)</span>")
|
||||
|
||||
/datum/role/grinch/ForgeObjectives()
|
||||
AppendObjective(/datum/objective/freeform/christmas)
|
||||
AppendObjective(/datum/objective/freeform/christmas)
|
||||
|
||||
// -- Scoreboard : how many items did we have in our backpack
|
||||
|
||||
/datum/role/grinch/GetScoreboard()
|
||||
var/bounty = 0
|
||||
. = ..()
|
||||
if (!our_bag)
|
||||
. += "<br/>"
|
||||
. += "The Grinch's bag has been destroyed!<br/>"
|
||||
else
|
||||
. += "<br/>"
|
||||
for (var/obj/item/I in get_contents_in_object(our_bag))
|
||||
bounty += shop_prices[I.type]
|
||||
. += "The Grinch managed to steal $[bounty] worth of items!<br/>"
|
||||
var/bounty = 0
|
||||
. = ..()
|
||||
if (!our_bag)
|
||||
. += "<br/>"
|
||||
. += "The Grinch's bag has been destroyed!<br/>"
|
||||
else
|
||||
. += "<br/>"
|
||||
for (var/obj/item/I in get_contents_in_object(our_bag))
|
||||
bounty += shop_prices[I.type]
|
||||
. += "The Grinch managed to steal $[bounty] worth of items!<br/>"
|
||||
|
||||
@@ -91,9 +91,10 @@
|
||||
var/datum/role/R = antag_roles[role]
|
||||
R.PreMindTransfer(current)
|
||||
|
||||
if(current) //remove ourself from our old body's mind variable
|
||||
if(current) //remove ourself from our old body's mind variable NOW THAT THE TRANSFER IS DONE
|
||||
current.old_assigned_role = assigned_role
|
||||
current.mind = null
|
||||
|
||||
if(new_character.mind) //remove any mind currently in our new body's mind variable
|
||||
new_character.mind.current = null
|
||||
|
||||
@@ -105,7 +106,6 @@
|
||||
|
||||
if(active)
|
||||
new_character.key = key //now transfer the key to link the client to our new body
|
||||
//gotta do that after linking the mind to the body or we'll create an extra mind on Login()
|
||||
|
||||
for (var/role in antag_roles)
|
||||
var/datum/role/R = antag_roles[role]
|
||||
@@ -126,6 +126,7 @@
|
||||
|
||||
if(active)
|
||||
new_character.key = key //now transfer the key to link the client to our new body
|
||||
to_chat(world, "transfered to successfully")
|
||||
|
||||
current = new_character //link ourself to our new body
|
||||
new_character.mind = src //and link our new body to ourself
|
||||
|
||||
@@ -86,7 +86,7 @@ var/creating_arena = FALSE
|
||||
icon_state = body.icon_state
|
||||
overlays = body.overlays
|
||||
*/
|
||||
|
||||
|
||||
if(isSaMMI(body))
|
||||
var/mob/living/silicon/robot/mommi/sammi/SM = body
|
||||
icon = SM.ghost_icon
|
||||
|
||||
Reference in New Issue
Block a user