mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 14:00:18 +01:00
Under the Twin Suns: the S'rand'marr Sector (#15295)
This commit is contained in:
@@ -45,6 +45,9 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy/mannequin)
|
||||
/mob/living/carbon/human/farwa/Initialize(mapload)
|
||||
. = ..(mapload, SPECIES_MONKEY_TAJARA)
|
||||
|
||||
/mob/living/carbon/human/farwa/adhomai
|
||||
faction = "Adhomai"
|
||||
|
||||
/mob/living/carbon/human/neaera/Initialize(mapload)
|
||||
. = ..(mapload, SPECIES_MONKEY_SKRELL)
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/mob/living/simple_animal/ice_tunneler
|
||||
name = "ice tunneler"
|
||||
desc = "An egg producing beast from Adhomai. It is known for burrowing in ice and snow."
|
||||
icon = 'icons/mob/npc/livestock.dmi'
|
||||
icon_state = "tunneler"
|
||||
icon_living = "tunneler"
|
||||
icon_dead = "tunneler_dead"
|
||||
icon = 'icons/mob/npc/adhomai.dmi'
|
||||
icon_state = "tunneler_f"
|
||||
icon_living = "tunneler_f"
|
||||
icon_dead = "tunneler_f_dead"
|
||||
speak = list("Fiiiiiii!")
|
||||
speak_emote = list("whistles")
|
||||
emote_hear = list("whistles loudly")
|
||||
@@ -14,6 +14,8 @@
|
||||
organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg")
|
||||
hunger_enabled = FALSE
|
||||
canbrush = TRUE
|
||||
faction = "Adhomai"
|
||||
gender = FEMALE
|
||||
var/eggsleft = 0
|
||||
|
||||
/mob/living/simple_animal/ice_tunneler/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
@@ -39,18 +41,30 @@
|
||||
. =..()
|
||||
if(!.)
|
||||
return
|
||||
if(!stat && prob(3) && eggsleft > 0)
|
||||
if(!stat && prob(3) && eggsleft > 0 && (gender = FEMALE))
|
||||
visible_message("[src] lays an egg.")
|
||||
eggsleft--
|
||||
new /obj/item/reagent_containers/food/snacks/egg(get_turf(src))
|
||||
new /obj/item/reagent_containers/food/snacks/egg/ice_tunnelers(get_turf(src))
|
||||
|
||||
/mob/living/simple_animal/ice_tunneler/male
|
||||
icon_state = "tunneler_m"
|
||||
icon_living = "tunneler_m"
|
||||
icon_dead = "tunneler_m_dead"
|
||||
gender = MALE
|
||||
|
||||
/mob/living/simple_animal/ice_tunneler/baby
|
||||
name = "ice tunneler chick"
|
||||
icon_state = "tunneler_baby"
|
||||
icon_living = "tunneler_baby"
|
||||
icon_dead = "tunneler_baby_dead"
|
||||
|
||||
/mob/living/simple_animal/fatshouter
|
||||
name = "fatshouter"
|
||||
desc = "An adhomian animal known for its production of milk and wool."
|
||||
icon = 'icons/mob/npc/livestock.dmi'
|
||||
icon_state = "fatshouter"
|
||||
icon_living = "fatshouter"
|
||||
icon_dead = "fatshouter_dead"
|
||||
icon = 'icons/mob/npc/adhomai.dmi'
|
||||
icon_state = "fatshouter_f"
|
||||
icon_living = "fatshouter_f"
|
||||
icon_dead = "fatshouter_f_dead"
|
||||
speak_emote = list("brays")
|
||||
emote_hear = list("brays")
|
||||
emote_see = list("shakes its head")
|
||||
@@ -73,15 +87,24 @@
|
||||
|
||||
meat_type = /obj/item/reagent_containers/food/snacks/meat/adhomai
|
||||
butchering_products = list(/obj/item/stack/material/animalhide = 5, /obj/item/reagent_containers/food/snacks/spreads/lard = 5)
|
||||
faction = "Adhomai"
|
||||
|
||||
gender = FEMALE
|
||||
|
||||
/mob/living/simple_animal/fatshouter/male
|
||||
icon_state = "fatshouter_m"
|
||||
icon_living = "fatshouter_m"
|
||||
icon_dead = "fatshouter_m_dead"
|
||||
gender = MALE
|
||||
has_udder = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/rafama
|
||||
name = "steed of Mata'ke"
|
||||
desc = "An animal native to Adhomai, known for its agressive behavior and mighty tusks."
|
||||
icon = 'icons/mob/npc/livestock.dmi'
|
||||
icon_state = "rafama"
|
||||
icon_living = "rafama"
|
||||
icon_dead = "rafama_dead"
|
||||
icon = 'icons/mob/npc/adhomai.dmi'
|
||||
icon_state = "rafama_f"
|
||||
icon_living = "rafama_f"
|
||||
icon_dead = "rafama_f_dead"
|
||||
turns_per_move = 3
|
||||
speak_emote = list("chuffs")
|
||||
emote_hear = list("growls")
|
||||
@@ -105,3 +128,17 @@
|
||||
|
||||
butchering_products = list(/obj/item/stack/material/animalhide = 5)
|
||||
meat_amount = 8
|
||||
faction = "Adhomai"
|
||||
gender = FEMALE
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/rafama/male
|
||||
icon_state = "rafama_m"
|
||||
icon_living = "rafama_m"
|
||||
icon_dead = "rafama_m_dead"
|
||||
gender = MALE
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/rafama/baby
|
||||
icon_state = "rafama_baby"
|
||||
icon_living = "rafama_baby"
|
||||
icon_dead = "rafama_baby_dead"
|
||||
gender = MALE
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
environment_smash = 1
|
||||
|
||||
faction = "sham'tyr"
|
||||
faction = "Adhomai"
|
||||
flying = TRUE
|
||||
butchering_products = list(/obj/item/stack/material/animalhide = 1)
|
||||
meat_type = /obj/item/reagent_containers/food/snacks/meat/adhomai
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
/mob/living/simple_animal/hostile/cavern_geist
|
||||
name = "cavern geist"
|
||||
desc = "A near-mythical adhomian predator, known to haunt the caverns. Its eyes sparkle with a mixture of intelligence and malice."
|
||||
speak_emote = list("gibbers")
|
||||
icon = 'icons/mob/npc/cavern_geist.dmi'
|
||||
icon_state = "geist"
|
||||
icon_living = "geist"
|
||||
icon_dead = "geist_dead"
|
||||
|
||||
universal_understand = TRUE
|
||||
|
||||
mob_swap_flags = HUMAN|SIMPLE_ANIMAL|SLIME|MONKEY
|
||||
mob_push_flags = ALLMOBS
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
organ_names = list("chest", "lower body", "left arm", "right arm", "left leg", "right leg", "head")
|
||||
response_help = "pets"
|
||||
response_disarm = "shoves"
|
||||
response_harm = "harmlessly punches"
|
||||
blood_amount = 600
|
||||
maxHealth = 500
|
||||
health = 500
|
||||
harm_intent_damage = 0
|
||||
melee_damage_lower = 35
|
||||
melee_damage_upper = 35
|
||||
resist_mod = 3
|
||||
mob_size = 25
|
||||
environment_smash = 2
|
||||
attacktext = "mangled"
|
||||
attack_sound = 'sound/weapons/bloodyslice.ogg'
|
||||
|
||||
see_in_dark = 8
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
pixel_x = -16
|
||||
speed = -1
|
||||
|
||||
var/is_devouring = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/cavern_geist/death(gibbed)
|
||||
..()
|
||||
anchored = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/cavern_geist/verb/devour(mob/living/target as mob in oview())
|
||||
set category = "Cavern Geist"
|
||||
set name = "Devour"
|
||||
set desc = "Devours a creature, destroying its body and regenerating health."
|
||||
|
||||
if(!Adjacent(target))
|
||||
return
|
||||
|
||||
if(target.isSynthetic())
|
||||
return
|
||||
|
||||
if(is_devouring)
|
||||
to_chat(src, SPAN_WARNING("You are already feasting on something!"))
|
||||
return
|
||||
|
||||
if(!health)
|
||||
to_chat(src, SPAN_NOTICE("You are dead, you cannot use any abilities!"))
|
||||
return
|
||||
|
||||
if(last_special > world.time)
|
||||
to_chat(src, SPAN_WARNING("You must wait a little while before we can use this ability again!"))
|
||||
return
|
||||
|
||||
visible_message(SPAN_WARNING("\The [src] begins ripping apart and feasting on [target]!"))
|
||||
is_devouring = TRUE
|
||||
|
||||
target.adjustBruteLoss(35)
|
||||
|
||||
if(!do_after(src,150))
|
||||
to_chat(src, SPAN_WARNING("You need to wait longer to devour \the [target]!"))
|
||||
src.is_devouring = FALSE
|
||||
return FALSE
|
||||
|
||||
visible_message(SPAN_WARNING("[src] tears a chunk from \the [target]'s flesh!"))
|
||||
|
||||
target.adjustBruteLoss(35)
|
||||
|
||||
if(!do_after(src, 150))
|
||||
to_chat(src, SPAN_WARNING("You need to wait longer to devour \the [target]!"))
|
||||
is_devouring = FALSE
|
||||
return FALSE
|
||||
|
||||
visible_message(SPAN_WARNING("[target] is completely devoured by [src]!"), \
|
||||
SPAN_WARNING("You completely devour \the [target]!"))
|
||||
target.gib()
|
||||
rejuvenate()
|
||||
updatehealth()
|
||||
last_special = world.time + 100
|
||||
is_devouring = FALSE
|
||||
return
|
||||
@@ -62,6 +62,8 @@
|
||||
|
||||
simple_default_language = LANGUAGE_SIIK_MAAS
|
||||
|
||||
psi_pingable = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/republicon/get_bullet_impact_effect_type(var/def_zone)
|
||||
return BULLET_IMPACT_METAL
|
||||
|
||||
@@ -125,3 +127,111 @@
|
||||
projectilesound = 'sound/effects/Explosion1.ogg'
|
||||
rapid = FALSE
|
||||
casingtype = null
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone
|
||||
name = "hadiist exploration drone"
|
||||
desc = "A reconnaissance drone used by the People's Republic of Adhomai to explore space and collect information on planets."
|
||||
|
||||
icon = 'icons/mob/npc/republicon.dmi'
|
||||
icon_state = "exploration_drone"
|
||||
icon_living = "exploration_drone"
|
||||
icon_dead = "exploration_drone"
|
||||
|
||||
blood_type = COLOR_OIL
|
||||
smart_ranged = TRUE
|
||||
turns_per_move = 3
|
||||
organ_names = list("body", "probes", "antenna")
|
||||
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "hits"
|
||||
a_intent = I_HURT
|
||||
stop_automated_movement_when_pulled = 0
|
||||
|
||||
speak_emote = list("beeps")
|
||||
emote_hear = list("buzzes","beeps")
|
||||
speak = list("Hadii's grace, comrades.", "The stars belong to the People's Republic of Adhomai!", "The quest for knowledge must continue!")
|
||||
emote_see = list("beeps curiously", "whirrs softly", "scans its surroundings")
|
||||
|
||||
destroy_surroundings = FALSE
|
||||
universal_speak = TRUE
|
||||
universal_understand = TRUE
|
||||
|
||||
mob_size = 3
|
||||
|
||||
health = 100
|
||||
maxHealth = 100
|
||||
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
attacktext = "smashed"
|
||||
attack_sound = 'sound/weapons/genhit1.ogg'
|
||||
|
||||
speed = 1
|
||||
ranged = TRUE
|
||||
projectiletype = /obj/item/projectile/beam/pistol
|
||||
projectilesound = 'sound/weapons/laser1.ogg'
|
||||
|
||||
emote_see = list("examines","hovers","blinks")
|
||||
|
||||
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
|
||||
faction = "PRA"
|
||||
|
||||
tameable = FALSE
|
||||
flying = TRUE
|
||||
see_in_dark = 8
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
|
||||
emote_sounds = list('sound/effects/creatures/PRA_drone.ogg')
|
||||
|
||||
var/datum/effect_system/ion_trail/ion_trail
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone/Allow_Spacemove(var/check_drift = 0)
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone/isSynthetic()
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone/get_bullet_impact_effect_type(var/def_zone)
|
||||
return BULLET_IMPACT_METAL
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone/death()
|
||||
..(null, "blows apart!")
|
||||
var/T = get_turf(src)
|
||||
new /obj/effect/gibspawner/robot(T)
|
||||
spark(T, 1, alldirs)
|
||||
qdel(src)
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone/Initialize()
|
||||
. = ..()
|
||||
|
||||
set_light(1.2, 3, LIGHT_COLOR_RED)
|
||||
|
||||
ion_trail = new(src)
|
||||
ion_trail.start()
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone/Destroy()
|
||||
QDEL_NULL(ion_trail)
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone/FoundTarget()
|
||||
if(!ishuman(target_mob))
|
||||
say("Hostile xenofauna detected!")
|
||||
else if(istajara(target_mob))
|
||||
say("Subversive element detected!")
|
||||
else
|
||||
say("Foreign invader detected!")
|
||||
playsound(src, 'sound/effects/creatures/PRA_drone_aggro.ogg', 75, 1)
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone/LostTarget()
|
||||
say("Returning to data gathering.")
|
||||
return
|
||||
Reference in New Issue
Block a user