mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 14:08:31 +01:00
minor raptor tweaks (#83407)
## About The Pull Request i think i made these a bit too strong, this hopefully balances them out a bit. they were initially accidentally given alot of armor against ranged attacks, this is now removed. also ive reduced their base hp by a bit. im open to other suggestions and feedback ## Why It's Good For The Game they were stronger than i intended. this keeps their usefulness for battling tendrils, or ore vents but also prevents using them to cheese several megafauna ## Changelog 🆑 balance: you can now polymorph into raptors balance: raptors overall have less health and no longer have armor against ranged attacks /🆑
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
var/happiness_key = BB_BASIC_HAPPINESS
|
||||
///list of emotions we relay when happy
|
||||
var/static/list/happy_emotions = list(
|
||||
"celebrate happily!",
|
||||
"celebrates happily!",
|
||||
"dances around in excitement!",
|
||||
)
|
||||
///our moderate emotions
|
||||
|
||||
@@ -56,10 +56,10 @@
|
||||
icon = 'icons/mob/simple/lavaland/raptor_big.dmi'
|
||||
icon_state = "raptor_red"
|
||||
loot = list(
|
||||
/mob/living/basic/mining/raptor/red = 20,
|
||||
/mob/living/basic/mining/raptor/white = 20,
|
||||
/mob/living/basic/mining/raptor/purple = 20,
|
||||
/mob/living/basic/mining/raptor/green = 20,
|
||||
/mob/living/basic/mining/raptor/yellow = 20,
|
||||
/mob/living/basic/mining/raptor/black = 1,
|
||||
/mob/living/basic/raptor/red = 20,
|
||||
/mob/living/basic/raptor/white = 20,
|
||||
/mob/living/basic/raptor/purple = 20,
|
||||
/mob/living/basic/raptor/green = 20,
|
||||
/mob/living/basic/raptor/yellow = 20,
|
||||
/mob/living/basic/raptor/black = 1,
|
||||
)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
GLOBAL_LIST_INIT(raptor_growth_paths, list(
|
||||
/mob/living/basic/mining/raptor/baby_raptor/red = list(RAPTOR_PURPLE, RAPTOR_WHITE),
|
||||
/mob/living/basic/mining/raptor/baby_raptor/white = list(RAPTOR_GREEN, RAPTOR_PURPLE),
|
||||
/mob/living/basic/mining/raptor/baby_raptor/purple = list(RAPTOR_GREEN, RAPTOR_WHITE),
|
||||
/mob/living/basic/mining/raptor/baby_raptor/yellow = list(RAPTOR_GREEN, RAPTOR_RED),
|
||||
/mob/living/basic/mining/raptor/baby_raptor/green = list(RAPTOR_RED, RAPTOR_YELLOW),
|
||||
/mob/living/basic/mining/raptor/baby_raptor/blue = list(RAPTOR_RED, RAPTOR_PURPLE)
|
||||
/mob/living/basic/raptor/baby_raptor/red = list(RAPTOR_PURPLE, RAPTOR_WHITE),
|
||||
/mob/living/basic/raptor/baby_raptor/white = list(RAPTOR_GREEN, RAPTOR_PURPLE),
|
||||
/mob/living/basic/raptor/baby_raptor/purple = list(RAPTOR_GREEN, RAPTOR_WHITE),
|
||||
/mob/living/basic/raptor/baby_raptor/yellow = list(RAPTOR_GREEN, RAPTOR_RED),
|
||||
/mob/living/basic/raptor/baby_raptor/green = list(RAPTOR_RED, RAPTOR_YELLOW),
|
||||
/mob/living/basic/raptor/baby_raptor/blue = list(RAPTOR_RED, RAPTOR_PURPLE)
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(raptor_inherit_traits, list(
|
||||
@@ -19,17 +19,21 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
|
||||
#define HAPPINESS_BOOST_DAMPENER 0.3
|
||||
|
||||
/mob/living/basic/mining/raptor
|
||||
/mob/living/basic/raptor
|
||||
name = "raptor"
|
||||
desc = "A trusty, powerful steed. Taming it might prove difficult..."
|
||||
icon = 'icons/mob/simple/lavaland/raptor_big.dmi'
|
||||
speed = 2
|
||||
mob_biotypes = MOB_ORGANIC|MOB_BEAST
|
||||
maxHealth = 400
|
||||
health = 400
|
||||
maxHealth = 270
|
||||
health = 270
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 15
|
||||
sentience_type = SENTIENCE_BOSS
|
||||
combat_mode = TRUE
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
unsuitable_atmos_damage = 0
|
||||
minimum_survivable_temperature = BODYTEMP_COLD_ICEBOX_SAFE
|
||||
maximum_survivable_temperature = INFINITY
|
||||
attack_verb_continuous = "pecks"
|
||||
attack_verb_simple = "chomps"
|
||||
attack_sound = 'sound/weapons/punch1.ogg'
|
||||
@@ -60,12 +64,14 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
var/child_path
|
||||
|
||||
|
||||
/mob/living/basic/mining/raptor/Initialize(mapload)
|
||||
/mob/living/basic/raptor/Initialize(mapload)
|
||||
. = ..()
|
||||
if(SSmapping.is_planetary())
|
||||
change_offsets = FALSE
|
||||
icon = 'icons/mob/simple/lavaland/raptor_icebox.dmi'
|
||||
|
||||
add_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE), INNATE_TRAIT)
|
||||
|
||||
if(!mapload)
|
||||
GLOB.raptor_population += REF(src)
|
||||
AddComponent(/datum/component/obeys_commands, pet_commands)
|
||||
@@ -103,7 +109,7 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
if(can_breed)
|
||||
AddComponent(\
|
||||
/datum/component/breed,\
|
||||
can_breed_with = typecacheof(list(/mob/living/basic/mining/raptor)),\
|
||||
can_breed_with = typecacheof(list(/mob/living/basic/raptor)),\
|
||||
baby_path = /obj/item/food/egg/raptor_egg,\
|
||||
post_birth = CALLBACK(src, PROC_REF(egg_inherit)),\
|
||||
breed_timer = 3 MINUTES,\
|
||||
@@ -114,12 +120,12 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
add_happiness_component()
|
||||
|
||||
|
||||
/mob/living/basic/mining/raptor/buckle_mob(mob/living/target, force = FALSE, check_loc = TRUE, buckle_mob_flags= NONE)
|
||||
/mob/living/basic/raptor/buckle_mob(mob/living/target, force = FALSE, check_loc = TRUE, buckle_mob_flags= NONE)
|
||||
if(!iscarbon(target))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/mob/living/basic/mining/raptor/proc/add_happiness_component()
|
||||
/mob/living/basic/raptor/proc/add_happiness_component()
|
||||
var/static/list/percentage_callbacks = list(0, 15, 25, 35, 50, 75, 90, 100)
|
||||
AddComponent(\
|
||||
/datum/component/happiness,\
|
||||
@@ -130,18 +136,18 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
happiness_callback = CALLBACK(src, PROC_REF(happiness_change)),\
|
||||
)
|
||||
|
||||
/mob/living/basic/mining/raptor/proc/on_dir_change(datum/source, old_dir, new_dir)
|
||||
/mob/living/basic/raptor/proc/on_dir_change(datum/source, old_dir, new_dir)
|
||||
SIGNAL_HANDLER
|
||||
adjust_offsets(new_dir)
|
||||
|
||||
/mob/living/basic/mining/raptor/proc/adjust_offsets(direction)
|
||||
/mob/living/basic/raptor/proc/adjust_offsets(direction)
|
||||
if(!change_offsets)
|
||||
return
|
||||
pixel_x = (direction & EAST) ? -20 : 0
|
||||
pixel_y = (direction & NORTH) ? -5 : 0
|
||||
|
||||
|
||||
/mob/living/basic/mining/raptor/proc/pre_attack(mob/living/puncher, atom/target)
|
||||
/mob/living/basic/raptor/proc/pre_attack(mob/living/puncher, atom/target)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(!istype(target, /obj/structure/ore_container/food_trough/raptor_trough))
|
||||
@@ -155,30 +161,30 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
INVOKE_ASYNC(src, PROC_REF(melee_attack), ore_food)
|
||||
return COMPONENT_HOSTILE_NO_ATTACK
|
||||
|
||||
/mob/living/basic/mining/raptor/melee_attack(mob/living/target, list/modifiers, ignore_cooldown)
|
||||
if(!combat_mode && istype(target, /mob/living/basic/mining/raptor/baby_raptor))
|
||||
/mob/living/basic/raptor/melee_attack(mob/living/target, list/modifiers, ignore_cooldown)
|
||||
if(!combat_mode && istype(target, /mob/living/basic/raptor/baby_raptor))
|
||||
target.attack_hand(src, list(LEFT_CLICK = TRUE))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/mob/living/basic/mining/raptor/death(gibbed)
|
||||
/mob/living/basic/raptor/death(gibbed)
|
||||
. = ..()
|
||||
GLOB.raptor_population -= REF(src)
|
||||
|
||||
/mob/living/basic/mining/raptor/proc/happiness_change(percent_value)
|
||||
/mob/living/basic/raptor/proc/happiness_change(percent_value)
|
||||
var/attack_boost = round(initial(melee_damage_lower) * percent_value * HAPPINESS_BOOST_DAMPENER, 1)
|
||||
melee_damage_lower = initial(melee_damage_lower) + attack_boost
|
||||
melee_damage_upper = melee_damage_lower + 5
|
||||
|
||||
|
||||
///pass down our inheritance to the egg
|
||||
/mob/living/basic/mining/raptor/proc/egg_inherit(obj/item/food/egg/raptor_egg/baby_egg, mob/living/basic/mining/raptor/partner)
|
||||
/mob/living/basic/raptor/proc/egg_inherit(obj/item/food/egg/raptor_egg/baby_egg, mob/living/basic/raptor/partner)
|
||||
var/datum/raptor_inheritance/inherit = new
|
||||
inherit.set_parents(inherited_stats, partner.inherited_stats)
|
||||
baby_egg.inherited_stats = inherit
|
||||
baby_egg.determine_growth_path(src, partner)
|
||||
|
||||
/mob/living/basic/mining/raptor/proc/inherit_properties()
|
||||
/mob/living/basic/raptor/proc/inherit_properties()
|
||||
if(isnull(inherited_stats))
|
||||
return
|
||||
for(var/trait in GLOB.raptor_inherit_traits) // done this way to allow overriding of traits when assigned new inherit datum
|
||||
@@ -189,11 +195,11 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
maxHealth += inherited_stats.health_modifier
|
||||
heal_overall_damage(maxHealth)
|
||||
|
||||
/mob/living/basic/mining/raptor/Destroy()
|
||||
/mob/living/basic/raptor/Destroy()
|
||||
QDEL_NULL(inherited_stats)
|
||||
return ..()
|
||||
|
||||
/mob/living/basic/mining/raptor/red
|
||||
/mob/living/basic/raptor/red
|
||||
name = "red raptor"
|
||||
icon_state = "raptor_red"
|
||||
icon_living = "raptor_red"
|
||||
@@ -203,18 +209,18 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
raptor_color = RAPTOR_RED
|
||||
dex_description = "A resilient breed of raptors, battle-tested and bred for the purpose of humbling its foes in combat, \
|
||||
This breed demonstrates higher combat capabilities than its peers and oozes ruthless aggression."
|
||||
child_path = /mob/living/basic/mining/raptor/baby_raptor/red
|
||||
child_path = /mob/living/basic/raptor/baby_raptor/red
|
||||
|
||||
/mob/living/basic/mining/raptor/purple
|
||||
/mob/living/basic/raptor/purple
|
||||
name = "purple raptor"
|
||||
icon_state = "raptor_purple"
|
||||
icon_living = "raptor_purple"
|
||||
icon_dead = "raptor_purple_dead"
|
||||
raptor_color = RAPTOR_PURPLE
|
||||
dex_description = "A dependable mount, bred for the purpose of long distance pilgrimages. This breed is also able to store its rider's possessions."
|
||||
child_path = /mob/living/basic/mining/raptor/baby_raptor/purple
|
||||
child_path = /mob/living/basic/raptor/baby_raptor/purple
|
||||
|
||||
/mob/living/basic/mining/raptor/purple/Initialize(mapload)
|
||||
/mob/living/basic/raptor/purple/Initialize(mapload)
|
||||
. = ..()
|
||||
create_storage(
|
||||
max_specific_storage = WEIGHT_CLASS_NORMAL,
|
||||
@@ -222,57 +228,57 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
storage_type = /datum/storage/raptor_storage,
|
||||
)
|
||||
|
||||
/mob/living/basic/mining/raptor/green
|
||||
/mob/living/basic/raptor/green
|
||||
name = "green raptor"
|
||||
icon_state = "raptor_green"
|
||||
icon_living = "raptor_green"
|
||||
icon_dead = "raptor_green_dead"
|
||||
maxHealth = 460
|
||||
health = 460
|
||||
maxHealth = 400
|
||||
health = 400
|
||||
raptor_color = RAPTOR_GREEN
|
||||
dex_description = "A tough breed of raptor, made to withstand the harshest of punishment and to laugh in the face of pain, \
|
||||
this breed is able to withstand more punishment than its peers."
|
||||
child_path = /mob/living/basic/mining/raptor/baby_raptor/green
|
||||
child_path = /mob/living/basic/raptor/baby_raptor/green
|
||||
|
||||
/mob/living/basic/mining/raptor/green/Initialize(mapload)
|
||||
/mob/living/basic/raptor/green/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/proficient_miner)
|
||||
|
||||
/mob/living/basic/mining/raptor/white
|
||||
/mob/living/basic/raptor/white
|
||||
name = "white raptor"
|
||||
icon_state = "raptor_white"
|
||||
icon_living = "raptor_white"
|
||||
icon_dead = "raptor_white_dead"
|
||||
raptor_color = RAPTOR_WHITE
|
||||
dex_description = "A loving sort, it cares for it peers and rushes to their aid with reckless abandon. It is able to heal any raptors' ailments."
|
||||
child_path = /mob/living/basic/mining/raptor/baby_raptor/white
|
||||
child_path = /mob/living/basic/raptor/baby_raptor/white
|
||||
|
||||
/mob/living/basic/mining/raptor/white/Initialize(mapload)
|
||||
/mob/living/basic/raptor/white/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(\
|
||||
/datum/component/healing_touch,\
|
||||
heal_brute = melee_damage_upper,\
|
||||
heal_burn = melee_damage_upper,\
|
||||
heal_time = 0,\
|
||||
valid_targets_typecache = typecacheof(list(/mob/living/basic/mining/raptor)),\
|
||||
valid_targets_typecache = typecacheof(list(/mob/living/basic/raptor)),\
|
||||
)
|
||||
|
||||
/mob/living/basic/mining/raptor/black
|
||||
/mob/living/basic/raptor/black
|
||||
name = "black raptor"
|
||||
icon_state = "raptor_black"
|
||||
icon_living = "raptor_black"
|
||||
icon_dead = "raptor_black_dead"
|
||||
maxHealth = 460
|
||||
health = 460
|
||||
maxHealth = 400
|
||||
health = 400
|
||||
speed = 1
|
||||
ridable_component = /datum/component/riding/creature/raptor/fast
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 25
|
||||
raptor_color = RAPTOR_BLACK
|
||||
dex_description = "An ultra rare breed. Due to its sparse nature, not much is known about this sort. However it is said to possess many of its peers' abilities."
|
||||
child_path = /mob/living/basic/mining/raptor/baby_raptor/black
|
||||
child_path = /mob/living/basic/raptor/baby_raptor/black
|
||||
|
||||
/mob/living/basic/mining/raptor/yellow
|
||||
/mob/living/basic/raptor/yellow
|
||||
name = "yellow raptor"
|
||||
icon_state = "raptor_yellow"
|
||||
icon_living = "raptor_yellow"
|
||||
@@ -281,18 +287,18 @@ GLOBAL_LIST_EMPTY(raptor_population)
|
||||
speed = 1
|
||||
raptor_color = RAPTOR_YELLOW
|
||||
dex_description = "This breed possesses greasy fast speed, DEMON speed, making light work of long pilgrimages. It's said that a thunderclap could be heard when this breed reaches its maximum speed."
|
||||
child_path = /mob/living/basic/mining/raptor/baby_raptor/yellow
|
||||
child_path = /mob/living/basic/raptor/baby_raptor/yellow
|
||||
|
||||
/mob/living/basic/mining/raptor/blue
|
||||
/mob/living/basic/raptor/blue
|
||||
name = "blue raptor"
|
||||
icon_state = "raptor_blue"
|
||||
icon_living = "raptor_blue"
|
||||
icon_dead = "raptor_blue_dead"
|
||||
raptor_color = RAPTOR_BLUE
|
||||
dex_description = "Known to produce nutritous and equally delicious milk, which is also said to possess healing properties."
|
||||
child_path = /mob/living/basic/mining/raptor/baby_raptor/blue
|
||||
child_path = /mob/living/basic/raptor/baby_raptor/blue
|
||||
|
||||
/mob/living/basic/mining/raptor/blue/Initialize(mapload)
|
||||
/mob/living/basic/raptor/blue/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(\
|
||||
/datum/component/udder,\
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/mob/living/basic/mining/raptor/baby_raptor
|
||||
/mob/living/basic/raptor/baby_raptor
|
||||
name = "baby raptor"
|
||||
desc = "Will this grow into something useful?"
|
||||
icon = 'icons/mob/simple/lavaland/raptor_baby.dmi'
|
||||
@@ -20,7 +20,7 @@
|
||||
///probability we are to be rolled
|
||||
var/roll_rate = 100
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/Initialize(mapload)
|
||||
/mob/living/basic/raptor/baby_raptor/Initialize(mapload)
|
||||
. = ..()
|
||||
if(isnull(growth_path))
|
||||
return
|
||||
@@ -36,14 +36,14 @@
|
||||
optional_grow_behavior = CALLBACK(src, PROC_REF(ready_to_grow)),\
|
||||
)
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/add_happiness_component()
|
||||
/mob/living/basic/raptor/baby_raptor/add_happiness_component()
|
||||
AddComponent(/datum/component/happiness, on_petted_change = 100)
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/proc/check_grow()
|
||||
/mob/living/basic/raptor/baby_raptor/proc/check_grow()
|
||||
return (stat != DEAD)
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/proc/ready_to_grow()
|
||||
var/mob/living/basic/mining/raptor/grown_mob = new growth_path(get_turf(src))
|
||||
/mob/living/basic/raptor/baby_raptor/proc/ready_to_grow()
|
||||
var/mob/living/basic/raptor/grown_mob = new growth_path(get_turf(src))
|
||||
QDEL_NULL(grown_mob.inherited_stats)
|
||||
grown_mob.inherited_stats = inherited_stats
|
||||
inherited_stats = null
|
||||
@@ -51,52 +51,52 @@
|
||||
ADD_TRAIT(grown_mob, TRAIT_MOB_HATCHED, INNATE_TRAIT) //pass on the hatched trait
|
||||
qdel(src)
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/black
|
||||
/mob/living/basic/raptor/baby_raptor/black
|
||||
name = "baby black raptor"
|
||||
icon_state = "baby_black"
|
||||
icon_living = "baby_black"
|
||||
icon_dead = "baby_black_dead"
|
||||
growth_path = /mob/living/basic/mining/raptor/black
|
||||
growth_path = /mob/living/basic/raptor/black
|
||||
roll_rate = 10
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/red
|
||||
/mob/living/basic/raptor/baby_raptor/red
|
||||
name = "baby red raptor"
|
||||
icon_state = "baby_red"
|
||||
icon_living = "baby_red"
|
||||
icon_dead = "baby_red_dead"
|
||||
growth_path = /mob/living/basic/mining/raptor/red
|
||||
growth_path = /mob/living/basic/raptor/red
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/purple
|
||||
/mob/living/basic/raptor/baby_raptor/purple
|
||||
name = "baby purple raptor"
|
||||
icon_state = "baby_purple"
|
||||
icon_living = "baby_purple"
|
||||
icon_dead = "baby_purple_dead"
|
||||
growth_path = /mob/living/basic/mining/raptor/purple
|
||||
growth_path = /mob/living/basic/raptor/purple
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/white
|
||||
/mob/living/basic/raptor/baby_raptor/white
|
||||
name = "baby white raptor"
|
||||
icon_state = "baby_white"
|
||||
icon_living = "baby_white"
|
||||
icon_dead = "baby_white_dead"
|
||||
growth_path = /mob/living/basic/mining/raptor/white
|
||||
growth_path = /mob/living/basic/raptor/white
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/yellow
|
||||
/mob/living/basic/raptor/baby_raptor/yellow
|
||||
name = "baby yellow raptor"
|
||||
icon_state = "baby_yellow"
|
||||
icon_living = "baby_yellow"
|
||||
icon_dead = "baby_yellow_dead"
|
||||
growth_path = /mob/living/basic/mining/raptor/yellow
|
||||
growth_path = /mob/living/basic/raptor/yellow
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/green
|
||||
/mob/living/basic/raptor/baby_raptor/green
|
||||
name = "baby green raptor"
|
||||
icon_state = "baby_green"
|
||||
icon_living = "baby_green"
|
||||
icon_dead = "baby_green_dead"
|
||||
growth_path = /mob/living/basic/mining/raptor/green
|
||||
growth_path = /mob/living/basic/raptor/green
|
||||
|
||||
/mob/living/basic/mining/raptor/baby_raptor/blue
|
||||
/mob/living/basic/raptor/baby_raptor/blue
|
||||
name = "baby blue raptor"
|
||||
icon_state = "baby_blue"
|
||||
icon_living = "baby_blue"
|
||||
icon_dead = "baby_blue_dead"
|
||||
growth_path = /mob/living/basic/mining/raptor/blue
|
||||
growth_path = /mob/living/basic/raptor/blue
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
),
|
||||
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/raptor,
|
||||
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/raptor,
|
||||
BB_BABIES_PARTNER_TYPES = list(/mob/living/basic/mining/raptor),
|
||||
BB_BABIES_CHILD_TYPES = list(/mob/living/basic/mining/raptor/baby_raptor),
|
||||
BB_BABIES_PARTNER_TYPES = list(/mob/living/basic/raptor),
|
||||
BB_BABIES_CHILD_TYPES = list(/mob/living/basic/raptor/baby_raptor),
|
||||
BB_MAX_CHILDREN = 5,
|
||||
)
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
/datum/ai_controller/basic_controller/baby_raptor
|
||||
blackboard = list(
|
||||
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/raptor,
|
||||
BB_FIND_MOM_TYPES = list(/mob/living/basic/mining/raptor),
|
||||
BB_IGNORE_MOM_TYPES = list(/mob/living/basic/mining/raptor/baby_raptor),
|
||||
BB_FIND_MOM_TYPES = list(/mob/living/basic/raptor),
|
||||
BB_IGNORE_MOM_TYPES = list(/mob/living/basic/raptor/baby_raptor),
|
||||
)
|
||||
|
||||
ai_movement = /datum/ai_movement/basic_avoidance
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
target_key = BB_INJURED_RAPTOR
|
||||
hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/heal_raptor
|
||||
finding_behavior = /datum/ai_behavior/find_hunt_target/injured_raptor
|
||||
hunt_targets = list(/mob/living/basic/mining/raptor)
|
||||
hunt_targets = list(/mob/living/basic/raptor)
|
||||
hunt_chance = 70
|
||||
hunt_range = 9
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
target_key = BB_RAPTOR_VICTIM
|
||||
hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/bully_raptors
|
||||
finding_behavior = /datum/ai_behavior/find_hunt_target/raptor_victim
|
||||
hunt_targets = list(/mob/living/basic/mining/raptor)
|
||||
hunt_targets = list(/mob/living/basic/raptor)
|
||||
hunt_chance = 30
|
||||
hunt_range = 9
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
target_key = BB_RAPTOR_BABY
|
||||
hunting_behavior = /datum/ai_behavior/hunt_target/care_for_young
|
||||
finding_behavior = /datum/ai_behavior/find_hunt_target/raptor_baby
|
||||
hunt_targets = list(/mob/living/basic/mining/raptor/baby_raptor)
|
||||
hunt_targets = list(/mob/living/basic/raptor/baby_raptor)
|
||||
hunt_chance = 75
|
||||
hunt_range = 9
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/obj/item/raptor_dex/ui_static_data(mob/user)
|
||||
var/list/data = list()
|
||||
var/mob/living/basic/mining/raptor/my_raptor = raptor.resolve()
|
||||
var/mob/living/basic/raptor/my_raptor = raptor.resolve()
|
||||
|
||||
data["raptor_image"] = icon2base64(getFlatIcon(image(icon = my_raptor.icon, icon_state = my_raptor.icon_state)))
|
||||
data["raptor_attack"] = my_raptor.melee_damage_lower
|
||||
@@ -44,7 +44,7 @@
|
||||
data["inherited_attack_max"] = RAPTOR_INHERIT_MAX_ATTACK
|
||||
data["inherited_health"] = inherit.health_modifier
|
||||
data["inherited_health_max"] = RAPTOR_INHERIT_MAX_HEALTH
|
||||
|
||||
|
||||
data["inherited_traits"] = list()
|
||||
for(var/index in inherit.inherit_traits)
|
||||
data["inherited_traits"] += GLOB.raptor_inherit_traits[index]
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
|
||||
/obj/item/raptor_dex/interact_with_atom(atom/attacked_atom, mob/living/user)
|
||||
if(!istype(attacked_atom, /mob/living/basic/mining/raptor))
|
||||
if(!istype(attacked_atom, /mob/living/basic/raptor))
|
||||
return NONE
|
||||
|
||||
raptor = WEAKREF(attacked_atom)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
if(SSmapping.is_planetary())
|
||||
icon = 'icons/mob/simple/lavaland/raptor_icebox.dmi'
|
||||
|
||||
/obj/item/food/egg/raptor_egg/proc/determine_growth_path(mob/living/basic/mining/raptor/dad, mob/living/basic/mining/raptor/mom)
|
||||
/obj/item/food/egg/raptor_egg/proc/determine_growth_path(mob/living/basic/raptor/dad, mob/living/basic/raptor/mom)
|
||||
if(dad.type == mom.type)
|
||||
add_growth_component(dad.child_path)
|
||||
return
|
||||
@@ -24,9 +24,9 @@
|
||||
add_growth_component(path)
|
||||
return
|
||||
var/list/valid_subtypes = list()
|
||||
var/static/list/all_subtypes = subtypesof(/mob/living/basic/mining/raptor/baby_raptor)
|
||||
var/static/list/all_subtypes = subtypesof(/mob/living/basic/raptor/baby_raptor)
|
||||
for(var/path in all_subtypes)
|
||||
var/mob/living/basic/mining/raptor/baby_raptor/raptor_path = path
|
||||
var/mob/living/basic/raptor/baby_raptor/raptor_path = path
|
||||
if(!prob(initial(raptor_path.roll_rate)))
|
||||
continue
|
||||
valid_subtypes += raptor_path
|
||||
@@ -46,7 +46,7 @@
|
||||
post_hatch = CALLBACK(src, PROC_REF(post_hatch)),\
|
||||
)
|
||||
|
||||
/obj/item/food/egg/raptor_egg/proc/post_hatch(mob/living/basic/mining/raptor/baby)
|
||||
/obj/item/food/egg/raptor_egg/proc/post_hatch(mob/living/basic/raptor/baby)
|
||||
if(!istype(baby))
|
||||
return
|
||||
QDEL_NULL(baby.inherited_stats)
|
||||
|
||||
Reference in New Issue
Block a user