mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-09 16:14:13 +00:00
File diff suppressed because one or more lines are too long
@@ -719,50 +719,32 @@
|
||||
A.toggle_lights(usr,2)
|
||||
|
||||
/obj/screen/specialblob/Click()
|
||||
switch(name)
|
||||
if("Spawn Blob")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
switch(name)
|
||||
if("Spawn Blob")
|
||||
overmind.expand_blob_power()
|
||||
if("Spawn Strong Blob")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Spawn Strong Blob")
|
||||
overmind.create_shield_power()
|
||||
if("Spawn Resource Blob")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Spawn Resource Blob")
|
||||
overmind.create_resource()
|
||||
if("Spawn Factory Blob")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Spawn Factory Blob")
|
||||
overmind.create_factory()
|
||||
if("Spawn Node Blob")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Spawn Node Blob")
|
||||
overmind.create_node()
|
||||
if("Spawn Blob Core")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Spawn Blob Core")
|
||||
overmind.create_core()
|
||||
if("Call Overminds")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Call Overminds")
|
||||
overmind.callblobs()
|
||||
if("Rally Spores")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Rally Spores")
|
||||
overmind.rally_spores_power()
|
||||
if("Psionic Message")
|
||||
if(isovermind(usr))
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Psionic Message")
|
||||
var/message = input(overmind,"Send a message to the crew.","Psionic Message") as null|text
|
||||
if(message)
|
||||
overmind.telepathy(message)
|
||||
if("Jump to Blob")
|
||||
if(isovermind(usr) && linked_blob)
|
||||
var/mob/camera/blob/overmind = usr
|
||||
if("Jump to Blob")
|
||||
overmind.forceMove(linked_blob.loc)
|
||||
return 1
|
||||
return 1
|
||||
|
||||
/obj/screen/inventory/Click()
|
||||
// At this point in client Click() code we have passed the 1/10 sec check and little else
|
||||
|
||||
@@ -432,7 +432,7 @@ its easier to just keep the beam vertical.
|
||||
//DEBUG to_chat(pick(player_list),"blob_act() on [src] ([src.type])")
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
anim(target = loc, a_icon = 'icons/mob/blob.dmi', flick_anim = "blob_act", sleeptime = 15, lay = 12)
|
||||
anim(target = loc, a_icon = 'icons/mob/blob/blob.dmi', flick_anim = "blob_act", sleeptime = 15, lay = 12)
|
||||
return
|
||||
|
||||
/*
|
||||
|
||||
11
code/game/gamemodes/blob/_blob_defines.dm
Normal file
11
code/game/gamemodes/blob/_blob_defines.dm
Normal file
@@ -0,0 +1,11 @@
|
||||
#define BLOBCORECOSTINC 50
|
||||
#define BLOBCOREBASECOST 100
|
||||
#define BLOBSHICOST 10
|
||||
#define BLOBRESCOST 40
|
||||
#define BLOBFACCOST 60
|
||||
#define BLOBNODCOST 60
|
||||
#define BLOBATTCOST 5
|
||||
#define BLOBRALCOST 5
|
||||
#define BLOBTAUNTCOST 15
|
||||
|
||||
#define BLOBNDPOINTINC 10
|
||||
@@ -44,7 +44,7 @@ datum/game_mode/proc/auto_declare_completion_blob()
|
||||
if(blob_mode.infected_crew.len)
|
||||
text += "<FONT size = 2><B>The blob[(blob_mode.infected_crew.len > 1 ? "s were" : " was")]:</B></FONT>"
|
||||
|
||||
var/icon/logo = icon('icons/mob/blob.dmi', "blob_core")
|
||||
var/icon/logo = icon('icons/mob/blob/blob.dmi', "blob_core")
|
||||
end_icons += logo
|
||||
var/tempstate = end_icons.len
|
||||
for(var/datum/mind/blob in blob_mode.infected_crew)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
blob_cores += src
|
||||
processing_objects.Add(src)
|
||||
creator = C
|
||||
if((blob_looks[looks] == 64) && !no_morph)
|
||||
if((icon_size == 64) && !no_morph)
|
||||
if(new_overmind)
|
||||
flick("core_spawn",src)
|
||||
else
|
||||
@@ -86,8 +86,8 @@
|
||||
|
||||
if(!spawning)//no expanding on the first Life() tick
|
||||
|
||||
if(blob_looks[looks] == 64)
|
||||
anim(target = loc, a_icon = icon, flick_anim = "corepulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 200)
|
||||
if(icon_size == 64)
|
||||
// anim(target = loc, a_icon = icon, flick_anim = "corepulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 200)
|
||||
for(var/mob/M in viewers(src))
|
||||
M.playsound_local(loc, adminblob_beat, 50, 0, null, FALLOFF_SOUNDS, 0)
|
||||
|
||||
@@ -157,8 +157,8 @@
|
||||
|
||||
B.verbs += /mob/camera/blob/proc/create_core
|
||||
spawn()
|
||||
var/can_choose_from = blob_looks - "adminbus"
|
||||
var/chosen = input(B,"Select a blob looks", "Blob Looks", blob_looks[1]) as null|anything in can_choose_from
|
||||
var/can_choose_from = blob_looks_player
|
||||
var/chosen = input(B,"Select a blob looks", "Blob Looks", blob_looks_player[1]) as null|anything in can_choose_from
|
||||
if(chosen)
|
||||
for(var/obj/effect/blob/nearby_blob in range(src,5))
|
||||
nearby_blob.looks = chosen
|
||||
@@ -184,7 +184,7 @@
|
||||
return 0
|
||||
|
||||
/obj/effect/blob/core/update_icon(var/spawnend = 0)
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
spawn(1)
|
||||
overlays.len = 0
|
||||
underlays.len = 0
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
/obj/effect/blob/factory/New(loc,newlook = "new")
|
||||
..()
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
flick("morph_factory",src)
|
||||
spore_delay = world.time + (2 SECONDS)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
return 0
|
||||
spore_delay = world.time + (40 SECONDS) // 30 seconds
|
||||
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
flick("factorypulse",src)
|
||||
anim(target = loc, a_icon = icon, flick_anim = "sporepulse", sleeptime = 15, lay = 7.2, offX = -16, offY = -16, alph = 220)
|
||||
spawn(10)
|
||||
@@ -51,7 +51,7 @@
|
||||
..()
|
||||
|
||||
/obj/effect/blob/factory/update_icon(var/spawnend = 0)
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
spawn(1)
|
||||
overlays.len = 0
|
||||
underlays.len = 0
|
||||
@@ -72,7 +72,7 @@
|
||||
/mob/living/simple_animal/hostile/blobspore
|
||||
name = "Blob Spore"
|
||||
desc = "A form of blob antibodies that attack foreign entities."
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon = 'icons/mob/blob/blob.dmi'
|
||||
icon_state = "blobpod"
|
||||
icon_living = "blobpod"
|
||||
pass_flags = PASSBLOB
|
||||
@@ -97,6 +97,7 @@
|
||||
if(istype(linked_node))
|
||||
factory = linked_node
|
||||
factory.spores += src
|
||||
icon = factory.icon
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/blobspore/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
processing_objects.Add(src)
|
||||
..(loc, newlook)
|
||||
|
||||
if((blob_looks[looks] == 64) && !no_morph)
|
||||
if((icon_size == 64) && !no_morph)
|
||||
flick("morph_node",src)
|
||||
|
||||
/obj/effect/blob/node/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
@@ -30,6 +30,7 @@
|
||||
to_chat(overmind,"<span class='warning'>A node blob that you had created has been destroyed.</span> <b><a href='?src=\ref[overmind];blobjump=\ref[loc]'>(JUMP)</a></b>")
|
||||
overmind.special_blobs -= src
|
||||
overmind.update_specialblobs()
|
||||
overmind.max_blob_points -= BLOBNDPOINTINC
|
||||
processing_objects.Remove(src)
|
||||
..()
|
||||
|
||||
@@ -37,8 +38,8 @@
|
||||
if(timestopped)
|
||||
return 0 //under effects of time magick
|
||||
|
||||
if(blob_looks[looks] == 64)
|
||||
anim(target = loc, a_icon = icon, flick_anim = "nodepulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 150)
|
||||
if(icon_size == 64)
|
||||
// anim(target = loc, a_icon = icon, flick_anim = "nodepulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 150)
|
||||
for(var/mob/M in viewers(src))
|
||||
M.playsound_local(loc, adminblob_beat, 50, 0, null, FALLOFF_SOUNDS, 0)
|
||||
|
||||
@@ -53,7 +54,7 @@
|
||||
return 0
|
||||
|
||||
/obj/effect/blob/node/update_icon(var/spawnend = 0)
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
spawn(1)
|
||||
overlays.len = 0
|
||||
underlays.len = 0
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
..()
|
||||
blob_resources += src
|
||||
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
flick("morph_resource",src)
|
||||
|
||||
/obj/effect/blob/resource/Destroy()
|
||||
@@ -46,8 +46,8 @@
|
||||
resource_delay = world.time + (4 SECONDS)
|
||||
|
||||
if(overmind)
|
||||
if(blob_looks[looks] == 64)
|
||||
anim(target = loc, a_icon = icon, flick_anim = "resourcepulse", sleeptime = 15, lay = 7.2, offX = -16, offY = -16, alph = 220)
|
||||
/* if(blob_looks[looks] == 64)
|
||||
anim(target = loc, a_icon = icon, flick_anim = "resourcepulse", sleeptime = 15, lay = 7.2, offX = -16, offY = -16, alph = 220)*/
|
||||
overmind.add_points(1)
|
||||
|
||||
return 1
|
||||
@@ -59,7 +59,7 @@
|
||||
else
|
||||
color = "#888888"
|
||||
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
spawn(1)
|
||||
overlays.len = 0
|
||||
underlays.len = 0
|
||||
|
||||
@@ -32,14 +32,14 @@
|
||||
|
||||
health += 10
|
||||
return 1
|
||||
|
||||
/*
|
||||
/obj/effect/blob/shield/Pulse(var/pulse = 0, var/origin_dir = 0)
|
||||
..()
|
||||
if(blob_looks[looks] == 64)
|
||||
anim(target = loc, a_icon = 'icons/mob/blob_64x64.dmi', flick_anim = "strongpulse", sleeptime = 15, lay = 12, offX = -16, offY = -16, alph = 51)
|
||||
|
||||
*/
|
||||
/obj/effect/blob/shield/update_icon(var/spawnend = 0)
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
spawn(1)
|
||||
overlays.len = 0
|
||||
underlays.len = 0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/mob/camera/blob
|
||||
name = "Blob Overmind"
|
||||
real_name = "Blob Overmind"
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon = 'icons/mob/blob/blob.dmi'
|
||||
icon_state = "marker"
|
||||
|
||||
see_in_dark = 8
|
||||
@@ -112,7 +112,7 @@
|
||||
if(points != 0)
|
||||
blob_points = Clamp(blob_points + points, 0, max_blob_points)
|
||||
stat_collection.blobblob.res_generated += points
|
||||
|
||||
var/number_of_cores = blob_cores.len
|
||||
//Updating the HUD
|
||||
if(hud_used)
|
||||
var/matrix/M = matrix()
|
||||
@@ -134,19 +134,19 @@
|
||||
hud_used.mymob.gui_icons.blob_rally.color = grayscale
|
||||
hud_used.mymob.gui_icons.blob_taunt.color = grayscale
|
||||
|
||||
if(blob_points >= 5)
|
||||
if(blob_points >= BLOBATTCOST)
|
||||
hud_used.mymob.gui_icons.blob_spawnblob.color = null
|
||||
hud_used.mymob.gui_icons.blob_rally.color = null
|
||||
if(blob_points >= 10)
|
||||
if(blob_points >= BLOBSHICOST)
|
||||
hud_used.mymob.gui_icons.blob_spawnstrong.color = null
|
||||
if(blob_points >= 15)
|
||||
if(blob_points >= BLOBTAUNTCOST)
|
||||
hud_used.mymob.gui_icons.blob_taunt.color = null
|
||||
if(blob_points >= 40)
|
||||
if(blob_points >= BLOBRESCOST)
|
||||
hud_used.mymob.gui_icons.blob_spawnresource.color = null
|
||||
if(blob_points >= 60)
|
||||
if(blob_points >= BLOBFACCOST)
|
||||
hud_used.mymob.gui_icons.blob_spawnfactory.color = null
|
||||
hud_used.mymob.gui_icons.blob_spawnnode.color = null
|
||||
if(blob_points >= 100)
|
||||
if(blob_points >= BLOBCOREBASECOST+(BLOBCORECOSTINC*(number_of_cores-1)))
|
||||
hud_used.mymob.gui_icons.blob_spawncore.color = null
|
||||
|
||||
/mob/camera/blob/say(var/message)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
/mob/camera/blob/verb/create_shield_power()
|
||||
set category = "Blob"
|
||||
set name = "Create Shield Blob (10)"
|
||||
set name = "Create Shield Blob"
|
||||
set desc = "Create a shield blob."
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -52,7 +52,7 @@
|
||||
to_chat(src, "Unable to use this blob, find a normal one.")
|
||||
return
|
||||
|
||||
if(!can_buy(10))
|
||||
if(!can_buy(BLOBSHICOST))
|
||||
return
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
/mob/camera/blob/verb/create_resource()
|
||||
set category = "Blob"
|
||||
set name = "Create Resource Blob (40)"
|
||||
set name = "Create Resource Blob"
|
||||
set desc = "Create a resource tower which will generate points for you."
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
to_chat(src, "There is a resource blob nearby, move more than 4 tiles away from it!")
|
||||
return
|
||||
|
||||
if(!can_buy(40))
|
||||
if(!can_buy(BLOBRESCOST))
|
||||
return
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
|
||||
/mob/camera/blob/proc/create_core()
|
||||
set category = "Blob"
|
||||
set name = "Create Core Blob (100)"
|
||||
set name = "Create Core Blob"
|
||||
set desc = "Create another Core Blob to aid in the station takeover"
|
||||
|
||||
|
||||
@@ -122,8 +122,11 @@
|
||||
for(var/obj/effect/blob/core/blob in orange(15))
|
||||
to_chat(src, "There is another core blob nearby, move more than 15 tiles away from it!")
|
||||
return
|
||||
var/number_of_cores = blob_cores.len
|
||||
var/cost = BLOBCOREBASECOST+(BLOBCORECOSTINC*(number_of_cores-1))
|
||||
|
||||
if(!can_buy(100))
|
||||
if(!can_buy(cost))
|
||||
to_chat(src, "Current cost of a blob core is [cost]!")
|
||||
return
|
||||
|
||||
|
||||
@@ -133,7 +136,7 @@
|
||||
|
||||
/mob/camera/blob/verb/create_node()
|
||||
set category = "Blob"
|
||||
set name = "Create Node Blob (60)"
|
||||
set name = "Create Node Blob"
|
||||
set desc = "Create a Node."
|
||||
|
||||
|
||||
@@ -156,7 +159,7 @@
|
||||
to_chat(src, "There is another node nearby, move more than 5 tiles away from it!")
|
||||
return
|
||||
|
||||
if(!can_buy(60))
|
||||
if(!can_buy(BLOBNODCOST))
|
||||
return
|
||||
|
||||
|
||||
@@ -166,12 +169,13 @@
|
||||
N.overmind = src
|
||||
special_blobs += N
|
||||
update_specialblobs()
|
||||
max_blob_points += BLOBNDPOINTINC
|
||||
return
|
||||
|
||||
|
||||
/mob/camera/blob/verb/create_factory()
|
||||
set category = "Blob"
|
||||
set name = "Create Factory Blob (60)"
|
||||
set name = "Create Factory Blob"
|
||||
set desc = "Create a Spore producing blob."
|
||||
|
||||
|
||||
@@ -193,7 +197,7 @@
|
||||
to_chat(src, "There is a factory blob nearby, move more than 7 tiles away from it!")
|
||||
return
|
||||
|
||||
if(!can_buy(60))
|
||||
if(!can_buy(BLOBFACCOST))
|
||||
return
|
||||
|
||||
B.change_to(/obj/effect/blob/factory)
|
||||
@@ -254,7 +258,7 @@
|
||||
|
||||
/mob/camera/blob/verb/expand_blob_power()
|
||||
set category = "Blob"
|
||||
set name = "Expand/Attack Blob (5)"
|
||||
set name = "Expand/Attack Blob"
|
||||
set desc = "Attempts to create a new blob in this tile. If the tile isn't clear we will attack it, which might clear it."
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -274,7 +278,7 @@
|
||||
to_chat(src, "There is no blob adjacent to you.")
|
||||
return
|
||||
|
||||
if(!can_buy(5))
|
||||
if(!can_buy(BLOBATTCOST))
|
||||
return
|
||||
OB.expand(T, 0)
|
||||
return
|
||||
@@ -282,7 +286,7 @@
|
||||
|
||||
/mob/camera/blob/verb/rally_spores_power()
|
||||
set category = "Blob"
|
||||
set name = "Rally Spores (5)"
|
||||
set name = "Rally Spores"
|
||||
set desc = "Rally the spores to move to your location."
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -291,7 +295,7 @@
|
||||
/mob/camera/blob/proc/rally_spores(var/turf/T)
|
||||
|
||||
|
||||
if(!can_buy(5))
|
||||
if(!can_buy(BLOBRALCOST))
|
||||
return
|
||||
|
||||
to_chat(src, "You rally your spores.")
|
||||
@@ -306,12 +310,20 @@
|
||||
BS.Goto(pick(surrounding_turfs), BS.move_to_delay)
|
||||
return
|
||||
|
||||
/mob/camera/blob/verb/telepathy(message as text)
|
||||
/mob/camera/blob/verb/telepathy_power()
|
||||
set category = "Blob"
|
||||
set name = "Psionic Message (15)"
|
||||
set name = "Psionic Message"
|
||||
set desc = "Give a psionic message to all creatures on and around the station."
|
||||
telepathy()
|
||||
|
||||
/mob/camera/blob/proc/telepathy(message as text)
|
||||
|
||||
if(!can_buy(BLOBTAUNTCOST))
|
||||
return
|
||||
|
||||
|
||||
to_chat(world, "<span class='warning'>Your vision becomes cloudy, and your mind becomes clear.</span>")
|
||||
spawn(5)
|
||||
to_chat(world, "<span class='blob'>[message]</span>")
|
||||
add_gamelogs(src, "used blob telepathy to convey \"[message]\"", tp_link = TRUE)
|
||||
log_blobtelepathy("[key_name(usr)]: [message]")
|
||||
|
||||
@@ -38,7 +38,7 @@ var/list/blob_looks
|
||||
|
||||
/obj/effect/blob
|
||||
name = "blob"
|
||||
icon = 'icons/mob/blob_64x64.dmi'
|
||||
icon = 'icons/mob/blob/blob_64x64.dmi'
|
||||
icon_state = "center"
|
||||
luminosity = 2
|
||||
desc = "Some blob creature thingy"
|
||||
@@ -70,6 +70,7 @@ var/list/blob_looks
|
||||
var/icon_classic = "blob"
|
||||
|
||||
var/manual_remove = 0
|
||||
var/icon_size = 64
|
||||
|
||||
/obj/effect/blob/blob_act()
|
||||
return
|
||||
@@ -87,7 +88,7 @@ var/list/blob_looks
|
||||
src.dir = pick(cardinal)
|
||||
time_since_last_pulse = world.time
|
||||
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
if(spawning && !no_morph)
|
||||
icon_state = initial(icon_state) + "_spawn"
|
||||
spawn(10)
|
||||
@@ -110,7 +111,7 @@ var/list/blob_looks
|
||||
dying = 1
|
||||
blobs -= src
|
||||
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
for(var/atom/movable/overlay/O in loc)
|
||||
returnToPool(O)
|
||||
|
||||
@@ -230,7 +231,7 @@ var/list/blob_looks
|
||||
return
|
||||
|
||||
/obj/effect/blob/update_icon(var/spawnend = 0)
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
if(health < maxhealth)
|
||||
var/hurt_percentage = round((health * 100) / maxhealth)
|
||||
var/hurt_icon
|
||||
@@ -246,9 +247,10 @@ var/list/blob_looks
|
||||
overlays += image(icon,hurt_icon)
|
||||
|
||||
/obj/effect/blob/proc/update_looks(var/right_now = 0)
|
||||
switch(blob_looks[looks])
|
||||
switch(blob_looks_admin[looks]) //blob_looks_admin should have every possible blob skin
|
||||
if(64)
|
||||
icon_state = icon_new
|
||||
icon_size = 64
|
||||
pixel_x = -WORLD_ICON_SIZE/2
|
||||
pixel_y = -WORLD_ICON_SIZE/2
|
||||
layer = initial(layer)
|
||||
@@ -256,6 +258,7 @@ var/list/blob_looks
|
||||
spawning = 0
|
||||
if(32)
|
||||
icon_state = icon_classic
|
||||
icon_size = 32
|
||||
pixel_x = 0
|
||||
pixel_y = 0
|
||||
layer = OBJ_LAYER
|
||||
@@ -263,11 +266,15 @@ var/list/blob_looks
|
||||
|
||||
switch(looks)
|
||||
if("new")
|
||||
icon = 'icons/mob/blob_64x64.dmi'
|
||||
icon = 'icons/mob/blob/blob_64x64.dmi'
|
||||
if("classic")
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon = 'icons/mob/blob/blob.dmi'
|
||||
if("adminbus")
|
||||
icon = adminblob_icon
|
||||
if("clownscape")
|
||||
icon = 'icons/mob/blob/blob_honkscape.dmi'
|
||||
if("AME")
|
||||
icon = 'icons/mob/blob/blob_AME.dmi'
|
||||
//<----------------------------------------------------------------------------DEAR SPRITERS, THIS IS WHERE YOU ADD YOUR NEW BLOB DMIs
|
||||
/*EXAMPLES
|
||||
if("fleshy")
|
||||
@@ -279,10 +286,17 @@ var/list/blob_looks
|
||||
if(right_now)
|
||||
update_icon()
|
||||
|
||||
var/list/blob_looks = list(
|
||||
var/list/blob_looks_admin = list(//Options available to admins
|
||||
"new" = 64,
|
||||
"classic" = 32,
|
||||
"adminbus" = adminblob_size,
|
||||
"clownscape" = 32,
|
||||
"AME" = 32,
|
||||
)
|
||||
|
||||
var/list/blob_looks_player = list(//Options available to players
|
||||
"new" = 64,
|
||||
"classic" = 32,
|
||||
)
|
||||
//<---------------------------------------ALSO ADD THE NAME OF YOUR BLOB LOOKS HERE, AS WELL AS THE RESOLUTION OF THE DMIS (64 or 32)
|
||||
|
||||
@@ -358,7 +372,7 @@ var/list/blob_looks = list(
|
||||
var/obj/effect/blob/normal/B = new(src.loc, newlook = looks)
|
||||
B.density = 1
|
||||
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
if(istype(src,/obj/effect/blob/normal))
|
||||
var/num = rand(1,100)
|
||||
num /= 10000
|
||||
@@ -366,7 +380,7 @@ var/list/blob_looks = list(
|
||||
|
||||
if(T.Enter(B,src))//Attempt to move into the tile
|
||||
B.density = initial(B.density)
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
spawn(1)
|
||||
B.forceMove(T)
|
||||
B.aftermove()
|
||||
@@ -413,14 +427,14 @@ var/list/blob_looks = list(
|
||||
|
||||
/obj/effect/blob/normal/Delete()
|
||||
..()
|
||||
|
||||
/*
|
||||
/obj/effect/blob/normal/Pulse(var/pulse = 0, var/origin_dir = 0)
|
||||
..()
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
anim(target = loc, a_icon = icon, flick_anim = "pulse", sleeptime = 15, direction = dir, lay = 12, offX = -16, offY = -16, alph = 51)
|
||||
|
||||
*/
|
||||
/obj/effect/blob/normal/update_icon(var/spawnend = 0)
|
||||
if(blob_looks[looks] == 64)
|
||||
if(icon_size == 64)
|
||||
spawn(1)
|
||||
overlays.len = 0
|
||||
underlays.len = 0
|
||||
|
||||
@@ -191,6 +191,7 @@ var/global/floorIsLava = 0
|
||||
<A href='?src=\ref[src];simplemake=ian;mob=\ref[M]'>Ian</A> |
|
||||
<A href='?src=\ref[src];simplemake=crab;mob=\ref[M]'>Crab</A> |
|
||||
<A href='?src=\ref[src];simplemake=coffee;mob=\ref[M]'>Coffee</A>
|
||||
<A href='?src=\ref[src];simplemake=blob;mob=\ref[M]'>BLOB</A>
|
||||
<br>\[ Silicon: <A href='?src=\ref[src];simplemake=ai;mob=\ref[M]'>AI</A>, |
|
||||
<A href='?src=\ref[src];simplemake=robot;mob=\ref[M]'>Cyborg</A> \]
|
||||
<br>\[ Alien: <A href='?src=\ref[src];simplemake=drone;mob=\ref[M]'>Drone</A>,
|
||||
|
||||
@@ -1060,8 +1060,8 @@ var/list/admin_verbs_mod = list(
|
||||
set category = "Fun"
|
||||
|
||||
var/to_choose_from = list("ADMINBUS (custom DMI upload)")
|
||||
to_choose_from += blob_looks - "adminbus"
|
||||
var/chosen = input("This will change the looks of every blob currently in the world.", "Blob Looks", blob_looks[1]) as null|anything in to_choose_from
|
||||
to_choose_from += blob_looks_admin
|
||||
var/chosen = input("This will change the looks of every blob currently in the world.", "Blob Looks", blob_looks_admin[1]) as null|anything in to_choose_from
|
||||
|
||||
if(!chosen)
|
||||
return
|
||||
@@ -1077,7 +1077,7 @@ var/list/admin_verbs_mod = list(
|
||||
else
|
||||
adminblob_beat = 'sound/effects/blob_pulse.ogg'
|
||||
|
||||
blob_looks["adminbus"] = adminblob_size
|
||||
blob_looks_admin["adminbus"] = adminblob_size
|
||||
chosen = "adminbus"
|
||||
else
|
||||
adminblob_icon = null
|
||||
|
||||
@@ -421,6 +421,11 @@
|
||||
new_mob = M.change_mob_type( /mob/living/simple_animal/construct/wraith , null, null, delmob )
|
||||
if("shade")
|
||||
new_mob = M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob )
|
||||
if("blob")
|
||||
var/obj/effect/blob/core/core = new(loc = get_turf(M), new_overmind = M.client)
|
||||
new_mob = core.overmind
|
||||
if(delmob)
|
||||
qdel(M)
|
||||
if("ai")
|
||||
new_mob = M.AIize(spawn_here = 1, del_mob = delmob)
|
||||
// to_chat(world, "Made a [new_mob] [usr ? "usr still exists" : "usr does not exist"]")
|
||||
|
||||
@@ -438,3 +438,7 @@
|
||||
l.show_message("<span class=\"warning\">You hear an uneartly ringing and notice your skin is covered in fresh radiation burns.</span>", 2)
|
||||
var/rads = 500 * sqrt( 1 / (get_dist(l, src) + 1) )
|
||||
l.apply_effect(rads, IRRADIATE, 0) // Permit blocking
|
||||
|
||||
|
||||
/obj/machinery/power/supermatter/blob_act()
|
||||
explode()
|
||||
|
||||
|
Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 248 KiB |
BIN
icons/mob/blob/blob_64x64.dmi
Normal file
BIN
icons/mob/blob/blob_64x64.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 321 KiB |
BIN
icons/mob/blob/blob_AME.dmi
Normal file
BIN
icons/mob/blob/blob_AME.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
BIN
icons/mob/blob/blob_honkscape.dmi
Normal file
BIN
icons/mob/blob/blob_honkscape.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 312 KiB |
@@ -300,6 +300,7 @@
|
||||
#include "code\game\gamemodes\setupgame.dm"
|
||||
#include "code\game\gamemodes\steal_items.dm"
|
||||
#include "code\game\gamemodes\autotraitor\autotraitor.dm"
|
||||
#include "code\game\gamemodes\blob\_blob_defines.dm"
|
||||
#include "code\game\gamemodes\blob\blob.dm"
|
||||
#include "code\game\gamemodes\blob\blob_finish.dm"
|
||||
#include "code\game\gamemodes\blob\blob_report.dm"
|
||||
|
||||
Reference in New Issue
Block a user