now someone tell me how to switch objectives....

This commit is contained in:
Aurorablade
2017-01-08 23:40:54 -05:00
parent 26aee9cb33
commit 0f9cc4fb99
8 changed files with 104 additions and 85 deletions
+3 -3
View File
@@ -196,7 +196,7 @@
/obj/item/weapon/tome/proc/finale_runes_ok(mob/living/user, obj/effect/rune/rune_to_scribe)
var/datum/game_mode/cult/cult_mode = ticker.mode
if(GAMEMODE_IS_CULT)
if(!canbypass == 1)//not an admin-tome, check things
if(!canbypass)//not an admin-tome, check things
if(!cult_mode.narsie_condition_cleared)
to_chat(user, "<span class='warning'>There is still more to do before unleashing [cult_mode.cultdat.entity_name] power!</span>")
return 0
@@ -210,14 +210,14 @@
to_chat(user, "<span class='warning'>[cult_mode.cultdat.entity_name]'s power does not wish to be unleashed!</span>")
return 0
var/confirm_final = alert(user, "This is the FINAL step to summon your dietys power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [cult_mode.cultdat.entity_name]!", "No")
if(confirm_final == "No")
if(confirm_final == "No" || confirm_final == null)
to_chat(user, "<span class='cult'>You decide to prepare further before scribing the rune.</span>")
return 0
else
return 1
else//the game mode is not cult..but we ARE a cultist...ALL ON THE ADMINBUS
var/confirm_final = alert(user, "This is the FINAL step to summon your dietys power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [cult_mode.cultdat.entity_name]!", "No")
if(confirm_final == "No")
if(confirm_final == "No" || confirm_final == null)
to_chat(user, "<span class='cult'>You decide to prepare further before scribing the rune.</span>")
return 0
else
+77 -79
View File
@@ -475,36 +475,35 @@ var/list/teleport_runes = list()
if(used)
return
var/mob/living/user = invokers[1]
if(GAMEMODE_IS_CULT)
var/datum/game_mode/cult/cult_mode = ticker.mode
if(!is_station_level(user.z))
message_admins("[user.real_name]([user.ckey]) tried to summon an eldritch horror off station")
for(var/M in invokers)
var/mob/living/L = M
to_chat(L, "<span class='cultlarge'><i>\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"</i></span>")
if(L.reagents)
L.reagents.add_reagent("hell_water", 10)
L.Weaken(7)
L.Stun(7)
fail_invoke()
log_game("Summon Nar-Sie rune failed - off station Z level")
return
if(!cult_mode.eldergod)
for(var/M in invokers)
to_chat(M, "<span class='warning'>[ticker.mode.cultdat.entity_name] is already on this plane!</span>")
log_game("Summon god rune failed - already summoned")
return
//BEGIN THE SUMMONING
used = 1
color = rgb(255, 0, 0)
..()
world << 'sound/effects/dimensional_rend.ogg'
to_chat(world, "<span class='cultitalic'><b>The veil... <span class='big'>is...</span> <span class='reallybig'>TORN!!!--</span></b></span>")
icon_state = "rune_large_distorted"
var/turf/T = get_turf(src)
sleep(40)
new /obj/singularity/narsie/large(T) //Causes Nar-Sie to spawn even if the rune has been removed
cult_mode.eldergod = 0
var/datum/game_mode/cult/cult_mode = ticker.mode
if(!is_station_level(user.z))
message_admins("[user.real_name]([user.ckey]) tried to summon an eldritch horror off station")
for(var/M in invokers)
var/mob/living/L = M
to_chat(L, "<span class='cultlarge'><i>\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"</i></span>")
if(L.reagents)
L.reagents.add_reagent("hell_water", 10)
L.Weaken(7)
L.Stun(7)
fail_invoke()
log_game("Summon Nar-Sie rune failed - off station Z level")
return
if(!cult_mode.eldergod)
for(var/M in invokers)
to_chat(M, "<span class='warning'>[ticker.mode.cultdat.entity_name] is already on this plane!</span>")
log_game("Summon god rune failed - already summoned")
return
//BEGIN THE SUMMONING
used = 1
color = rgb(255, 0, 0)
..()
world << 'sound/effects/dimensional_rend.ogg'
to_chat(world, "<span class='cultitalic'><b>The veil... <span class='big'>is...</span> <span class='reallybig'>TORN!!!--</span></b></span>")
icon_state = "rune_large_distorted"
var/turf/T = get_turf(src)
sleep(40)
new /obj/singularity/narsie/large(T) //Causes Nar-Sie to spawn even if the rune has been removed
cult_mode.eldergod = 0
/obj/effect/rune/narsie/attackby(obj/I, mob/user, params) //Since the narsie rune takes a long time to make, add logging to removal.
if((istype(I, /obj/item/weapon/tome) && iscultist(user)))
@@ -564,56 +563,55 @@ var/list/teleport_runes = list()
if(used)
return
var/mob/living/user = invokers[1]
if(GAMEMODE_IS_CULT)
var/datum/game_mode/cult/cult_mode = ticker.mode
if(!(CULT_SLAUGHTER in cult_mode.objectives))
message_admins("[usr.real_name]([user.ckey]) tried to summon demons when the objective was wrong")
for(var/M in invokers)
var/mob/living/L = M
to_chat(L, "<span class='cultlarge'><i>\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"</i></span>")
if(L.reagents)
L.reagents.add_reagent("hell_water", 10)
L.Weaken(7)
L.Stun(7)
fail_invoke()
log_game("Summon Demons rune failed - improper objective")
var/datum/game_mode/cult/cult_mode = ticker.mode
if(!(CULT_SLAUGHTER in cult_mode.objectives))
message_admins("[usr.real_name]([user.ckey]) tried to summon demons when the objective was wrong")
for(var/M in invokers)
var/mob/living/L = M
to_chat(L, "<span class='cultlarge'><i>\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"</i></span>")
if(L.reagents)
L.reagents.add_reagent("hell_water", 10)
L.Weaken(7)
L.Stun(7)
fail_invoke()
log_game("Summon Demons rune failed - improper objective")
return
if(!is_station_level(user.z))
message_admins("[user.real_name]([user.ckey]) tried to summon demons off station")
for(var/M in invokers)
var/mob/living/L = M
to_chat(L, "<span class='cultlarge'><i>\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"</i></span>")
if(L.reagents)
L.reagents.add_reagent("hell_water", 10)
L.Weaken(7)
L.Stun(7)
fail_invoke()
log_game("Summon demons rune failed - off station Z level")
return
if(cult_mode.demons_summoned)
for(var/M in invokers)
to_chat(M, "<span class='warning'>Demons are already on this plane!</span>")
log_game("Summon Demons rune failed - already summoned")
return
if(!is_station_level(user.z))
message_admins("[user.real_name]([user.ckey]) tried to summon demons off station")
for(var/M in invokers)
var/mob/living/L = M
to_chat(L, "<span class='cultlarge'><i>\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"</i></span>")
if(L.reagents)
L.reagents.add_reagent("hell_water", 10)
L.Weaken(7)
L.Stun(7)
fail_invoke()
log_game("Summon demons rune failed - off station Z level")
return
if(cult_mode.demons_summoned)
for(var/M in invokers)
to_chat(M, "<span class='warning'>Demons are already on this plane!</span>")
log_game("Summon Demons rune failed - already summoned")
return
//BEGIN THE SLAUGHTER
used = 1
for(var/mob/living/M in range(1,src))
if(iscultist(M))
M.say("TOK-LYR RQA-NAP SHA-NEX!!")
world << 'sound/effects/dimensional_rend.ogg'
to_chat(world, "<span class='userdanger'>A hellish cacaphony bombards from all around as something awful tears through the world...</span>")
icon_state = "rune_large_distorted"
sleep(55)
to_chat(world, "<span class='cultlarge'><i>\"LIBREATE TE EX INFERIS!\"</i></span>")//Fethas note:I COULDN'T HELP IT OKAY?!
visible_message("<span class='warning'>[src] melts away into blood, and three horrific figures emerge from within!</span>")
var/turf/T = get_turf(src)
new /mob/living/simple_animal/slaughter/cult(T)
new /mob/living/simple_animal/slaughter/cult(T, pick(NORTH, EAST, SOUTH, WEST))
new /mob/living/simple_animal/slaughter/cult(T, pick(NORTHEAST, SOUTHEAST, NORTHWEST, SOUTHWEST))
cult_mode.demons_summoned = 1
shuttle_master.emergency.request(null, 0.5,null)
cult_mode.third_phase()
qdel(src)
//BEGIN THE SLAUGHTER
used = 1
for(var/mob/living/M in range(1,src))
if(iscultist(M))
M.say("TOK-LYR RQA-NAP SHA-NEX!!")
world << 'sound/effects/dimensional_rend.ogg'
to_chat(world, "<span class='userdanger'>A hellish cacaphony bombards from all around as something awful tears through the world...</span>")
icon_state = "rune_large_distorted"
sleep(55)
to_chat(world, "<span class='cultlarge'><i>\"LIBREATE TE EX INFERIS!\"</i></span>")//Fethas note:I COULDN'T HELP IT OKAY?!
visible_message("<span class='warning'>[src] melts away into blood, and three horrific figures emerge from within!</span>")
var/turf/T = get_turf(src)
new /mob/living/simple_animal/slaughter/cult(T)
new /mob/living/simple_animal/slaughter/cult(T, pick(NORTH, EAST, SOUTH, WEST))
new /mob/living/simple_animal/slaughter/cult(T, pick(NORTHEAST, SOUTHEAST, NORTHWEST, SOUTHWEST))
cult_mode.demons_summoned = 1
shuttle_master.emergency.request(null, 0.5,null)
cult_mode.third_phase()
qdel(src)
//Rite of Resurrection: Requires two corpses. Revives one and gibs the other.
+1 -1
View File
@@ -46,7 +46,6 @@
///Checks to see if the game can be setup and ran with the current number of players or whatnot.
/datum/game_mode/proc/can_start()
var/playerC = 0
cultdat = setupcult()
for(var/mob/new_player/player in player_list)
if((player.client)&&(player.ready))
playerC++
@@ -63,6 +62,7 @@
///pre_setup()
///Attempts to select players for special roles the mode might have.
/datum/game_mode/proc/pre_setup()
cultdat = setupcult()
return 1
+5 -1
View File
@@ -152,6 +152,10 @@
/proc/setupcult()
var/random_cult = pick(all_cults)
var/picked_cult = new random_cult() //this seems redundent as fuck
log_startup_progress("Summoning eldritch horrors...")
if(!picked_cult)//shouldn't happen BUT JUST TO BE SURE LET US KNOW
warning(" Failed to select a cult datum, Shank a coder!")
log_startup_progress(" Failed to select a cult datum, Shank a coder!")
else
log_startup_progress(" [picked_cult] has risen!")
//todo:add adminonly datum var, check for said var here...
return picked_cult
+6
View File
@@ -390,6 +390,12 @@
go_out()
..(severity)
/obj/machinery/sleeper/narsie_act()
go_out()
new /obj/effect/gibspawner/generic(get_turf(loc)) //I REPLACE YOUR TECHNOLOGY WITH FLESH!
qdel(src)
// ???
// This looks cool, although mildly broken, should it be included again?
/obj/machinery/sleeper/alter_health(mob/living/M as mob)
+5
View File
@@ -193,6 +193,11 @@
A.blob_act()
qdel(src)
/obj/machinery/bodyscanner/narsie_act()
go_out()
new /obj/effect/gibspawner/generic(get_turf(loc)) //I REPLACE YOUR TECHNOLOGY WITH FLESH!
qdel(src)
/obj/machinery/bodyscanner/attack_animal(var/mob/living/simple_animal/M)//Stop putting hostile mobs in things guise
if(M.environment_smash)
M.do_attack_animation(src)
+6
View File
@@ -451,6 +451,12 @@
add_fingerprint(usr)
return
/obj/machinery/bodyscanner/narsie_act()
go_out()
new /obj/effect/gibspawner/generic(get_turf(loc)) //I REPLACE YOUR TECHNOLOGY WITH FLESH!
color = "red"//force the icon to red
light_color = LIGHT_COLOR_RED
/obj/machinery/atmospherics/unary/cryo_cell/verb/move_inside()
set name = "Move Inside"
set category = "Object"
+1 -1
View File
@@ -328,8 +328,8 @@
else if(is_sacrifice_target(occupant.mind))
var/datum/game_mode/cult/cult_mode = ticker.mode
O.owner.objectives -= O
to_chat(O.owner.current, "<span class='cultitalic'>Our god's chosen gift has gone past our reach, we have a new goal...Objectives Updated!</span>")
qdel(O)
to_chat(O.owner.current, "<span class='cultitalic'>Our gods chosen gift has gone passed our reach, we have a new goal..Objectives Updated!</span>")
cult_mode.pick_objective()
else if(O.target && istype(O.target,/datum/mind))
if(O.target == occupant.mind)