Skip to content

Commit ca674ef

Browse files
authored
The Boomerang Update (feat. Castlevania: Rondo of Blood, and Gurren Lagann) (#36993)
* Castlevania and Boomerangs * GURREN BOOMERANG * Alright * failsafe * better boomerang protection
1 parent 225338f commit ca674ef

File tree

94 files changed

+977
-140
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+977
-140
lines changed

__DEFINES/_macros.dm

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,11 @@
206206

207207
#define isgripper(G) (istype(G, /obj/item/weapon/gripper))
208208

209-
#define isholyweapon(I) (istype(I, /obj/item/weapon/nullrod) || istype(I, /obj/item/weapon/gun/hookshot/whip/vampkiller))
209+
#define isholyweapon(I) (istype(I, /obj/item/weapon/storage/bible)\
210+
|| istype(I, /obj/item/weapon/nullrod)\
211+
|| istype(I, /obj/item/weapon/gun/hookshot/whip/vampkiller/true)\
212+
|| istype(I, /obj/item/projectile/hookshot/whip/vampkiller/true)\
213+
|| istype(I, /obj/item/weapon/boomerang/cross))
210214

211215
#define isholyprotection(I) (istype(I, /obj/item/weapon/nullrod))
212216

__DEFINES/reagents.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#define STOXIN "stoxin"
3939
#define INAPROVALINE "inaprovaline"
4040
#define HOLYWATER "holywater"
41+
#define SACREDWATER "sacredwater"
4142
#define SEROTROTIUM "serotrotium"
4243
#define SILICATE "silicate"
4344
#define OXYGEN "oxygen"

__DEFINES/setup.dm

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1977,6 +1977,11 @@ var/list/weekend_days = list("Friday", "Saturday", "Sunday")
19771977
#define PS_NARSIEHASRISEN3 "Nar-SieHasRisen3"
19781978
#define PS_ZAS_DUST "ZAS Dust"
19791979
#define PS_DANDELIONS "Dandelions"
1980+
#define PS_CROSS_DUST "Cross Dust"
1981+
#define PS_CROSS_ORB "Cross Orb"
1982+
#define PS_SACRED_FLAME "Sacred Flame"
1983+
#define PS_SACRED_FLAME2 "Sacred Flame2"
1984+
#define PS_BIBLE_PAGE "Bible Page"
19801985

19811986
//Particles variable defines
19821987
#define PVAR_SPAWNING "spawning"

code/datums/gamemode/factions/bloodcult/bloodcult_effects.dm

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,17 +110,23 @@
110110
/obj/effect/afterimage/black
111111
image_color = "black"
112112

113-
/obj/effect/afterimage/New(var/turf/loc, var/atom/model, var/fadout = 5)
113+
/obj/effect/afterimage/richter_tackle/New()
114+
..()
115+
transform = matrix()
116+
pixel_x = 0
117+
pixel_y = 0
118+
119+
/obj/effect/afterimage/New(var/turf/loc, var/atom/model, var/fadout = 5, var/initial_alpha = 255, var/lay = NARSIE_GLOW, var/pla = ABOVE_LIGHTING_PLANE)
114120
..()
115121
if(model)
116-
src.appearance = model.appearance
122+
appearance = model.appearance
117123
invisibility = 0
118-
alpha = 255
124+
alpha = initial_alpha
119125
dir = model.dir
120126
if (image_color)
121127
color = image_color
122-
layer = NARSIE_GLOW
123-
plane = ABOVE_LIGHTING_PLANE
128+
layer = lay
129+
plane = pla
124130
animate(src,alpha = 0, time = fadout)
125131
spawn(fadout)
126132
qdel(src)

code/datums/gamemode/factions/bloodcult/bloodcult_mobs_and_constructs.dm

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@
1313
var/turf/crashing = null
1414
spell_on_use_inhand = /spell/juggerdash //standard jug gets forcewall, but this seems better for perfect
1515

