Merge pull request #3860 from Citadel-Station-13/upstream-merge-32515
[MIRROR] Process_Spacemove proc improvement
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
var/ascended = FALSE
|
||||
sight = (SEE_TURFS | SEE_OBJS)
|
||||
status_flags = CANPUSH
|
||||
spacewalk = TRUE
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
var/mob/living/oldform
|
||||
var/list/devil_overlays[DEVIL_TOTAL_LAYERS]
|
||||
@@ -135,9 +136,6 @@
|
||||
"<span class='userdanger'>[attack_message]</span>", null, COMBAT_MESSAGE_RANGE)
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/true_devil/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/true_devil/singularity_act()
|
||||
if(ascended)
|
||||
return 0
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
maxHealth = INFINITY
|
||||
layer = GHOST_LAYER
|
||||
healable = FALSE
|
||||
spacewalk = TRUE
|
||||
sight = SEE_SELF
|
||||
|
||||
see_in_dark = 8
|
||||
@@ -153,8 +154,6 @@
|
||||
|
||||
|
||||
//Immunities
|
||||
/mob/living/simple_animal/revenant/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/revenant/ex_act(severity, target)
|
||||
return 1 //Immune to the effects of explosions.
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
anchored = FALSE
|
||||
health = 25
|
||||
maxHealth = 25
|
||||
spacewalk = TRUE
|
||||
|
||||
radio_key = /obj/item/device/encryptionkey/headset_eng
|
||||
radio_channel = "Engineering"
|
||||
@@ -45,9 +46,6 @@
|
||||
access_card.access += J.get_access()
|
||||
prev_access = access_card.access
|
||||
|
||||
/mob/living/simple_animal/bot/floorbot/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/bot/floorbot/turn_on()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
speak_chance = 1
|
||||
icon = 'icons/mob/mob.dmi'
|
||||
speed = 0
|
||||
spacewalk = TRUE
|
||||
a_intent = INTENT_HARM
|
||||
stop_automated_movement = 1
|
||||
status_flags = CANPUSH
|
||||
@@ -85,9 +86,6 @@
|
||||
else if(src != M)
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/narsie_act()
|
||||
return
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
response_harm = "hits"
|
||||
maxHealth = 60
|
||||
health = 60
|
||||
spacewalk = TRUE
|
||||
var/armored = FALSE
|
||||
|
||||
obj_damage = 60
|
||||
@@ -67,9 +68,6 @@
|
||||
maxHealth = 120
|
||||
armored = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/bear/Process_Spacemove(movement_dir = 0)
|
||||
return 1 //No drifting in space for space bears!
|
||||
|
||||
/mob/living/simple_animal/hostile/bear/update_icons()
|
||||
..()
|
||||
if(armored)
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
response_harm = "squashes"
|
||||
maxHealth = 10
|
||||
health = 10
|
||||
spacewalk = TRUE
|
||||
faction = list("hostile")
|
||||
move_to_delay = 0
|
||||
obj_damage = 0
|
||||
@@ -52,11 +53,6 @@
|
||||
var/static/beehometypecache = typecacheof(/obj/structure/beebox)
|
||||
var/static/hydroponicstypecache = typecacheof(/obj/machinery/hydroponics)
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/poison/bees/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/poison/bees/Initialize()
|
||||
. = ..()
|
||||
generate_bee_visuals()
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
speed = 0
|
||||
maxHealth = 25
|
||||
health = 25
|
||||
spacewalk = TRUE
|
||||
|
||||
harm_intent_damage = 8
|
||||
obj_damage = 50
|
||||
@@ -36,9 +37,6 @@
|
||||
pressure_resistance = 200
|
||||
gold_core_spawnable = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/Process_Spacemove(movement_dir = 0)
|
||||
return 1 //No drifting in space for space carp! //original comments do not steal
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/AttackingTarget()
|
||||
. = ..()
|
||||
if(. && ishuman(target))
|
||||
|
||||
@@ -1,44 +1,42 @@
|
||||
/mob/living/simple_animal/hostile/faithless
|
||||
name = "The Faithless"
|
||||
desc = "The Wish Granter's faith in humanity, incarnate."
|
||||
icon_state = "faithless"
|
||||
icon_living = "faithless"
|
||||
icon_dead = "faithless_dead"
|
||||
gender = MALE
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "passes through"
|
||||
response_disarm = "shoves"
|
||||
response_harm = "hits"
|
||||
emote_taunt = list("wails")
|
||||
taunt_chance = 25
|
||||
speed = 0
|
||||
maxHealth = 80
|
||||
health = 80
|
||||
stat_attack = UNCONSCIOUS
|
||||
robust_searching = 1
|
||||
|
||||
harm_intent_damage = 10
|
||||
obj_damage = 50
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
attacktext = "grips"
|
||||
attack_sound = 'sound/hallucinations/growl1.ogg'
|
||||
speak_emote = list("growls")
|
||||
|
||||
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
|
||||
|
||||
faction = list("faithless")
|
||||
gold_core_spawnable = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/faithless/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/hostile/faithless/AttackingTarget()
|
||||
. = ..()
|
||||
if(. && prob(12) && iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
C.Knockdown(60)
|
||||
C.visible_message("<span class='danger'>\The [src] knocks down \the [C]!</span>", \
|
||||
"<span class='userdanger'>\The [src] knocks you down!</span>")
|
||||
/mob/living/simple_animal/hostile/faithless
|
||||
name = "The Faithless"
|
||||
desc = "The Wish Granter's faith in humanity, incarnate."
|
||||
icon_state = "faithless"
|
||||
icon_living = "faithless"
|
||||
icon_dead = "faithless_dead"
|
||||
gender = MALE
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "passes through"
|
||||
response_disarm = "shoves"
|
||||
response_harm = "hits"
|
||||
emote_taunt = list("wails")
|
||||
taunt_chance = 25
|
||||
speed = 0
|
||||
maxHealth = 80
|
||||
health = 80
|
||||
spacewalk = TRUE
|
||||
stat_attack = UNCONSCIOUS
|
||||
robust_searching = 1
|
||||
|
||||
harm_intent_damage = 10
|
||||
obj_damage = 50
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
attacktext = "grips"
|
||||
attack_sound = 'sound/hallucinations/growl1.ogg'
|
||||
speak_emote = list("growls")
|
||||
|
||||
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
|
||||
|
||||
faction = list("faithless")
|
||||
gold_core_spawnable = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/faithless/AttackingTarget()
|
||||
. = ..()
|
||||
if(. && prob(12) && iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
C.Knockdown(60)
|
||||
C.visible_message("<span class='danger'>\The [src] knocks down \the [C]!</span>", \
|
||||
"<span class='userdanger'>\The [src] knocks you down!</span>")
|
||||
|
||||
@@ -36,6 +36,7 @@ Difficulty: Medium
|
||||
desc = "Guardians of the necropolis."
|
||||
health = 2500
|
||||
maxHealth = 2500
|
||||
spacewalk = TRUE
|
||||
attacktext = "chomps"
|
||||
attack_sound = 'sound/magic/demon_attack1.ogg'
|
||||
icon_state = "dragon"
|
||||
@@ -97,9 +98,6 @@ Difficulty: Medium
|
||||
if(!swooping)
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/OpenFire()
|
||||
if(swooping)
|
||||
return
|
||||
|
||||
@@ -21,6 +21,7 @@ Difficulty: Medium
|
||||
name = "Legion"
|
||||
health = 800
|
||||
maxHealth = 800
|
||||
spacewalk = TRUE
|
||||
icon_state = "legion"
|
||||
icon_living = "legion"
|
||||
desc = "One of many."
|
||||
@@ -139,9 +140,6 @@ Difficulty: Medium
|
||||
loot = list(/obj/structure/closet/crate/necropolis/tendril)
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/legion/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/obj/item/device/gps/internal/legion
|
||||
icon_state = null
|
||||
gpstag = "Echoing Signal"
|
||||
|
||||
@@ -1,68 +1,66 @@
|
||||
/mob/living/simple_animal/hostile/pirate
|
||||
name = "Pirate"
|
||||
desc = "Does what he wants cause a pirate is free."
|
||||
icon = 'icons/mob/simple_human.dmi'
|
||||
icon_state = "piratemelee"
|
||||
icon_living = "piratemelee"
|
||||
icon_dead = "piratemelee_dead"
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "pushes"
|
||||
response_disarm = "shoves"
|
||||
response_harm = "hits"
|
||||
speed = 0
|
||||
maxHealth = 100
|
||||
health = 100
|
||||
|
||||
harm_intent_damage = 5
|
||||
obj_damage = 60
|
||||
melee_damage_lower = 30
|
||||
melee_damage_upper = 30
|
||||
attacktext = "slashes"
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
|
||||
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
|
||||
unsuitable_atmos_damage = 15
|
||||
speak_emote = list("yarrs")
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/pirate,
|
||||
/mob/living/simple_animal/hostile/pirate
|
||||
name = "Pirate"
|
||||
desc = "Does what he wants cause a pirate is free."
|
||||
icon = 'icons/mob/simple_human.dmi'
|
||||
icon_state = "piratemelee"
|
||||
icon_living = "piratemelee"
|
||||
icon_dead = "piratemelee_dead"
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
response_help = "pushes"
|
||||
response_disarm = "shoves"
|
||||
response_harm = "hits"
|
||||
speed = 0
|
||||
maxHealth = 100
|
||||
health = 100
|
||||
spacewalk = TRUE
|
||||
|
||||
harm_intent_damage = 5
|
||||
obj_damage = 60
|
||||
melee_damage_lower = 30
|
||||
melee_damage_upper = 30
|
||||
attacktext = "slashes"
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
|
||||
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
|
||||
unsuitable_atmos_damage = 15
|
||||
speak_emote = list("yarrs")
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/pirate,
|
||||
/obj/item/melee/transforming/energy/sword/pirate)
|
||||
del_on_death = 1
|
||||
faction = list("pirate")
|
||||
|
||||
/mob/living/simple_animal/hostile/pirate/ranged
|
||||
name = "Pirate Gunner"
|
||||
icon_state = "pirateranged"
|
||||
icon_living = "pirateranged"
|
||||
icon_dead = "piratemelee_dead"
|
||||
projectilesound = 'sound/weapons/laser.ogg'
|
||||
ranged = 1
|
||||
rapid = 1
|
||||
retreat_distance = 5
|
||||
minimum_distance = 5
|
||||
projectiletype = /obj/item/projectile/beam/laser
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged,
|
||||
/obj/item/gun/energy/laser)
|
||||
|
||||
/mob/living/simple_animal/hostile/pirate/space
|
||||
name = "Space Pirate"
|
||||
icon_state = "piratespace"
|
||||
icon_living = "piratespace"
|
||||
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
|
||||
speed = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/pirate/space/ranged
|
||||
name = "Space Pirate Gunner"
|
||||
icon_state = "piratespaceranged"
|
||||
icon_living = "piratespaceranged"
|
||||
projectilesound = 'sound/weapons/laser.ogg'
|
||||
ranged = 1
|
||||
rapid = 1
|
||||
retreat_distance = 5
|
||||
minimum_distance = 5
|
||||
projectiletype = /obj/item/projectile/beam/laser
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged,
|
||||
/obj/item/gun/energy/laser)
|
||||
|
||||
/mob/living/simple_animal/hostile/pirate/space/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
del_on_death = 1
|
||||
faction = list("pirate")
|
||||
|
||||
/mob/living/simple_animal/hostile/pirate/ranged
|
||||
name = "Pirate Gunner"
|
||||
icon_state = "pirateranged"
|
||||
icon_living = "pirateranged"
|
||||
icon_dead = "piratemelee_dead"
|
||||
projectilesound = 'sound/weapons/laser.ogg'
|
||||
ranged = 1
|
||||
rapid = 1
|
||||
retreat_distance = 5
|
||||
minimum_distance = 5
|
||||
projectiletype = /obj/item/projectile/beam/laser
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged,
|
||||
/obj/item/gun/energy/laser)
|
||||
|
||||
/mob/living/simple_animal/hostile/pirate/space
|
||||
name = "Space Pirate"
|
||||
icon_state = "piratespace"
|
||||
icon_living = "piratespace"
|
||||
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
|
||||
speed = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/pirate/space/ranged
|
||||
name = "Space Pirate Gunner"
|
||||
icon_state = "piratespaceranged"
|
||||
icon_living = "piratespaceranged"
|
||||
projectilesound = 'sound/weapons/laser.ogg'
|
||||
ranged = 1
|
||||
rapid = 1
|
||||
retreat_distance = 5
|
||||
minimum_distance = 5
|
||||
projectiletype = /obj/item/projectile/beam/laser
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged,
|
||||
/obj/item/gun/energy/laser)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
speak_chance = 0
|
||||
maxHealth = 15
|
||||
health = 15
|
||||
spacewalk = TRUE
|
||||
see_in_dark = 10
|
||||
harm_intent_damage = 6
|
||||
melee_damage_lower = 6
|
||||
@@ -36,5 +37,3 @@
|
||||
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
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/bat/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
@@ -55,6 +55,7 @@
|
||||
status_flags = 0
|
||||
maxHealth = 170
|
||||
health = 170
|
||||
spacewalk = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/bullet_act(obj/item/projectile/Proj)
|
||||
if(!Proj)
|
||||
@@ -75,9 +76,6 @@
|
||||
loot = list(/obj/effect/gibspawner/human)
|
||||
speed = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/space/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/space/stormtrooper
|
||||
icon_state = "syndicatemeleestormtrooper"
|
||||
icon_living = "syndicatemeleestormtrooper"
|
||||
@@ -106,11 +104,9 @@
|
||||
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
|
||||
speed = 1
|
||||
spacewalk = TRUE
|
||||
loot = list(/obj/effect/gibspawner/human)
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/ranged/space/Process_Spacemove(movement_dir = 0)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/ranged/space/stormtrooper
|
||||
icon_state = "syndicaterangedstormtrooper"
|
||||
icon_living = "syndicaterangedstormtrooper"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
icon_living = "shade"
|
||||
maxHealth = 50
|
||||
health = 50
|
||||
spacewalk = TRUE
|
||||
healable = 0
|
||||
speak_emote = list("hisses")
|
||||
emote_hear = list("wails.","screeches.")
|
||||
@@ -40,9 +41,6 @@
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/shade/Process_Spacemove(movement_dir = 0)
|
||||
return TRUE //this doesn't make much sense; you'd thing TRUE would mean it'd process spacemove but it means it doesn't
|
||||
|
||||
/mob/living/simple_animal/shade/attack_animal(mob/living/simple_animal/M)
|
||||
if(isconstruct(M))
|
||||
var/mob/living/simple_animal/hostile/construct/C = M
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
var/slurring = 0 //Carbon
|
||||
var/cultslurring = 0 //Carbon
|
||||
var/real_name = null
|
||||
var/spacewalk = FALSE
|
||||
var/druggy = 0 //Carbon
|
||||
var/confused = 0 //Carbon
|
||||
var/resting = 0 //Carbon
|
||||
|
||||
@@ -297,7 +297,7 @@
|
||||
///For moving in space
|
||||
///return TRUE for movement 0 for none
|
||||
/mob/Process_Spacemove(movement_dir = 0)
|
||||
if(..())
|
||||
if(spacewalk || ..())
|
||||
return TRUE
|
||||
var/atom/movable/backup = get_spacemove_backup()
|
||||
if(backup)
|
||||
|
||||
Reference in New Issue
Block a user