Copy-Paste Port of /tg/station's Shadowlings

Ports tgstation/-tg-station#8157

This won't compile, needs to be bugfixed and tested. The only reason I
am PRing  this right now is so that we don't have multiple people
working on the same thing.

@ZomgPonies This will require PROBABILITY SHADOWLING # to be added to
game_options.txt, and will likely require SQL database additions for the
BE_SHADOWLING antag preference.
This commit is contained in:
DZD
2015-04-12 13:15:40 -04:00
parent dfaad7168d
commit 0ab3a54fcb
14 changed files with 1227 additions and 1 deletions
+6
View File
@@ -501,6 +501,12 @@
if(ticker.mode.traitors.len)
dat += check_role_table("Traitors", ticker.mode.traitors, src)
if(ticker.mode.shadows.len)
dat += check_role_table("Shadowlings", ticker.mode.shadowlings, src)
if(ticker.mode.thralls.len)
dat += check_role_table("Shadowling Thralls", ticker.thralls, src)
if(ticker.mode.vampires.len)
dat += check_role_table("Vampires", ticker.mode.vampires, src)
+2 -1
View File
@@ -17,7 +17,8 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
"raider" = IS_MODE_COMPILED("heist"), // 1024 / 11
"vampire" = IS_MODE_COMPILED("vampire"), // 2048 / 12
"mutineer" = IS_MODE_COMPILED("mutiny"), // 4096 / 13
"blob" = IS_MODE_COMPILED("blob") // 8192 / 14
"blob" = IS_MODE_COMPILED("blob") // 8192 / 14
"shadowling" = IS_MODE_COMPILED("shadowling") //16384 / 15
)
var/global/list/special_role_times = list( //minimum age (in days) for accounts to play these roles
num2text(BE_PAI) = 0,
@@ -0,0 +1,33 @@
/mob/living/simple_animal/ascendant_shadowling
name = "Ascendant Shadowling"
desc = "A large, floating eldritch horror. It has pulsing markings all about its body and large horns. It seems to be floating without any form of support."
icon = 'icons/mob/mob.dmi'
icon_state = "shadowling_ascended"
icon_living = "shadowling_ascended"
speak_emote = list("telepathically thunders", "telepathically booms")
force_threshold = INFINITY //Can't die by normal means
health = 100000
maxHealth = 100000
speed = 0
var/phasing = 0
see_in_dark = 8
see_invisible = SEE_INVISIBLE_MINIMUM
response_help = "stares at"
response_disarm = "flails at"
response_harm = "flails at"
harm_intent_damage = 0
melee_damage_lower = 35
melee_damage_upper = 35
attacktext = "claws at"
attack_sound = 'sound/weapons/slash.ogg'
minbodytemp = 0
maxbodytemp = INFINITY
environment_smash = 2
faction = list("faithless")
/mob/living/simple_animal/ascendant_shadowling/Process_Spacemove(var/movement_dir = 0)
return 1 //copypasta from carp code