16+
/mob/living/simple_animal/construct/armoured/perfect/special_thrown_behaviour()
17+
dash_dir = dir
18+
throwing = 2//dashing through windows and grilles
19+
20+
/mob/living/simple_animal/construct/armoured/perfect/get_afterimage()
21+
return "red"
22+
1623
/mob/living/simple_animal/construct/armoured/perfect/to_bump(var/atom/obstacle)
1724
if(src.throwing)
1825
var/breakthrough = 0

code/datums/gamemode/role/cultist.dm

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@
552552
H.stuttering = max(H.stuttering, 12)
553553
H.Jitter(12)
554554

555-
/datum/role/cultist/handle_splashed_reagent(var/reagent_id)//also proc'd when holy water is drinked or ingested in any way
555+
/datum/role/cultist/handle_splashed_reagent(var/reagent_id, var/method, var/volume)//also proc'd when holy water is drinked or ingested in any way
556556
var/mob/living/carbon/human/H = antag.current
557557
if (!istype(H))
558558
return
@@ -561,11 +561,17 @@
561561
holywarning_cooldown = 5
562562
to_chat(H, "<span class='danger'>The cold touch of holy water makes your head spin, you're having trouble walking straight.</span>")
563563

564-
if (reagent_id == HOLYWATER || reagent_id == INCENSE_HAREBELLS)
565-
H.eye_blurry = max(H.eye_blurry, 12)
566-
H.Dizzy(12)
567-
H.stuttering = max(H.stuttering, 12)
568-
H.Jitter(12)
564+
if (reagent_id == SACREDWATER)
565+
if (holywarning_cooldown <= 0)
566+
holywarning_cooldown = 5
567+
to_chat(H, "<span class='danger'>The burning touch of sacred water sears your skin.</span>")
568+
569+
switch(reagent_id)
570+
if (HOLYWATER,INCENSE_HAREBELLS,SACREDWATER)
571+
H.eye_blurry = max(H.eye_blurry, 12)
572+
H.Dizzy(12)
573+
H.stuttering = max(H.stuttering, 12)
574+
H.Jitter(12)
569575

570576
/datum/role/cultist/proc/write_rune(var/word_to_draw)
571577
var/mob/living/user = antag.current

code/datums/gamemode/role/role.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@
579579
/datum/role/proc/handle_reagent(var/reagent_id)
580580
return
581581

582-
/datum/role/proc/handle_splashed_reagent(var/reagent_id)
582+
/datum/role/proc/handle_splashed_reagent(var/reagent_id, var/method, var/volume)
583583
return
584584

585585
//Does the role have special clothing restrictions?

code/datums/gamemode/role/vampire_role.dm

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@
424424

425425
/datum/role/vampire/handle_reagent(var/reagent_id)
426426
switch(reagent_id)
427-
if (HOLYWATER,INCENSE_HAREBELLS)
427+
if (HOLYWATER,INCENSE_HAREBELLS,SACREDWATER)
428428
var/mob/living/carbon/human/H = antag.current
429429
if (!istype(H))
430430
return
@@ -436,12 +436,9 @@
436436
to_chat(H, "<span class='warning'>A freezing liquid permeates your bloodstream. You're still too human to be smited!</span>")
437437
smitecounter += 2 //Basically nothing, unless you drank multiple bottles of holy water (250 units to catch on fire !)
438438

439-
/*
440-
Commented out for now.
441-
442-
/datum/role/vampire/handle_splashed_reagent(var/reagent_id)
439+
/datum/role/vampire/handle_splashed_reagent(var/reagent_id, var/method, var/volume)
443440
switch (reagent_id)
444-
if (HOLYWATER)
441+
if (HOLYWATER,SACREDWATER)
445442
var/mob/living/carbon/human/H = antag.current
446443
if (!istype(H))
447444
return
@@ -483,8 +480,6 @@
483480
H.take_organ_damage(min(15, volume * 2))
484481
smitecounter += 5
485482

486-
*/
487-
488483
/*
489484
-- Helpers --
490485
*/

