mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-28 22:48:38 +01:00
Merge branch 'master' into nova-heterochromia
This commit is contained in:
@@ -527,6 +527,8 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(equipment)
|
||||
if(charjob)
|
||||
job_master.EquipRank(new_character, charjob, 1)
|
||||
new_character.mind.assigned_role = charjob
|
||||
new_character.mind.role_alt_title = job_master.GetPlayerAltTitle(new_character, charjob)
|
||||
//equip_custom_items(new_character) //VOREStation Removal
|
||||
|
||||
//If desired, add records.
|
||||
@@ -534,7 +536,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
data_core.manifest_inject(new_character)
|
||||
|
||||
//A redraw for good measure
|
||||
new_character.update_icons_all()
|
||||
new_character.regenerate_icons()
|
||||
|
||||
//If we're announcing their arrival
|
||||
if(announce)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/violent_breakthrough = TRUE // If false, the AI is not allowed to destroy things like windows or other structures in the way. Requires above var to be true.
|
||||
|
||||
var/stand_ground = FALSE // If true, the AI won't try to get closer to an enemy if out of range.
|
||||
|
||||
|
||||
// This does the actual attacking.
|
||||
/datum/ai_holder/proc/engage_target()
|
||||
ai_log("engage_target() : Entering.", AI_LOG_DEBUG)
|
||||
@@ -293,7 +293,7 @@
|
||||
|
||||
// Kill common obstacle in the way like tables.
|
||||
var/obj/structure/obstacle = locate(/obj/structure, problem_turf)
|
||||
if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille))
|
||||
if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille) || istype(obstacle, /obj/effect/weaversilk/wall)) //VOREStation Edit: spdr
|
||||
ai_log("destroy_surroundings() : Attacking generic structure.", AI_LOG_INFO)
|
||||
return melee_attack(obstacle)
|
||||
|
||||
|
||||
@@ -307,31 +307,6 @@
|
||||
genders = list(MALE, FEMALE, PLURAL, NEUTER)
|
||||
wikilink="https://wiki.vore-station.net/Diona"
|
||||
|
||||
/datum/species/teshari
|
||||
mob_size = MOB_MEDIUM //To allow normal mob swapping
|
||||
spawn_flags = SPECIES_CAN_JOIN
|
||||
icobase = 'icons/mob/human_races/r_teshari_vr.dmi'
|
||||
deform = 'icons/mob/human_races/r_teshari_vr.dmi'
|
||||
icobase_tail = 1
|
||||
color_mult = 1
|
||||
min_age = 18
|
||||
push_flags = ~HEAVY //Allows them to use micro step code.
|
||||
swap_flags = ~HEAVY
|
||||
gluttonous = 0
|
||||
genders = list(MALE, FEMALE, PLURAL, NEUTER)
|
||||
descriptors = list()
|
||||
wikilink="https://wiki.vore-station.net/Teshari"
|
||||
agility = 90
|
||||
|
||||
male_sneeze_sound = list('sound/effects/mob_effects/tesharisneeze.ogg','sound/effects/mob_effects/tesharisneezeb.ogg')
|
||||
female_sneeze_sound = list('sound/effects/mob_effects/tesharisneeze.ogg','sound/effects/mob_effects/tesharisneezeb.ogg')
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/carbon/human/proc/sonar_ping,
|
||||
/mob/living/proc/hide,
|
||||
/mob/living/proc/toggle_pass_table
|
||||
)
|
||||
|
||||
/datum/species/human
|
||||
color_mult = 1
|
||||
icobase = 'icons/mob/human_races/r_human_vr.dmi'
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
/datum/species/teshari
|
||||
mob_size = MOB_MEDIUM //To allow normal mob swapping
|
||||
spawn_flags = SPECIES_CAN_JOIN
|
||||
icobase = 'icons/mob/human_races/r_teshari_vr.dmi'
|
||||
deform = 'icons/mob/human_races/r_teshari_vr.dmi'
|
||||
icobase_tail = 1
|
||||
color_mult = 1
|
||||
min_age = 18
|
||||
push_flags = ~HEAVY //Allows them to use micro step code.
|
||||
swap_flags = ~HEAVY
|
||||
gluttonous = 0
|
||||
genders = list(MALE, FEMALE, PLURAL, NEUTER)
|
||||
descriptors = list()
|
||||
wikilink="https://wiki.vore-station.net/Teshari"
|
||||
agility = 90
|
||||
|
||||
male_sneeze_sound = list('sound/effects/mob_effects/tesharisneeze.ogg','sound/effects/mob_effects/tesharisneezeb.ogg')
|
||||
female_sneeze_sound = list('sound/effects/mob_effects/tesharisneeze.ogg','sound/effects/mob_effects/tesharisneezeb.ogg')
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/carbon/human/proc/sonar_ping,
|
||||
/mob/living/proc/hide,
|
||||
/mob/living/proc/toggle_pass_table
|
||||
)
|
||||
@@ -7,6 +7,29 @@
|
||||
anchored = 1
|
||||
density = 0
|
||||
|
||||
/obj/effect/weaversilk/ex_act(severity)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/effect/weaversilk/attackby(var/obj/item/weapon/W, var/mob/user)
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
|
||||
if(W.force)
|
||||
visible_message("<span class='warning'>\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]</span>")
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/weaversilk/bullet_act(var/obj/item/projectile/Proj)
|
||||
..()
|
||||
if(Proj.get_structure_damage())
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/weaversilk/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/weaversilk/attack_generic(mob/user as mob, var/damage)
|
||||
if(damage)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/weaversilk/attack_hand(mob/user as mob)
|
||||
..()
|
||||
if(user.a_intent == I_HURT)
|
||||
@@ -82,11 +105,11 @@
|
||||
"<b>You hear a squishy noise!</b>"
|
||||
)
|
||||
set_dir(L.dir)
|
||||
can_buckle = 1
|
||||
can_buckle = TRUE
|
||||
buckle_mob(L)
|
||||
L.Stun(1 SECOND)
|
||||
L.Stun(1)
|
||||
to_chat(L, "<span class='danger'>The sticky fibers of \the [src] ensnare, trapping you in place!</span>")
|
||||
trap_active = 0
|
||||
trap_active = FALSE
|
||||
can_buckle = initial(can_buckle)
|
||||
desc += " Actually, it looks like it's been all spent."
|
||||
..()
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
if("modify")
|
||||
if(computer && computer.card_slot)
|
||||
if(id_card)
|
||||
data_core.manifest_modify(id_card.registered_name, id_card.assignment)
|
||||
data_core.manifest_modify(id_card.registered_name, id_card.assignment, id_card.rank)
|
||||
computer.proc_eject_id(usr)
|
||||
. = TRUE
|
||||
if("terminate")
|
||||
|
||||
Reference in New Issue
Block a user