Unathi alt language and more fixes (#1299)

-added an alt unathi language, at jackboot's request
-added an automatic shotgun weapon
-fixed rifles having the wrong delay when not wielded
-fixed non-lore friendly ipc limbs
-fixed #1292
-fix syndicate borgs not having the right assigned mind
This commit is contained in:
Alberyk
2016-12-25 20:51:15 +02:00
committed by skull132
parent f1897e2ffb
commit 871b2dc302
19 changed files with 111 additions and 18 deletions
+11
View File
@@ -203,6 +203,17 @@
/datum/language/resomi/get_random_name(gender)
return ..(gender, 1, 4, 1.5)
/datum/language/unathi_azaziba
name = LANGUAGE_AZAZIBA
desc = "A language of Moghes consisting of a combination of spoken word and gesticulation. While waning since Moghes entered the glactic stage, it enjoys popular use by Unathi that never fell to the Hegemony's cultural dominance."
speech_verb = "hisses"
ask_verb = "gestures"
exclaim_verb = "roars"
colour = "soghun_alt"
key = "p"
flags = WHITELISTED | NONVERBAL
syllables = list("azs","zis","zau","azua","skiu","zuakz","izo","aei","ki","kut","zo")
//Syllable Lists
/*
@@ -22,6 +22,11 @@
flags = NO_BLOOD | NO_SCAN | NO_SLIP | NO_POISON | NO_MINOR_CUT
spawn_flags = IS_RESTRICTED
stamina = 500 //Tireless automatons
stamina_recovery = 1
sprint_speed_factor = 0.3
exhaust_threshold = 0 //No oxyloss, so zero threshold
/datum/species/shadow/handle_death(var/mob/living/carbon/human/H)
spawn(1)
new /obj/effect/decal/cleanable/ash(H.loc)
@@ -10,6 +10,7 @@
default_language = "Ceti Basic"
language = "Cult"
name_language = "Cult"
unarmed_types = list(/datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/sharp)
darksight = 8
has_organ = list() //skeletons are empty shells for now, maybe we can add something in the future
@@ -39,7 +40,7 @@
breath_type = null
poison_type = null
flags = NO_BLOOD | NO_SCAN | NO_SLIP | NO_POISON | NO_PAIN | NO_BREATHE
flags = NO_BLOOD | NO_SCAN | NO_SLIP | NO_POISON | NO_PAIN | NO_BREATHE | NO_MINOR_CUT
spawn_flags = IS_RESTRICTED
has_limbs = list(
@@ -40,7 +40,7 @@
brute_mod = 0.8
ethanol_resistance = 0.4
num_alternate_languages = 2
secondary_langs = list(LANGUAGE_UNATHI)
secondary_langs = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
name_language = LANGUAGE_UNATHI
stamina = 120 // Unathi have the shortest but fastest sprint of all
sprint_speed_factor = 3.2
+1 -1
View File
@@ -38,7 +38,7 @@ var/global/datum/robolimb/basic_robolimb
icon = 'icons/mob/human_races/cyberlimbs/xion.dmi'
/datum/robolimb/ipc
company = "Morpheus Cyberkinetics"
company = "Hephaestus Integrated Limb"
desc = "This limb is simple and functional; no effort has been made to make it look human."
icon = 'icons/mob/human_races/cyberlimbs/ipc.dmi'
unavailable_at_chargen = 1
+12 -12
View File
@@ -2,74 +2,74 @@
/obj/item/organ/external/head/ipc
dislocated = -1
can_intake_reagents = 0
vital = 0
vital = 1 //because it is now hosting the posibrain
max_damage = 50 //made same as arm, since it is not vital
min_broken_damage = 30
encased = null
/obj/item/organ/external/head/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/chest/ipc
dislocated = -1
encased = null
/obj/item/organ/external/chest/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/groin/ipc
dislocated = -1
/obj/item/organ/external/groin/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/arm/ipc
dislocated = -1
/obj/item/organ/external/arm/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/arm/right/ipc
dislocated = -1
/obj/item/organ/external/arm/right/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/leg/ipc
dislocated = -1
/obj/item/organ/external/leg/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/leg/right/ipc
dislocated = -1
/obj/item/organ/external/leg/right/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/foot/ipc
dislocated = -1
/obj/item/organ/external/foot/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/foot/right/ipc
dislocated = -1
/obj/item/organ/external/foot/right/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/hand/ipc
dislocated = -1
/obj/item/organ/external/hand/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/external/hand/right/ipc
dislocated = -1
/obj/item/organ/external/hand/right/ipc/New()
robotize("Morpheus Cyberkinetics")
robotize("Hephaestus Integrated Limb")
..()
/obj/item/organ/cell
@@ -372,3 +372,31 @@
/obj/item/ammo_magazine/d762/empty
initial_ammo = 0
/obj/item/ammo_magazine/assault_shotgun
name = "magazine (slug)"
icon = 'icons/obj/dragunov.dmi'
icon_state = "csmb"
caliber = "shotgun"
mag_type = MAGAZINE
ammo_type = /obj/item/ammo_casing/shotgun
max_ammo = 8
matter = list("metal" = 2880)
multiple_sprites = 1
/obj/item/ammo_magazine/assault_shotgun/shells
name = "magazine (shells)"
icon_state = "csm"
ammo_type = /obj/item/ammo_casing/shotgun/pellet
/obj/item/ammo_magazine/assault_shotgun/incendiary
name = "magazine (incendiary shells)"
icon_state = "csmi"
ammo_type = /obj/item/ammo_casing/shotgun/incendiary
matter = list(DEFAULT_WALL_MATERIAL = 3600)
/obj/item/ammo_magazine/assault_shotgun/stun
name = "magazine (stun shells)"
icon_state = "csms"
ammo_type = /obj/item/ammo_casing/shotgun/stunshell
matter = list(DEFAULT_WALL_MATERIAL = 2880, "glass" = 5760)
@@ -99,7 +99,7 @@
allowed_magazines = list(/obj/item/ammo_magazine/c762)
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="semiauto", burst=1, fire_delay=10, move_delay=null, burst_accuracy=-2, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)),
list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1,-2,-2), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2))
)
@@ -161,7 +161,7 @@
burst_delay = 4
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null),
list(mode_name="semiauto", burst=1, fire_delay=10, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, use_launcher=null, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 0.6)),
list(mode_name="fire grenades", burst=null, fire_delay=null, move_delay=null, use_launcher=1, burst_accuracy=null, dispersion=null)
)
@@ -310,3 +310,38 @@
list(mode_name="single coil", burst=1, fire_delay=0, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null),
list(mode_name="dual coil", burst=2, move_delay=8, accuracy = list(-2,-3), dispersion = list(2.0, 3.0))
)
/obj/item/weapon/gun/projectile/automatic/rifle/shotgun
name = "assault shotgun"
desc = "A experimental, semi-automatic combat shotgun, designed for boarding operations and law enforcement agencies."
icon = 'icons/obj/dragunov.dmi' //lazy but works fine
icon_state = "cshotgun"
item_state = "cshotgun"
contained_sprite = 1
w_class = 4
load_method = MAGAZINE
max_shells = 8
caliber = "shotgun"
magazine_type = /obj/item/ammo_magazine/assault_shotgun
allowed_magazines = list(/obj/item/ammo_magazine/assault_shotgun)
origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 4, TECH_ILLEGAL = 5)
slot_flags = SLOT_BACK
auto_eject = 1
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
recoil = 3
accuracy = -2
fire_delay = 10
recoil_wielded = 0
fire_delay_wielded = 6
accuracy_wielded = 0
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay= 10, move_delay=null, burst_accuracy=-2, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0))
)
/obj/item/weapon/gun/projectile/automatic/rifle/shotgun/update_icon()
..()
icon_state = (ammo_magazine)? "cshotgun" : "cshotgun-empty"