mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
now someone tell me how to switch objectives....
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user