Merge pull request #6169 from Aurorablade/KALIMAH

Bugsie 3
This commit is contained in:
Fox McCloud
2017-01-18 18:52:19 -05:00
committed by GitHub
10 changed files with 61 additions and 25 deletions
@@ -37,15 +37,15 @@
"aK" = (/obj/effect/rune,/mob/living/simple_animal/hostile/construct/wraith,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aL" = (/mob/living/simple_animal/hostile/construct/armoured,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aM" = (/obj/effect/decal/cleanable/blood/innards,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aN" = (/mob/living/simple_animal/construct/wraith,/mob/living/simple_animal/hostile/construct/builder,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aO" = (/mob/living/simple_animal/construct/builder,/mob/living/simple_animal/hostile/construct/behemoth,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aN" = (/mob/living/simple_animal/hostile/construct/builder,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aO" = (/mob/living/simple_animal/hostile/construct/behemoth,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aP" = (/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aQ" = (/obj/effect/decal/cleanable/blood/writing,/obj/effect/decal/cleanable/blood/writing,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aR" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/obj/effect/spawner/window/reinforced{color = "red"},/turf/simulated/wall/cult,/area/shuttle/escape)
"aS" = (/obj/machinery/status_display{pixel_y = -30},/obj/machinery/light/spot,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aT" = (/obj/machinery/door/airlock/cult/friendly,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape)
"aU" = (/obj/effect/spawner/window/reinforced{color = "red"},/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/escape)
"aV" = (/mob/living/simple_animal/construct/armoured,/mob/living/simple_animal/hostile/construct/harvester,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aV" = (/mob/living/simple_animal/hostile/construct/harvester,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aW" = (/obj/structure/dresser,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aX" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/turf/simulated/floor/engine/cult,/area/shuttle/escape)
"aY" = (/obj/effect/decal/cleanable/blood/tracks/footprints,/turf/simulated/floor/engine/cult,/area/shuttle/escape)
+5 -10
View File
@@ -106,14 +106,6 @@ var/global/list/all_cults = list()
/datum/game_mode/cult/post_setup()
modePlayer += cult
acolytes_needed = acolytes_needed + round((num_players_started() / 10))
if("sacrifice" in objectives)
var/list/possible_targets = get_unconvertables()
if(!possible_targets.len)
for(var/mob/living/carbon/human/player in player_list)
if(player.mind && !(player.mind in cult))
possible_targets += player.mind
if(possible_targets.len > 0)
sacrifice_target = pick(possible_targets)
for(var/datum/mind/cult_mind in cult)
equip_cultist(cult_mind.current)
@@ -187,6 +179,9 @@ var/global/list/all_cults = list()
if(jobban_isbanned(cult_mind.current, ROLE_CULTIST))
replace_jobbaned_player(cult_mind.current, ROLE_CULTIST)
update_cult_icons_added(cult_mind)
if(GAMEMODE_IS_CULT)
var/datum/game_mode/cult/cult_mode = ticker.mode
cult_mode.check_numbers()
return 1
@@ -327,7 +322,7 @@ var/global/list/all_cults = list()
feedback_add_details("cult_objective","cult_demons|FAIL")
if("convert")//convert half the crew
if(obj_count < objectives.len)
if(cult.len >= convert_target)
explanation = "Convert [convert_target] crewmembers ([cult.len] cultists at round end). <font color='green'><B>Success!</B></font>"
feedback_add_details("cult_objective","cult_convertion|SUCCESS")
else
@@ -335,7 +330,7 @@ var/global/list/all_cults = list()
feedback_add_details("cult_objective","cult_convertion|FAIL")
if("bloodspill")//cover a large portion of the station in blood
if(obj_count < objectives.len)
if(max_spilled_blood >= spilltarget)
explanation = "Cover [spilltarget] tiles of the station in blood (The peak number of covered tiles was: [max_spilled_blood]). <font color='green'><B>Success!</B></font>"
feedback_add_details("cult_objective","cult_bloodspill|SUCCESS")
else
+1 -1
View File
@@ -34,6 +34,6 @@
if(iscultist(M))
to_chat(M, my_message)
else if(M in dead_mob_list)
to_chat(M, "<span class='cultspeech'> <a href='?src=\ref[M];follow=\ref[user]'>(F)</a> [my_message] </span>")
to_chat(M, "<span class='cultspeech'> <a href='?src=[M.UID()];follow=\ref[user]'>(F)</a> [my_message] </span>")
log_say("[user.real_name]/[user.key] : [message]")
+3 -6
View File
@@ -155,13 +155,11 @@
if(!sacrificed.len)
var/list/possible_targets = list()
for(var/mob/living/carbon/human/player in player_list)
if(is_secure_level(player.z)) //We can't sacrifice people that are on the centcom z-level
continue
if(player.mind && !is_convertable_to_cult(player.mind) && (player.stat != DEAD))
possible_targets += player.mind
if(!possible_targets.len)
//There are no living Unconvertables on the station. Looking for a Sacrifice Target among the ordinary crewmembers
//There are no living Unconvertables on the station. Looking for a Sacrifice Target among the ordinary crewmembers
for(var/mob/living/carbon/human/player in player_list)
if(is_secure_level(player.z)) //We can't sacrifice people that are on the centcom z-level
continue
@@ -172,8 +170,7 @@
sacrifice_target = pick(possible_targets)
possible_objectives |= "sacrifice"
else
message_admins("Didn't find a suitable sacrifice target...what the hell? Shout at a coder.")
log_admin("Didn't find a suitable sacrifice target...what the hell? Shout at a coder.")
log_runtime(EXCEPTION("Didn't find a suitable sacrifice target...what the hell? Shout at a coder."))
if(!mass_convert)
var/living_crew = 0
@@ -194,7 +191,7 @@
log_admin("There are [total] players, too little for the mass convert objective!")
else
possible_objectives |= "convert"
convert_target = round(total / 2)
convert_target = rand(9,15)
if(!possible_objectives.len)//No more possible objectives, time to summon Nar-Sie
message_admins("No suitable objectives left! Nar-Sie objective unlocked.")
+1
View File
@@ -975,6 +975,7 @@ var/list/teleport_runes = list()
var/mob/living/carbon/human/new_human = new(get_turf(src))
new_human.real_name = ghost_to_spawn.real_name
new_human.alpha = 150 //Makes them translucent
new_human.color = "grey" //heh..cult greytide...litterly...
..()
visible_message("<span class='warning'>A cloud of red mist forms above [src], and from within steps... a man.</span>")
to_chat(user, "<span class='cultitalic'>Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...</span>")
+4 -1
View File
@@ -17,7 +17,10 @@ var/runetype = "rune"
/proc/get_rune(symbol_bits, animated = 0)
var/lookup = "[symbol_bits]-[animated]"
if(ticker.mode.cultdat.theme == "fire")
if(!ticker.mode)//work around for maps with runes and cultdat is not loaded all the way
runetype = "rune"
else if(ticker.mode.cultdat.theme == "fire")
runetype = "fire-rune"
if(lookup in rune_cache)
+5
View File
@@ -489,6 +489,11 @@
if(ticker.mode.cult.len)
dat += check_role_table("Cultists", ticker.mode.cult, 0)
dat += "<br> use <a href='?src=[UID()];cult_mindspeak=[UID()]'>Cult Mindspeak</a>"
if(GAMEMODE_IS_CULT)
var/datum/game_mode/cult/cult_round = ticker.mode
if(!cult_round.narsie_condition_cleared)
dat += "<br><a href='?src=[UID()];cult_nextobj=[UID()]'>complete objective (debug)</a>"
if(ticker.mode.traitors.len)
dat += check_role_table("Traitors", ticker.mode.traitors)
+28
View File
@@ -1533,6 +1533,34 @@
else if(href_list["check_antagonist"])
check_antagonists()
else if(href_list["cult_nextobj"])
if(alert(usr, "Validate the current Cult objective and unlock the next one?", "Cult Cheat Code", "Yes", "No") != "Yes")
return
if(!GAMEMODE_IS_CULT)
alert("Couldn't locate cult mode datum! This shouldn't ever happen, tell a coder!")
return
var/datum/game_mode/cult/cult_round = ticker.mode
cult_round.bypass_phase()
message_admins("Admin [key_name_admin(usr)] has unlocked the Cult's next objective.")
log_admin("Admin [key_name_admin(usr)] has unlocked the Cult's next objective.")
else if(href_list["cult_mindspeak"])
var/input = stripped_input(usr, "Communicate to all the cultists with the voice of [ticker.mode.cultdat.entity_name]", "Voice of [ticker.mode.cultdat.entity_name]", "")
if(!input)
return
for(var/datum/mind/H in ticker.mode.cult)
if (H.current)
to_chat(H.current, "<span class='danger'>[ticker.mode.cultdat.entity_name]</span> murmurs, <span class='cultlarge'>[input]</span></span>")
for(var/mob/dead/observer/O in player_list)
to_chat(O, "<span class='danger'>[ticker.mode.cultdat.entity_name]</span> murmurs, <span class='cultlarge'>[input]</span></span>")
message_admins("Admin [key_name_admin(usr)] has talked with the Voice of [ticker.mode.cultdat.entity_name].")
log_admin("[key_name(usr)] Voice of [ticker.mode.cultdat.entity_name]: [input]")
else if(href_list["adminplayerobservecoodjump"])
if(!check_rights(R_ADMIN)) return
@@ -29,10 +29,17 @@
/mob/living/simple_animal/hostile/construct/New()
..()
name = "[ticker.mode.cultdat.get_name(const_type)] ([rand(1, 1000)])"
real_name = ticker.mode.cultdat.get_name(const_type)
icon_living = ticker.mode.cultdat.get_icon(const_type)
icon_state = ticker.mode.cultdat.get_icon(const_type)
if(!ticker.mode)//work around for maps with runes and cultdat is not loaded all the way
name = "[const_type] ([rand(1, 1000)])"
real_name = const_type
icon_living = const_type
icon_state = const_type
else
name = "[ticker.mode.cultdat.get_name(const_type)] ([rand(1, 1000)])"
real_name = ticker.mode.cultdat.get_name(const_type)
icon_living = ticker.mode.cultdat.get_icon(const_type)
icon_state = ticker.mode.cultdat.get_icon(const_type)
for(var/spell in construct_spells)
AddSpell(new spell(null))
Binary file not shown.

Before

Width:  |  Height:  |  Size: 381 KiB

After

Width:  |  Height:  |  Size: 381 KiB