Merge pull request #3860 from Citadel-Station-13/upstream-merge-32515

[MIRROR] Process_Spacemove proc improvement
This commit is contained in:
LetterJay
2017-11-11 12:36:35 -06:00
committed by GitHub
16 changed files with 122 additions and 151 deletions

View File

@@ -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

View File

@@ -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.

View File

@@ -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()

View File

@@ -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

View File

@@ -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)

View File

@@ -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()

View File

@@ -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))

View File

@@ -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>")

View File

@@ -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

View File

@@ -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"

View File

@@ -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)

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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)