mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 11:05:03 +01:00
Ports Biotypes (#15471)
* Ports Biotypes * styling * converts a species trait * comment
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPMINDSHIELD_HUD,IMPCHEM_HUD,IMPTRACK_HUD,SPECIALROLE_HUD,GLAND_HUD)
|
||||
pressure_resistance = 25
|
||||
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
//Marking colour and style
|
||||
var/list/m_colours = DEFAULT_MARKING_COLOURS //All colours set to #000000.
|
||||
var/list/m_styles = DEFAULT_MARKING_STYLES //All markings set to None.
|
||||
|
||||
@@ -83,6 +83,8 @@
|
||||
var/single_gib_type = /obj/effect/decal/cleanable/blood/gibs
|
||||
var/remains_type = /obj/effect/decal/remains/human //What sort of remains is left behind when the species dusts
|
||||
var/base_color //Used when setting species.
|
||||
/// bitfield of biotypes the mob belongs to.
|
||||
var/inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
var/list/inherent_factions
|
||||
|
||||
//Used in icon caching.
|
||||
@@ -285,6 +287,8 @@
|
||||
H.hud_used.update_locked_slots()
|
||||
H.ventcrawler = ventcrawler
|
||||
|
||||
H.mob_biotypes = inherent_biotypes
|
||||
|
||||
for(var/X in inherent_traits)
|
||||
ADD_TRAIT(H, X, SPECIES_TRAIT)
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
even the simplest concepts of other minds. Their alien physiology allows them survive happily off a diet of nothing but light, \
|
||||
water and other radiation."
|
||||
|
||||
species_traits = list(IS_PLANT)
|
||||
inherent_traits = list(TRAIT_NOGERMS, TRAIT_NODECAY)
|
||||
inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_PLANT
|
||||
clothing_flags = HAS_SOCKS
|
||||
default_hair_colour = "#000000"
|
||||
has_gender = FALSE
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
species_traits = list(NO_BLOOD)
|
||||
inherent_traits = list(TRAIT_RESISTHEAT, TRAIT_NOBREATH, TRAIT_RESISTCOLD, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOFIRE, TRAIT_CHUNKYFINGERS, TRAIT_RADIMMUNE, TRAIT_PIERCEIMMUNE, TRAIT_NOPAIN)
|
||||
inherent_biotypes = MOB_HUMANOID | MOB_MINERAL
|
||||
dies_at_threshold = TRUE
|
||||
speed_mod = 2
|
||||
brute_mod = 0.45 //55% damage reduction
|
||||
@@ -313,9 +314,9 @@
|
||||
name = "Wood Golem"
|
||||
golem_colour = rgb(158, 112, 75)
|
||||
skinned_type = /obj/item/stack/sheet/wood
|
||||
species_traits = list(NO_BLOOD, IS_PLANT) // Refactor into biotype
|
||||
//Can burn and take damage from heat
|
||||
inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_CHUNKYFINGERS, TRAIT_RADIMMUNE, TRAIT_PIERCEIMMUNE, TRAIT_NOPAIN)
|
||||
inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_PLANT
|
||||
brute_mod = 0.7 //30% damage reduction down from 55%
|
||||
burn_mod = 0.875
|
||||
tox_mod = 0.7
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
tox_mod = 1.7
|
||||
|
||||
species_traits = list(IS_WHITELISTED)
|
||||
inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_BUG
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
|
||||
bodyflags = HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS
|
||||
eyes = "kidan_eyes_s"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
species_traits = list(IS_WHITELISTED, NO_BLOOD, NO_CLONESCAN, NO_INTORGANS, NOTRANSSTING)
|
||||
inherent_traits = list(TRAIT_VIRUSIMMUNE, TRAIT_NOBREATH, TRAIT_RADIMMUNE, TRAIT_NOGERMS, TRAIT_NODECAY, TRAIT_NOPAIN, TRAIT_GENELESS) //Computers that don't decay? What a lie!
|
||||
inherent_biotypes = MOB_ROBOTIC | MOB_HUMANOID
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
|
||||
bodyflags = HAS_SKIN_COLOR | HAS_HEAD_MARKINGS | HAS_HEAD_ACCESSORY | ALL_RPARTS
|
||||
dietflags = 0 //IPCs can't eat, so no diet
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
species_traits = list(IS_WHITELISTED, NO_BLOOD, NOTRANSSTING)
|
||||
inherent_traits = list(TRAIT_RADIMMUNE, TRAIT_NOHUNGER)
|
||||
inherent_biotypes = MOB_HUMANOID | MOB_MINERAL
|
||||
forced_heartattack = TRUE // Plasmamen have no blood, but they should still get heart-attacks
|
||||
skinned_type = /obj/item/stack/sheet/mineral/plasma // We're low on plasma, R&D! *eyes plasmaman co-worker intently*
|
||||
dietflags = DIET_OMNI
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
species_traits = list(NO_BLOOD)
|
||||
inherent_traits = list(TRAIT_RESISTHEAT, TRAIT_NOBREATH, TRAIT_RESISTCOLD, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_RADIMMUNE, TRAIT_PIERCEIMMUNE, TRAIT_NOHUNGER, TRAIT_XENO_IMMUNE)
|
||||
inherent_biotypes = MOB_UNDEAD | MOB_HUMANOID
|
||||
tox_mod = 0
|
||||
clone_mod = 0
|
||||
dies_at_threshold = TRUE
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
their native tongue is a heavy hissing laungage called Sinta'Unathi."
|
||||
|
||||
species_traits = list(LIPS)
|
||||
inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_REPTILE
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
|
||||
bodyflags = HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_BODY_MARKINGS | HAS_HEAD_MARKINGS | HAS_SKIN_COLOR | HAS_ALT_HEADS | TAIL_WAGGING
|
||||
dietflags = DIET_CARN
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
var/floating = FALSE
|
||||
var/mob_size = MOB_SIZE_HUMAN
|
||||
// What type of mob is this
|
||||
var/mob_biotypes = MOB_ORGANIC
|
||||
var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
|
||||
var/digestion_ratio = 1 //controls how quickly reagents metabolize; largely governered by species attributes.
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
bubble_icon = "machine"
|
||||
has_unlimited_silicon_privilege = 1
|
||||
weather_immunities = list("ash")
|
||||
mob_biotypes = MOB_ROBOTIC
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2
|
||||
var/syndicate = 0
|
||||
var/const/MAIN_CHANNEL = "Main Frequency"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
/mob/living/simple_animal/bot
|
||||
icon = 'icons/obj/aibots.dmi'
|
||||
layer = MOB_LAYER - 0.1
|
||||
mob_biotypes = MOB_ROBOTIC
|
||||
light_range = 3
|
||||
stop_automated_movement = 1
|
||||
wander = 0
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/mob/living/simple_animal/hostile/construct
|
||||
name = "Construct"
|
||||
real_name = "Construct"
|
||||
mob_biotypes = NONE
|
||||
speak_emote = list("hisses")
|
||||
emote_hear = list("wails","screeches")
|
||||
response_help = "thinks better of touching"
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
|
||||
ventcrawler = 2
|
||||
mob_size = MOB_SIZE_TINY
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BUG
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 0)
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
minbodytemp = 270
|
||||
maxbodytemp = INFINITY
|
||||
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BUG
|
||||
mob_size = MOB_SIZE_TINY
|
||||
response_help = "pokes"
|
||||
response_disarm = "shoos"
|
||||
|
||||
@@ -15,4 +15,5 @@
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
can_collar = 1
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
icon_dead = "nymph_dead"
|
||||
icon_resting = "nymph_sleep"
|
||||
pass_flags = PASSTABLE | PASSMOB
|
||||
mob_biotypes = MOB_ORGANIC | MOB_PLANT
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
ventcrawler = 2
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
faction = list("neutral")
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
attack_same = 1
|
||||
attacktext = "kicks"
|
||||
attack_sound = 'sound/weapons/punch1.ogg'
|
||||
@@ -132,6 +133,7 @@
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
var/obj/item/udder/udder = null
|
||||
gender = FEMALE
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
|
||||
/mob/living/simple_animal/cow/Initialize()
|
||||
udder = new()
|
||||
@@ -178,6 +180,7 @@
|
||||
icon_dead = "chick_dead"
|
||||
icon_gib = "chick_gib"
|
||||
gender = FEMALE
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak = list("Cherp.","Cherp?","Chirrup.","Cheep!")
|
||||
speak_emote = list("cheeps")
|
||||
emote_hear = list("cheeps")
|
||||
@@ -222,6 +225,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
name = "\improper chicken"
|
||||
desc = "Hopefully the eggs are good this season."
|
||||
gender = FEMALE
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
icon_state = "chicken_brown"
|
||||
icon_living = "chicken_brown"
|
||||
icon_dead = "chicken_brown_dead"
|
||||
@@ -333,6 +337,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
can_collar = 1
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
|
||||
@@ -357,6 +362,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
can_collar = 1
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
|
||||
/mob/living/simple_animal/goose
|
||||
@@ -380,6 +386,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
can_collar = 1
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
|
||||
/mob/living/simple_animal/seal
|
||||
@@ -403,6 +410,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
can_collar = 1
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
|
||||
@@ -427,6 +435,7 @@ GLOBAL_VAR_INIT(chicken_count, 0)
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
can_collar = 1
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
can_hide = 1
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 1)
|
||||
can_collar = 1
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST | MOB_REPTILE
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
|
||||
/mob/living/simple_animal/lizard/decompile_act(obj/item/matter_decompiler/C, mob/user)
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
density = 0
|
||||
ventcrawler = 2
|
||||
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
mob_size = MOB_SIZE_TINY
|
||||
var/mouse_color //brown, gray and white, leave blank for random
|
||||
layer = MOB_LAYER
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/mob/living/simple_animal/pet
|
||||
icon = 'icons/mob/pets.dmi'
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
can_collar = TRUE
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
ventcrawler = VENTCRAWLER_ALWAYS
|
||||
density = FALSE
|
||||
pass_flags = PASSTABLE | PASSMOB
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST | MOB_REPTILE
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
gold_core_spawnable = FRIENDLY_SPAWN
|
||||
obj_damage = 0
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
response_disarm = "shoos"
|
||||
response_harm = "stomps on"
|
||||
speed = 0
|
||||
mob_biotypes = MOB_ROBOTIC
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
speak_emote = list("beeps","clicks","chirps")
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_living = "bat"
|
||||
icon_dead = "bat_dead"
|
||||
icon_gib = "bat_dead"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_chance = 0
|
||||
turns_per_move = 3
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 1)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_living = "bear"
|
||||
icon_dead = "bear_dead"
|
||||
icon_gib = "bear_gib"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak = list("RAWR!","Rawr!","GRR!","Growl!")
|
||||
speak_emote = list("growls", "roars")
|
||||
emote_hear = list("rawrs","grumbles","grawls")
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
|
||||
density = FALSE
|
||||
mob_size = MOB_SIZE_TINY
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BUG
|
||||
flying = TRUE
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
search_objects = TRUE //have to find those plant trays!
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
icon_living = "base"
|
||||
icon_dead = "base_dead"
|
||||
icon_gib = "carp_gib"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 2)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/mob/living/simple_animal/hostile/deathsquid
|
||||
name = "death squid"
|
||||
desc = "A large, floating eldritch horror. Its body glows with an evil red light, and its tentacles look to have been dipped in alien blood."
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
|
||||
speed = 1
|
||||
speak_emote = list("telepathically thunders", "telepathically booms")
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon_state = "faithless"
|
||||
icon_living = "faithless"
|
||||
icon_dead = "faithless_dead"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "passes through the"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_living = "cat2"
|
||||
icon_dead = "cat2_dead"
|
||||
gender = MALE
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
maxHealth = 20
|
||||
health = 20
|
||||
melee_damage_lower = 10
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
icon_state = "cursedclown"
|
||||
icon_living = "cursedclown"
|
||||
icon_gib = "clown_gib"
|
||||
mob_biotypes = NONE
|
||||
maxHealth = 200
|
||||
health = 200
|
||||
speed = -1
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
var/butcher_state = 8 // Icon state for dead spider icons
|
||||
icon_living = "guard"
|
||||
icon_dead = "guard_dead"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BUG
|
||||
speak_emote = list("chitters")
|
||||
emote_hear = list("chitters")
|
||||
speak_chance = 5
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon_living = "hellhound"
|
||||
icon_dead = "hellhound_dead"
|
||||
icon_resting = "hellhound_rest"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 0
|
||||
maxbodytemp = INFINITY
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
icon_state = "basic"
|
||||
icon_living = "basic"
|
||||
icon_dead = "basic"
|
||||
mob_biotypes = MOB_ROBOTIC
|
||||
health = 15
|
||||
maxHealth = 15
|
||||
melee_damage_lower = 2
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "static"
|
||||
icon_living = "static"
|
||||
icon_dead = "null"
|
||||
mob_biotypes = NONE
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
a_intent = INTENT_HARM
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
icon_dead = "panther_dead"
|
||||
icon_resting = "panther_rest"
|
||||
icon_gib = "panther_dead"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_chance = 0
|
||||
turns_per_move = 3
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 3)
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon_state = "tomato"
|
||||
icon_living = "tomato"
|
||||
icon_dead = "tomato_dead"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_PLANT
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
maxHealth = 30
|
||||
|
||||
@@ -28,6 +28,7 @@ Difficulty: Medium
|
||||
icon_state = "miner"
|
||||
icon_living = "miner"
|
||||
icon = 'icons/mob/lavaland/blood_drunk.dmi'
|
||||
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
light_color = "#E4C7C5"
|
||||
flying = FALSE
|
||||
speak_emote = list("roars")
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
a_intent = INTENT_HARM
|
||||
sentience_type = SENTIENCE_BOSS
|
||||
environment_smash = ENVIRONMENT_SMASH_RWALLS
|
||||
mob_biotypes = MOB_ORGANIC | MOB_EPIC
|
||||
obj_damage = 400
|
||||
light_range = 3
|
||||
faction = list("mining", "boss")
|
||||
|
||||
@@ -47,6 +47,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa
|
||||
icon_state = "swarmer_console"
|
||||
health = 750
|
||||
maxHealth = 750 //""""low-ish"""" HP because it's a passive boss, and the swarm itself is the real foe
|
||||
mob_biotypes = MOB_ROBOTIC
|
||||
internal_type = /obj/item/gps/internal/swarmer_beacon
|
||||
medal_type = BOSS_MEDAL_SWARMERS
|
||||
score_type = SWARMER_BEACON_SCORE
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
maxHealth = 250
|
||||
health = 250
|
||||
|
||||
mob_biotypes = NONE
|
||||
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 8
|
||||
melee_damage_upper = 12
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
icon_aggro = "Basilisk_alert"
|
||||
icon_dead = "Basilisk_dead"
|
||||
icon_gib = "syndicate_gib"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
move_to_delay = 20
|
||||
projectiletype = /obj/item/projectile/temp/basilisk
|
||||
projectilesound = 'sound/weapons/pierce.ogg'
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
icon_aggro = "Goldgrub_alert"
|
||||
icon_dead = "Goldgrub_dead"
|
||||
icon_gib = "syndicate_gib"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
vision_range = 2
|
||||
aggro_vision_range = 9
|
||||
move_to_delay = 5
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
icon_aggro = "Goliath_alert"
|
||||
icon_dead = "Goliath_dead"
|
||||
icon_gib = "syndicate_gib"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
mouse_opacity = MOUSE_OPACITY_ICON
|
||||
move_to_delay = 40
|
||||
ranged = TRUE
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_state = "gutlunch"
|
||||
icon_living = "gutlunch"
|
||||
icon_dead = "gutlunch"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_emote = list("warbles", "quavers")
|
||||
emote_hear = list("trills.")
|
||||
emote_see = list("sniffs.", "burps.")
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon_aggro = "Hivelord_alert"
|
||||
icon_dead = "Hivelord_dead"
|
||||
icon_gib = "syndicate_gib"
|
||||
mob_biotypes = MOB_ORGANIC
|
||||
mouse_opacity = MOUSE_OPACITY_OPAQUE
|
||||
move_to_delay = 14
|
||||
ranged = 1
|
||||
@@ -160,6 +161,7 @@
|
||||
icon_aggro = "legion"
|
||||
icon_dead = "legion"
|
||||
icon_gib = "syndicate_gib"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
mouse_opacity = MOUSE_OPACITY_ICON
|
||||
obj_damage = 60
|
||||
melee_damage_lower = 15
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon_state = "mushroom_color"
|
||||
icon_living = "mushroom_color"
|
||||
icon_dead = "mushroom_dead"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_PLANT
|
||||
speak_chance = 0
|
||||
turns_per_move = 1
|
||||
maxHealth = 10
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "piratemelee"
|
||||
icon_living = "piratemelee"
|
||||
icon_dead = "piratemelee_dead" // Does not actually exist. del_on_death.
|
||||
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "pushes the"
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon_dead = "clown_dead"
|
||||
icon_gib = "clown_gib"
|
||||
speak_chance = 0
|
||||
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
turns_per_move = 5
|
||||
response_help = "pokes the"
|
||||
response_disarm = "gently pushes aside the"
|
||||
@@ -39,6 +40,7 @@
|
||||
icon_state = "clowngoblin"
|
||||
icon_living = "clowngoblin"
|
||||
icon_dead = null
|
||||
mob_biotypes = MOB_ORGANIC
|
||||
response_help = "honks the"
|
||||
speak = list("Honk!")
|
||||
speak_emote = list("sqeaks")
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_state = "drone3"
|
||||
icon_living = "drone3"
|
||||
icon_dead = "drone_dead"
|
||||
mob_biotypes = MOB_ROBOTIC
|
||||
ranged = 1
|
||||
rapid = 3
|
||||
retreat_distance = 3
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon = 'icons/mob/carp.dmi'
|
||||
icon_state = "carp"
|
||||
icon_gib = "carp_gib"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 1)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon_living = "kangaroo"
|
||||
icon_dead = "kangaroo_dead"
|
||||
icon_gib = "kangaroo_dead"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
turns_per_move = 8
|
||||
response_help = "pets"
|
||||
emote_hear = list("bark")
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
icon_living = "guard"
|
||||
icon_dead = "guard_dead"
|
||||
icon_gib = "guard_dead"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BUG
|
||||
turns_per_move = 8
|
||||
response_help = "pets"
|
||||
emote_hear = list("chitters")
|
||||
@@ -19,4 +20,4 @@
|
||||
unique_pet = TRUE
|
||||
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 2, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
|
||||
gender = FEMALE
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
icon_state = "ghost2"
|
||||
icon_living = "ghost2"
|
||||
icon_dead = "ghost"
|
||||
mob_biotypes = MOB_SPIRIT
|
||||
density = 0 // ghost
|
||||
invisibility = 60 // no seriously ghost
|
||||
speak_chance = 0 // fyi, ghost
|
||||
@@ -69,6 +70,7 @@
|
||||
icon_state = "skeleton_s"
|
||||
icon_living = "skeleton_s"
|
||||
icon_dead = "skeleton_l"
|
||||
mob_biotypes = MOB_UNDEAD | MOB_HUMANOID
|
||||
speak_chance = 0
|
||||
turns_per_move = 10
|
||||
response_help = "shakes hands with"
|
||||
@@ -97,6 +99,7 @@
|
||||
icon_state = "zombie_s"
|
||||
icon_living = "zombie_s"
|
||||
icon_dead = "zombie_l"
|
||||
mob_biotypes = MOB_UNDEAD | MOB_HUMANOID
|
||||
speak_chance = 0
|
||||
turns_per_move = 10
|
||||
response_help = "gently prods"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_living = "russianmelee"
|
||||
icon_dead = "russianmelee_dead" // Does not actually exist. del_on_death.
|
||||
icon_gib = "russianmelee_gib" // Does not actually exist. del_on_death.
|
||||
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "pokes the"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon = 'icons/mob/simple_human.dmi'
|
||||
icon_state = "skeleton"
|
||||
icon_living = "skeleton"
|
||||
mob_biotypes = MOB_UNDEAD | MOB_HUMANOID
|
||||
turns_per_move = 5
|
||||
speak_emote = list("rattles")
|
||||
emote_see = list("rattles")
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
icon_dead = "angel"
|
||||
gender = NEUTER
|
||||
a_intent = INTENT_HARM
|
||||
mob_biotypes = MOB_HUMANOID
|
||||
|
||||
response_help = "touches"
|
||||
response_disarm = "pushes"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_living = "syndicate"
|
||||
icon_dead = "syndicate_dead" // Does not actually exist. del_on_death.
|
||||
icon_gib = "syndicate_gib" // Does not actually exist. del_on_death.
|
||||
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "pokes the"
|
||||
@@ -350,6 +351,7 @@
|
||||
icon_living = "viscerator_attack"
|
||||
pass_flags = PASSTABLE | PASSMOB
|
||||
a_intent = INTENT_HARM
|
||||
mob_biotypes = MOB_ROBOTIC
|
||||
health = 15
|
||||
maxHealth = 15
|
||||
obj_damage = 0
|
||||
|
||||
@@ -25,6 +25,8 @@ GLOBAL_LIST_EMPTY(ts_spiderling_list)
|
||||
icon_living = "terror_red"
|
||||
icon_dead = "terror_red_dead"
|
||||
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BUG
|
||||
|
||||
// Health
|
||||
maxHealth = 120
|
||||
health = 120
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_living = "pine_1"
|
||||
icon_dead = "pine_1"
|
||||
icon_gib = "pine_1"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_PLANT
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "brushes the"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
name = "venus human trap"
|
||||
desc = "Now you know how the fly feels."
|
||||
icon_state = "venus_human_trap"
|
||||
mob_biotypes = MOB_ORGANIC | MOB_PLANT
|
||||
layer = MOB_LAYER + 0.9
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
response_harm = "swats"
|
||||
stop_automated_movement = TRUE
|
||||
universal_speak = TRUE
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
|
||||
var/parrot_state = PARROT_WANDER //Hunt for a perch when created
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/mob/living/simple_animal/possessed_object
|
||||
name = "possessed doodad"
|
||||
var/spirit_name = "mysterious force" // What we call ourselves in attack messages.
|
||||
mob_biotypes = MOB_SPIRIT
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_state = "shade"
|
||||
icon_living = "shade"
|
||||
icon_dead = "shade_dead"
|
||||
mob_biotypes = MOB_SPIRIT
|
||||
maxHealth = 50
|
||||
health = 50
|
||||
speak_emote = list("hisses")
|
||||
|
||||
@@ -66,12 +66,17 @@
|
||||
max_charges = 3 //3, 2, 2, 1
|
||||
|
||||
/obj/item/gun/magic/wand/death/zap_self(mob/living/user)
|
||||
var/message ="<span class='warning'>You irradiate yourself with pure energy! "
|
||||
message += pick("Do not pass go. Do not collect 200 zorkmids.</span>","You feel more confident in your spell casting skills.</span>","You Die...</span>","Do you want your possessions identified?</span>")
|
||||
to_chat(user, message)
|
||||
user.adjustFireLoss(3000)
|
||||
charges--
|
||||
..()
|
||||
charges--
|
||||
if(isliving(user))
|
||||
if(user.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead
|
||||
user.revive()
|
||||
to_chat(user, "<span class='notice'>You feel great!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='warning'>You irradiate yourself with pure negative energy! [pick("Do not pass go. Do not collect 200 zorkmids.", "You feel more confident in your spell casting skills.", "You Die...", "Do you want your possessions identified?")]</span>")
|
||||
if(ismachineperson(user)) //speshul snowfleks deserv speshul treetment
|
||||
user.adjustFireLoss(6969)
|
||||
user.death(FALSE)
|
||||
|
||||
/////////////////////////////////////
|
||||
//WAND OF HEALING
|
||||
@@ -86,10 +91,15 @@
|
||||
max_charges = 3 //3, 2, 2, 1
|
||||
|
||||
/obj/item/gun/magic/wand/resurrection/zap_self(mob/living/user)
|
||||
..()
|
||||
charges--
|
||||
if(isliving(user))
|
||||
if(user.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead
|
||||
to_chat(user, "<span class='warning'>You irradiate yourself with pure positive energy! [pick("Do not pass go. Do not collect 200 zorkmids.", "You feel more confident in your spell casting skills.", "You Die...", "Do you want your possessions identified?")]</span>")
|
||||
user.death(FALSE)
|
||||
return
|
||||
user.revive()
|
||||
to_chat(user, "<span class='notice'>You feel great!</span>")
|
||||
charges--
|
||||
..()
|
||||
|
||||
/////////////////////////////////////
|
||||
//WAND OF POLYMORPH
|
||||
|
||||
@@ -25,15 +25,21 @@
|
||||
var/exp_flash = 3
|
||||
var/exp_fire = 2
|
||||
|
||||
/obj/item/projectile/magic/death/on_hit(mob/living/carbon/C)
|
||||
/obj/item/projectile/magic/death/on_hit(mob/living/carbon/target)
|
||||
. = ..()
|
||||
if(isliving(C))
|
||||
if(ismachineperson(C)) //speshul snowfleks deserv speshul treetment
|
||||
C.adjustFireLoss(6969) //remember - slimes love fire
|
||||
else
|
||||
C.death()
|
||||
if(isliving(target))
|
||||
if(target.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead
|
||||
if(target.revive())
|
||||
target.grab_ghost(force = TRUE) // even suicides
|
||||
to_chat(target, "<span class='notice'>You rise with a start, you're undead!!!</span>")
|
||||
else if(target.stat != DEAD)
|
||||
to_chat(target, "<span class='notice'>You feel great!</span>")
|
||||
return
|
||||
if(ismachineperson(target)) //speshul snowfleks deserv speshul treetment
|
||||
target.adjustFireLoss(6969) //remember - slimes love fire
|
||||
target.death(FALSE)
|
||||
|
||||
visible_message("<span class='danger'>[C] topples backwards as the death bolt impacts [C.p_them()]!</span>")
|
||||
target.visible_message("<span class='danger'>[target] topples backwards as the death bolt impacts [target.p_them()]!</span>")
|
||||
|
||||
/obj/item/projectile/magic/fireball/Range()
|
||||
var/turf/T1 = get_step(src,turn(dir, -45))
|
||||
@@ -73,21 +79,25 @@
|
||||
name = "bolt of resurrection"
|
||||
icon_state = "ion"
|
||||
|
||||
/obj/item/projectile/magic/resurrection/on_hit(var/mob/living/carbon/target)
|
||||
/obj/item/projectile/magic/resurrection/on_hit(mob/living/carbon/target)
|
||||
. = ..()
|
||||
if(ismob(target))
|
||||
var/old_stat = target.stat
|
||||
target.suiciding = 0
|
||||
target.revive()
|
||||
if(!target.ckey)
|
||||
for(var/mob/dead/observer/ghost in GLOB.player_list)
|
||||
if(target.real_name == ghost.real_name)
|
||||
ghost.reenter_corpse()
|
||||
break
|
||||
if(old_stat != DEAD)
|
||||
to_chat(target, "<span class='notice'>You feel great!</span>")
|
||||
if(target.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead
|
||||
target.death(FALSE)
|
||||
target.visible_message("<span class='danger'>[target] topples backwards as the death bolt impacts [target.p_them()]!</span>")
|
||||
else
|
||||
to_chat(target, "<span class='notice'>You rise with a start, you're alive!!!</span>")
|
||||
var/old_stat = target.stat
|
||||
target.suiciding = FALSE
|
||||
target.revive()
|
||||
if(!target.ckey)
|
||||
for(var/mob/dead/observer/ghost in GLOB.player_list)
|
||||
if(target.real_name == ghost.real_name)
|
||||
ghost.reenter_corpse()
|
||||
break
|
||||
if(old_stat != DEAD)
|
||||
to_chat(target, "<span class='notice'>You feel great!</span>")
|
||||
else
|
||||
to_chat(target, "<span class='notice'>You rise with a start, you're alive!!!</span>")
|
||||
|
||||
/obj/item/projectile/magic/teleport
|
||||
name = "bolt of teleportation"
|
||||
|
||||
@@ -1040,20 +1040,19 @@
|
||||
var/obj/structure/spacevine/SV = O
|
||||
SV.on_chem_effect(src)
|
||||
|
||||
/datum/reagent/glyphosate/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume)
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
if(!C.wear_mask) // If not wearing a mask
|
||||
C.adjustToxLoss(lethality)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(IS_PLANT in H.dna.species.species_traits) //plantmen take extra damage
|
||||
H.adjustToxLoss(3)
|
||||
..()
|
||||
else if(istype(M, /mob/living/simple_animal/diona)) //nymphs take EVEN MORE damage
|
||||
var/mob/living/simple_animal/diona/D = M
|
||||
D.adjustHealth(100)
|
||||
..()
|
||||
/datum/reagent/glyphosate/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume)
|
||||
if(isliving(M))
|
||||
if(M.mob_biotypes & MOB_PLANT)
|
||||
var/damage = min(round(0.4 * volume, 0.1), 10)
|
||||
M.adjustToxLoss(damage)
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
if(!C.wear_mask) // If not wearing a mask
|
||||
C.adjustToxLoss(lethality)
|
||||
if(istype(M, /mob/living/simple_animal/diona)) //nymphs take EVEN MORE damage
|
||||
var/mob/living/simple_animal/diona/D = M
|
||||
D.adjustHealth(100)
|
||||
..()
|
||||
|
||||
/datum/reagent/glyphosate/atrazine
|
||||
name = "Atrazine"
|
||||
@@ -1081,15 +1080,17 @@
|
||||
O.visible_message("<span class='warning'>The ants die.</span>")
|
||||
qdel(O)
|
||||
|
||||
/datum/reagent/pestkiller/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume)
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
if(!C.wear_mask) // If not wearing a mask
|
||||
C.adjustToxLoss(2)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(iskidan(H)) //RIP
|
||||
H.adjustToxLoss(20)
|
||||
/datum/reagent/pestkiller/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume)
|
||||
if(isliving(M))
|
||||
if(M.mob_biotypes & MOB_BUG)
|
||||
var/damage = min(round(0.4 * volume, 0.1), 10)
|
||||
M.adjustToxLoss(damage)
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
if(!C.wear_mask) // If not wearing a mask
|
||||
C.adjustToxLoss(2)
|
||||
if(iskidan(C)) //RIP
|
||||
C.adjustToxLoss(18)
|
||||
|
||||
/datum/reagent/capulettium
|
||||
name = "Capulettium"
|
||||
|
||||
Reference in New Issue
Block a user