Fixed being able to use Cult 3.0 runes that you shouldn't already have access to (#20738)

* limit act

* nullrod

* gne

* aaaaaa
This commit is contained in:
DeityLink
2018-11-17 03:31:58 +01:00
committed by jknpj
parent f8496ac481
commit 96d69b71a3
5 changed files with 36 additions and 10 deletions

View File

@@ -24,6 +24,9 @@ var/veil_thickness = CULT_PROLOGUE
for (var/obj/structure/cult/spire/S in cult_spires)
S.upgrade()
for (var/obj/effect/rune/R in rune_list)
R.update_icon()
/proc/spawn_bloodstones(var/turf/source = null)
//Called at the beginning of ACT III, this is basically the cult's declaration of war on the crew
//Spawns 4 structures, one in each quarters of the station
@@ -234,6 +237,9 @@ var/veil_thickness = CULT_PROLOGUE
for (var/obj/structure/cult/spire/S in cult_spires)
S.upgrade()
for (var/obj/effect/rune/R in rune_list)
R.update_icon()
if (istype(new_obj,/datum/objective/bloodcult_bloodbath))
var/datum/objective/bloodcult_bloodbath/O = new_obj
O.max_bloodspill = max(O.max_bloodspill,bloody_floors.len)

View File

@@ -72,16 +72,19 @@
user.whisper(text)
/datum/rune_spell/proc/pre_cast()
var/mob/living/user = activator
//checking whether we're in the proper Act
if (Act_restriction > veil_thickness)
to_chat(activator, "<span class='danger'>The veil is still too thick for you to draw power from this rune.</span>")
return
//checking whether we're casting from a rune or a talisman.
if (istype (spell_holder,/obj/effect/rune))
if ((rune_flags & RUNE_STAND) && (user.loc != spell_holder.loc))
if ((rune_flags & RUNE_STAND) && (activator.loc != spell_holder.loc))
abort(RITUALABORT_STAND)
else
invoke(user,invocation)
invoke(activator,invocation)
cast()
else if (istype (spell_holder,/obj/item/weapon/talisman))
invoke(user,invocation,1)//talisman incantations are whispered
invoke(activator,invocation,1)//talisman incantations are whispered
cast_talisman()
/datum/rune_spell/proc/midcast(var/mob/add_cultist)

View File

@@ -68,15 +68,31 @@
*/
..() //Whack their shit regardless. It's an obsidian rod, it breaks skulls
/*
/obj/item/weapon/nullrod/afterattack(atom/A, mob/user as mob, prox_flag, params)
/obj/item/weapon/nullrod/afterattack(var/atom/A, var/mob/user, var/prox_flag, var/params)
if(!prox_flag)
return
user.delayNextAttack(8)
if(istype(A, /turf/simulated/floor))
to_chat(user, "<span class='notice'>You hit the floor with the [src].</span>")
call(/obj/effect/rune/proc/revealrunes)(src)
*/
var/atom/movable/overlay/animation = anim(target = A, a_icon = 'icons/effects/96x96.dmi', a_icon_state = "nullcheck", lay = NARSIE_GLOW, offX = -WORLD_ICON_SIZE, offY = -WORLD_ICON_SIZE, plane = LIGHTING_PLANE)
animation.alpha = 0
animate(animation, alpha = 255, time = 2)
animate(alpha = 0, time = 3)
user.delayNextAttack(8)
to_chat(user, "<span class='notice'>You hit \the [A] with \the [src].</span>")
var/found = 0
for(var/obj/effect/rune/R in range(1,A))
found = 1
R.reveal()
if (found)
to_chat(user, "<span class='warning'>Arcane markings suddenly glow from underneath a thin layer of dust!</span>")
found = 0
for(var/obj/structure/cult/S in range(1,A))
found = 1
S.reveal()
if (found)
to_chat(user, "<span class='warning'>A structure suddenly emerges from the ground!</span>")
call(/obj/effect/rune_legacy/proc/revealrunes)(src)//revealing legacy runes as well because why not
/obj/item/weapon/nullrod/pickup(mob/living/user as mob)
if(user.mind)
if(user.mind.assigned_role == "Chaplain")

View File

@@ -24,6 +24,7 @@
var/health = 50
var/tmp/busy = 0
var/list/valid_types = list(/obj/item/weapon/book, \
/obj/item/weapon/tome, \
/obj/item/weapon/tome_legacy, \
/obj/item/weapon/spellbook, \
/obj/item/weapon/storage/bible)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 567 KiB

After

Width:  |  Height:  |  Size: 575 KiB