mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 20:17:15 +01:00
Fix a bunch of issues and runtimes (#17951)
* selection target * ugh * fix deadmin * larger * fix paper icons * those are inverted * don't miss that * fix all * point transfer * add nostrip flag to items * un.... teppi * . * end life proc after qdel * this could be null in very rare cases * this has a lot of sleeps, someday should be refactored and check for qdeleted * needs to be an object * qdel check this * use the rsc properly * wtf? * . * fix narrate * . * push * inform user, null it * . * can be null * fix maint lurkers * . * spans * . * fix that too * urg * fix distillery * don't wrap them * needs usr * Update cash_register.dm * quick hook cleanup * lots of fixes * . * clean that up for reasons
This commit is contained in:
@@ -220,7 +220,7 @@
|
||||
target = null
|
||||
busy = 0
|
||||
update_icons()
|
||||
else if(istype(A, /turf/space) || istype(A, /turf/simulated/mineral/floor))
|
||||
else if(isopenturf(A) || istype(A, /turf/simulated/mineral/floor))
|
||||
var/building = 2
|
||||
if(locate(/obj/structure/lattice, A))
|
||||
building = 1
|
||||
|
||||
@@ -125,11 +125,11 @@
|
||||
base_species = SPECIES_LLEILL
|
||||
|
||||
var/list/lleill_abilities = list(/datum/power/lleill/invisibility,
|
||||
/datum/power/lleill/transmute,
|
||||
/datum/power/lleill/rings,
|
||||
/datum/power/lleill/contact,
|
||||
/datum/power/lleill/alchemy,
|
||||
/datum/power/lleill/beastform)
|
||||
/datum/power/lleill/transmute,
|
||||
/datum/power/lleill/rings,
|
||||
/datum/power/lleill/contact,
|
||||
/datum/power/lleill/alchemy,
|
||||
/datum/power/lleill/beastform)
|
||||
|
||||
var/list/lleill_ability_datums = list()
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
H.lleill_display.icon_state = "lleill-4"
|
||||
|
||||
/datum/species/proc/update_lleill_hud(var/mob/living/carbon/human/H)
|
||||
var/relative_energy = ((lleill_energy/lleill_energy_max)*100)
|
||||
var/relative_energy = lleill_energy_max ? ((lleill_energy/lleill_energy_max)*100) : 0
|
||||
if(H.lleill_display)
|
||||
H.lleill_display.invisibility = INVISIBILITY_NONE
|
||||
switch(relative_energy)
|
||||
|
||||
@@ -668,7 +668,7 @@
|
||||
return TRUE
|
||||
|
||||
// Used to find a special target for falling on, such as pouncing on someone from above.
|
||||
/datum/species/proc/find_fall_target_special(src, landing)
|
||||
/datum/species/proc/find_fall_target_special(source, landing)
|
||||
return FALSE
|
||||
|
||||
// Used to override normal fall behaviour. Use only when the species does fall down a level.
|
||||
|
||||
@@ -527,8 +527,8 @@
|
||||
to_chat(src, span_warning("You must remain still to blobform!"))
|
||||
|
||||
//For some reason, there's no way to force drop all the mobs grabbed. This ought to fix that. And be moved elsewhere. Call with caution, doesn't handle cycles.
|
||||
/proc/remove_micros(var/src, var/mob/root)
|
||||
for(var/obj/item/I in src)
|
||||
/proc/remove_micros(var/source, var/mob/root)
|
||||
for(var/obj/item/I in source)
|
||||
remove_micros(I, root) //Recursion. I'm honestly depending on there being no containment loop, but at the cost of performance that can be fixed too.
|
||||
if(istype(I, /obj/item/holder))
|
||||
root.remove_from_mob(I)
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
seal_delay = 0
|
||||
var/mob/living/myprotean
|
||||
initial_modules = list(/obj/item/rig_module/protean/syphon, /obj/item/rig_module/protean/armor, /obj/item/rig_module/protean/healing)
|
||||
item_flags = NOSTRIP
|
||||
|
||||
helm_type = /obj/item/clothing/head/helmet/space/rig/protean //These are important for sprite pointers
|
||||
boot_type = /obj/item/clothing/shoes/magboots/rig/protean
|
||||
|
||||
@@ -44,5 +44,6 @@
|
||||
else
|
||||
voice_sounds_list = DEFAULT_TALK_SOUNDS
|
||||
resize(size_multiplier, animate = FALSE, uncapped = has_large_resize_bounds(), ignore_prefs = TRUE, aura_animation = FALSE)
|
||||
init_vore()
|
||||
|
||||
return .
|
||||
|
||||
@@ -1041,7 +1041,7 @@
|
||||
for(var/belly_class in vore_fullness_ex)
|
||||
reset_belly_lights(belly_class)
|
||||
var/vs_fullness = vore_fullness_ex[belly_class]
|
||||
if(belly_class == "sleeper")
|
||||
if(belly_class == "sleeper" && vore_selected)
|
||||
if(sleeper_state == 0 && vore_selected.silicon_belly_overlay_preference == "Sleeper") continue
|
||||
if(sleeper_state != 0 && !(vs_fullness + 1 > vore_capacity_ex[belly_class]))
|
||||
if(vore_selected.silicon_belly_overlay_preference == "Sleeper")
|
||||
|
||||
@@ -686,7 +686,9 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have?
|
||||
else if (not_hungy)
|
||||
var/nutrition_cost = 500 + (nutrition / 2)
|
||||
adjust_nutrition(-nutrition_cost)
|
||||
new /mob/living/simple_mob/vore/alienanimals/teppi(loc, src)
|
||||
new /mob/living/simple_mob/vore/alienanimals/teppi(loc, store_teppi_data(src))
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
visible_message("\The [src] whines pathetically...", runemessage = "whines")
|
||||
if(prob(50))
|
||||
@@ -765,7 +767,6 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have?
|
||||
GLOB.teppi_count ++
|
||||
if(teppi1 && !teppi2)
|
||||
inherit_from_baby(teppi1)
|
||||
qdel(teppi1)
|
||||
else if (teppi1 && teppi2)
|
||||
inherit_from_parents(teppi1, teppi2)
|
||||
. = ..()
|
||||
@@ -919,26 +920,46 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have?
|
||||
/mob/living/simple_mob/vore/alienanimals/teppi/baby/init_vore() //shouldn't need all the vore bidness if they aren't using it as babbies. They get their tummies when they grow up.
|
||||
return
|
||||
|
||||
/mob/living/simple_mob/vore/alienanimals/teppi/proc/store_teppi_data(mob/living/simple_mob/vore/alienanimals/teppi/teppi)
|
||||
var/list/teppi_data = list(
|
||||
"dir" = teppi.dir,
|
||||
"name" = teppi.name,
|
||||
"real_name" = teppi.real_name,
|
||||
"faction" = teppi.faction,
|
||||
"affinity" = teppi.affinity,
|
||||
"affection_factor" = teppi.affection_factor,
|
||||
"nutrition" = teppi.nutrition,
|
||||
"allergen_preference" = teppi.allergen_preference,
|
||||
"allergen_unpreference" = teppi.allergen_unpreference,
|
||||
"color" = teppi.color,
|
||||
"marking_color" = teppi.marking_color,
|
||||
"horn_color" = teppi.horn_color,
|
||||
"eye_color" = teppi.eye_color,
|
||||
"skin_color" = teppi.skin_color,
|
||||
)
|
||||
|
||||
return teppi_data
|
||||
|
||||
//This sets all the things on adult teppi when they grow from a baby
|
||||
/mob/living/simple_mob/vore/alienanimals/teppi/proc/inherit_from_baby(mob/living/simple_mob/vore/alienanimals/teppi/baby/baby)
|
||||
/mob/living/simple_mob/vore/alienanimals/teppi/proc/inherit_from_baby(list/teppi_data)
|
||||
inherit_colors = TRUE
|
||||
inherit_allergen = TRUE
|
||||
dir = baby.dir
|
||||
name = baby.name
|
||||
real_name = baby.real_name
|
||||
faction = baby.faction
|
||||
affinity = baby.affinity
|
||||
affection_factor = baby.affection_factor
|
||||
nutrition = baby.nutrition
|
||||
allergen_preference = baby.allergen_preference
|
||||
allergen_unpreference = baby.allergen_unpreference
|
||||
color = baby.color
|
||||
marking_color = baby.marking_color
|
||||
horn_color = baby.horn_color
|
||||
eye_color = baby.eye_color
|
||||
skin_color = baby.skin_color
|
||||
dir = teppi_data["dir"]
|
||||
name = teppi_data["name"]
|
||||
real_name = teppi_data["real_name"]
|
||||
faction = teppi_data["faction"]
|
||||
affinity = teppi_data["affinity"]
|
||||
affection_factor = teppi_data["affection_factor"]
|
||||
nutrition = teppi_data["nutrition"]
|
||||
allergen_preference = teppi_data["allergen_preference"]
|
||||
allergen_unpreference = teppi_data["allergen_unpreference"]
|
||||
color = teppi_data["color"]
|
||||
marking_color = teppi_data["marking_color"]
|
||||
horn_color = teppi_data["horn_color"]
|
||||
eye_color = teppi_data["eye_color"]
|
||||
skin_color = teppi_data["skin_color"]
|
||||
ghostjoin = 1
|
||||
GLOB.active_ghost_pods |= src
|
||||
GLOB.active_ghost_pods += src
|
||||
update_icon()
|
||||
|
||||
//This sets all the things on baby teppi when they are bred from adult teppi
|
||||
|
||||
@@ -147,7 +147,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have?
|
||||
var/mob/living/simple_mob/animal/passive/chicken/C = new (src.loc)
|
||||
C.ghostjoin = 1
|
||||
C.ghostjoin_icon()
|
||||
GLOB.active_ghost_pods |= C
|
||||
GLOB.active_ghost_pods += C
|
||||
qdel(src)
|
||||
|
||||
// Say Lists
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
living_mob_list += src
|
||||
lastarea = get_area(src)
|
||||
set_focus(src) // VOREStation Add - Key Handling
|
||||
hook_vr("mob_new",list(src)) //VOREStation Code
|
||||
update_transform() // Some mobs may start bigger or smaller than normal.
|
||||
. = ..()
|
||||
//return QDEL_HINT_HARDDEL_NOW Just keep track of mob references. They delete SO much faster now.
|
||||
|
||||
Reference in New Issue
Block a user