code/datums/religions.dm

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,15 @@ var/list/tgui_religion_data
6767
var/datum/religion/religion = new path
6868
var/obj/item/weapon/storage/fancy/incensebox/incensebox_path = religion.preferred_incense
6969
var/incense_fragrance = initial(incensebox_path.fragrance)
70+
var/list/bible_style = all_bible_styles[religion.bookstyle]
71+
if (islist(bible_style))
72+
bible_style = bible_style["icon"]
7073
data_religions += list(list(
7174
"name" = religion.name,
7275
"keywords" = religion.keys,
7376
"deityName" = religion.deity_name,
7477
"bibleStyle" = religion.bookstyle,
75-
"bibleStyleIcon" = all_bible_styles[religion.bookstyle],
78+
"bibleStyleIcon" = bible_style,
7679
"bibleName" = religion.bible_name,
7780
"maleAdept" = religion.male_adept,
7881
"femaleAdept" = religion.female_adept,
@@ -82,7 +85,6 @@ var/list/tgui_religion_data
8285
"preferredIncense" = incense_fragrance,
8386
"notes" = religion.ui_notes(),
8487
))
85-
8688
var/list/data_bible_styles = data["bibleStyles"]
8789
for(var/name in all_bible_styles)
8890
var/icon_name = all_bible_styles[name]
@@ -1429,8 +1431,10 @@ var/list/all_bible_styles = list(
14291431
bookstyle = "Holy Grimoire"
14301432

14311433
/datum/religion/belmont/equip_chaplain(var/mob/living/carbon/human/H)
1432-
H.equip_or_collect(new /obj/item/clothing/suit/vamphunter, slot_w_uniform)
1433-
H.equip_or_collect(new /obj/item/clothing/head/vamphunter, slot_shoes)
1434+
H.collect_in_backpack(new /obj/item/clothing/suit/vamphunter)
1435+
H.collect_in_backpack(new /obj/item/clothing/head/vamphunter)
1436+
H.collect_in_backpack(new /obj/item/weapon/storage/box/castlevania(H))
1437+
H.equip_or_collect(new /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/sacredwater, slot_r_store)
14341438

14351439
/datum/religion/esports
14361440
name = "E-Sports"

code/game/atoms.dm

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,10 @@ var/global/list/ghdel_profiling = list()
156156
/atom/proc/throw_impact(atom/hit_atom, var/speed, mob/user, var/list/impact_whitelist)
157157
if(istype(hit_atom,/mob/living))
158158
var/mob/living/M = hit_atom
159-
playsound(src, src.throw_impact_sound, 80, 1)
160-
M.hitby(src,speed,src.dir,impact_whitelist)
159+
if (M.hitby(src,speed,src.dir,impact_whitelist))
160+
playsound(loc,'sound/effects/slap2.ogg', 15, 1)//grabbed the item
161+
else
162+
playsound(src, src.throw_impact_sound, 80, 1)
161163
log_attack("<font color='red'>[hit_atom] ([M ? M.ckey : "what"]) was hit by [src] thrown by [user] ([user ? user.ckey : "what"])</font>")
162164

163165
else if(isobj(hit_atom))
@@ -170,8 +172,9 @@ var/global/list/ghdel_profiling = list()
170172
else if(isturf(hit_atom) && !istype(src,/obj/mecha))//heavy mechs don't just bounce off walls, also it can fuck up rocket dashes
171173
var/turf/T = hit_atom
172174
if(T.density)
173-
spawn(2)
174-
step(src, turn(src.dir, 180))
175+
if (isturf(loc))
176+
spawn(2)
177+
step(src, turn(src.dir, 180))
175178
if(istype(src,/mob/living))
176179
var/mob/living/M = src
177180
M.take_organ_damage(10)

0 commit comments

Comments
 (0)