forked from OpenMeridian/Meridian59
-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added a room to include the new daemon helmet, as an endboss a new giantdaemonskel. Need some work on the raising fence (necarea6.kod)
- Loading branch information
Showing
17 changed files
with
377 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
113 changes: 113 additions & 0 deletions
113
kod/object/active/holder/nomoveon/battler/monster/skel/gdaemskel.kod
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
// Meridian 59, Copyright 1994-2012 Andrew Kirmse and Chris Kirmse. | ||
// All rights reserved. | ||
// | ||
// This software is distributed under a license that is described in | ||
// the LICENSE file that accompanies it. | ||
// | ||
// Meridian is a registered trademark. | ||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////// | ||
GiantDaemonSkeleton is Skeleton | ||
|
||
constants: | ||
|
||
include blakston.khd | ||
|
||
DEMENTIA_CHANCE = 20 | ||
|
||
resources: | ||
|
||
include gdaemskel.lkod | ||
|
||
GiantDaemonSkeleton_koc_name_rsc = "gikochaleoc" | ||
GiantDaemonSkeleton_name_rsc = "giant daemon skeleton" | ||
GiantDaemonSkeleton_icon_rsc = gskelbody.bgf | ||
GiantDaemonSkeleton_desc_rsc = \ | ||
"The sight alone of this abomination of nature is often enough to " | ||
"paralyze a human. You shudder to think what dark ritual brought " | ||
"this creature into being." | ||
|
||
GiantDaemonSkeleton_head = gskelhed4.bgf | ||
GiantDaemonSkeleton_dead_icon_rsc = skelX.bgf | ||
GiantDaemonSkeleton_dead_name_rsc = "pile of bones" | ||
|
||
GiantDaemonSkeleton_sound_miss = skl4_atk.ogg | ||
GiantDaemonSkeleton_sound_death = skl4_die.ogg | ||
GiantDaemonSkeleton_sound_aware = skl4_awr.ogg | ||
|
||
classvars: | ||
|
||
vrKocName = GiantDaemonSkeleton_koc_name_rsc | ||
vrName = GiantDaemonSkeleton_name_rsc | ||
vrIcon = GiantDaemonSkeleton_icon_rsc | ||
vrDesc = GiantDaemonSkeleton_desc_rsc | ||
vrDead_icon = GiantDaemonSkeleton_dead_icon_rsc | ||
vrDead_name = GiantDaemonSkeleton_dead_name_rsc | ||
|
||
viTreasure_type = TID_SKELETON5 | ||
viSpeed = SPEED_FAST | ||
viAttack_type = ATCK_WEAP_THRUST | ||
viAttributes = 0 | ||
viLevel = 150 | ||
viDifficulty = 9 | ||
viVisionDistance = 20 | ||
// Attack range of 192, or 3 row/col. | ||
viAttackRange = 192 | ||
viKarma = -100 | ||
viDefault_behavior = \ | ||
AI_FIGHT_AGGRESSIVE | AI_FIGHT_HYPERAGGRESSIVE \ | ||
| AI_FIGHT_SWITCHALOT | AI_MOVE_FLEE_FRIGHTENERS | ||
viCashmin = 2589 | ||
viCashmax = 4225 | ||
vrSound_miss = DaemonSkeleton_sound_miss | ||
vrSound_aware = DaemonSkeleton_sound_aware | ||
vrSound_death = DaemonSkeleton_sound_death | ||
|
||
vrHeadIcon = GiantDaemonSkeleton_head | ||
|
||
properties: | ||
|
||
piAnimation = ANIM_NONE | ||
|
||
messages: | ||
|
||
SetResistances() | ||
{ | ||
plResistances = [ [ATCK_WEAP_PIERCE, 70 ], | ||
[ATCK_WEAP_THRUST, 70 ], | ||
[-ATCK_SPELL_UNHOLY, 70 ], | ||
[-ATCK_SPELL_SHOCK, 70 ], | ||
[-ATCK_SPELL_FIRE, 70 ], | ||
[-ATCK_SPELL_COLD, -10 ], | ||
[-ATCK_SPELL_HOLY, -20 ], | ||
[ATCK_WEAP_BLUDGEON, -20 ] | ||
]; | ||
|
||
return; | ||
} | ||
|
||
HitSideEffect(what = $, who = $) | ||
{ | ||
local oSpell; | ||
|
||
oSpell = Send(SYS,@FindSpellByNum,#num=SID_DEMENT); | ||
if NOT Send(what,@IsEnchanted,#what=oSpell) | ||
AND Random(1,DEMENTIA_CHANCE) = 1 | ||
{ | ||
if who <> $ | ||
{ | ||
Send(oSpell,@CastSpell,#who=who,#lTargets=[what],#iSpellPower=15, | ||
#bItemCast=TRUE); | ||
} | ||
else | ||
{ | ||
Send(oSpell,@DoSpell,#what=self,#oTarget=what,#iSpellPower=15); | ||
} | ||
} | ||
|
||
return; | ||
} | ||
|
||
end | ||
//////////////////////////////////////////////////////////////////////////////// |
7 changes: 7 additions & 0 deletions
7
kod/object/active/holder/nomoveon/battler/monster/skel/gdaemskel.lkod
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
GiantDaemonSkeleton_koc_name_rsc = de "gikochaleoc" | ||
GiantDaemonSkeleton_name_rsc = de "Das Riesen D�monenskelett" | ||
GiantDaemonSkeleton_desc_rsc = de \ | ||
"Allein der Anblick dieser Abnormalit�t der Natur ist oft genug umeinen " | ||
"Menschen erstarren zu lassen. Du schauderst, als Du daran denkst,was " | ||
"f�r ein dunkles Ritual diese Abnormalit�t zum Leben erweckt hat!" | ||
GiantDaemonSkeleton_dead_name_rsc = de "Ein gro�er Knochenhaufen" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
// Meridian 59, Copyright 1994-2012 Andrew Kirmse and Chris Kirmse. | ||
// All rights reserved. | ||
// | ||
// This software is distributed under a license that is described in | ||
// the LICENSE file that accompanies it. | ||
// | ||
// Meridian is a registered trademark. | ||
|
||
|
||
/////////////////////////////////////////////////////////////////////////////////// | ||
Necropolis6 is MonsterRoom | ||
|
||
constants: | ||
|
||
include blakston.khd | ||
include protocol.khd | ||
|
||
GIANT_ROW = 6 | ||
GIANT_COL = 11 | ||
|
||
HOUR_MILLI = 900000 | ||
|
||
// FENCE SECTORS | ||
// FENCE_1 = 3 | ||
// FENCE_2 = 4 | ||
// FENCE_3 = 5 | ||
|
||
resources: | ||
|
||
include necarea6.lkod | ||
|
||
room_name_Necropolis6 = "Decaying City of Brax II" | ||
room_Necropolis6 = necarea6.roo | ||
Necropolis6_music = nec02.ogg | ||
|
||
Necropolis6_loop = necloop4.ogg | ||
|
||
Necropolis6_no_rift = "Casting shadow rift here would be pointless." | ||
|
||
fence_open_sound = doordown.ogg | ||
fence_close_sound = doorrsup.ogg | ||
|
||
classvars: | ||
|
||
vrName = room_name_Necropolis6 | ||
|
||
viTeleport_row = 27 | ||
viTeleport_col = 11 | ||
|
||
viTerrain_type = TERRAIN_NECROPOLIS | ||
|
||
properties: | ||
|
||
prRoom = room_Necropolis6 | ||
piRoom_num = RID_NECROAREA6 | ||
|
||
piBaseLight = LIGHT_MIN | ||
piOutside_factor = 0 | ||
|
||
piGen_time = 25000 | ||
piGen_percent = 80 | ||
|
||
piInit_count_min = 7 | ||
piInit_count_max = 9 | ||
|
||
piMonster_count_max = 25 | ||
|
||
prMusic = Necropolis6_music | ||
|
||
ptGiant_gen = $ | ||
|
||
messages: | ||
|
||
CreateStandardExits() | ||
{ | ||
|
||
plExits = $; | ||
|
||
// To NECROAREA 3 | ||
plExits = Cons([ 32, 10, RID_NECROAREA3, 2, 19, ROTATE_NONE ],plExits); | ||
plExits = Cons([ 32, 11, RID_NECROAREA3, 2, 19, ROTATE_NONE ],plExits); | ||
plExits = Cons([ 32, 12, RID_NECROAREA3, 2, 19, ROTATE_NONE ],plExits); | ||
|
||
// To INSIDE | ||
plExits = Cons([ 22, 10, RID_NECROAREA6, 20, 11, ROTATE_NONE ],plExits); | ||
plExits = Cons([ 22, 11, RID_NECROAREA6, 20, 11, ROTATE_NONE ],plExits); | ||
plExits = Cons([ 22, 12, RID_NECROAREA6, 20, 11, ROTATE_NONE ],plExits); | ||
|
||
plExits = Cons([ 21, 10, RID_NECROAREA6, 22, 11, ROTATE_NONE ],plExits); | ||
plExits = Cons([ 21, 11, RID_NECROAREA6, 22, 11, ROTATE_NONE ],plExits); | ||
plExits = Cons([ 21, 12, RID_NECROAREA6, 22, 11, ROTATE_NONE ],plExits); | ||
|
||
propagate; | ||
} | ||
|
||
|
||
ReqSpellCast(who = $, oSpell = $, lItems = $) | ||
{ | ||
if IsClass(oSpell,&DeathsDoor) | ||
{ | ||
Send(who,@MsgSendUser,#message_rsc=Necropolis6_no_rift); | ||
|
||
return FALSE; | ||
} | ||
|
||
propagate; | ||
} | ||
|
||
|
||
Constructed() | ||
{ | ||
plMonsters = [ [&DaemonSkeleton, 70], [&TuskedSkeleton, 30] ]; | ||
plGenerators = [ [10,9], [10,14], [13,14], [15,9], [17,9], [17,14] ]; | ||
|
||
plLooping_sounds = [[ Necropolis4_loop, 0, 0, 200, 100 ]]; | ||
|
||
Send(self,@GiantGenTimer); | ||
|
||
propagate; | ||
|
||
} | ||
|
||
|
||
GiantGenTimer() | ||
{ | ||
local i,bFound,each_obj; | ||
|
||
ptGiant_gen = $; | ||
|
||
bFound = FALSE; | ||
foreach i in plActive | ||
{ | ||
each_obj = Send(self,@HolderExtractObject,#data=i); | ||
if IsClass(each_obj,&GiantDaemonSkeleton) | ||
{ | ||
bFound = TRUE; | ||
} | ||
} | ||
|
||
if not bFound | ||
{ | ||
Send(self,@NewHold,#what=Create(&GiantDaemonSkeleton),#new_row=GIANT_ROW,#new_col=GIANT_COL); | ||
} | ||
|
||
ptGiant_gen = CreateTimer(self,@GiantGenTimer,1*HOUR_MILLI); | ||
|
||
return; | ||
} | ||
|
||
|
||
CreateStandardObjects() | ||
{ | ||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_NECSLIME), | ||
#new_row=18,#new_col=8,#fine_row=56,#fine_col=0,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_NECSLIME), | ||
#new_row=5,#new_col=14,#fine_row=0,#fine_col=48,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_NECSLIME), | ||
#new_row=20,#new_col=16,#fine_row=56,#fine_col=8,#angle=ANGLE_EAST); | ||
|
||
Send(self,@NewHold,#what=Create(&Skull), | ||
#new_row=19,#new_col=8,#fine_row=8,#fine_col=40,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_HALFSKULL), | ||
#new_row=19,#new_col=9,#fine_row=0,#fine_col=8,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&Skull), | ||
#new_row=15,#new_col=12,#fine_row=48,#fine_col=8,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_HALFSKULL), | ||
#new_row=16,#new_col=11,#fine_row=24,#fine_col=0,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&Skull), | ||
#new_row=12,#new_col=13,#fine_row=8,#fine_col=0,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_HALFSKULL), | ||
#new_row=11,#new_col=11,#fine_row=16,#fine_col=40,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&Skull), | ||
#new_row=7,#new_col=10,#fine_row=48,#fine_col=16,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_HALFSKULL), | ||
#new_row=7,#new_col=13,#fine_row=56,#fine_col=0,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&Skull), | ||
#new_row=6,#new_col=10,#fine_row=24,#fine_col=0,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_HALFSKULL), | ||
#new_row=5,#new_col=12,#fine_row=24,#fine_col=24,#angle=ANGLE_EAST); | ||
|
||
Send(self,@NewHold,#what=Create(&OrnamentalObject,#type=OO_NECTREE4), | ||
#new_row=27,#new_col=9,#fine_row=0,#fine_col=48,#angle=ANGLE_EAST); | ||
Send(self,@NewHold,#what=Create(&GlowTree), | ||
#new_row=22,#new_col=13,#fine_row=48,#fine_col=48,#angle=ANGLE_EAST); | ||
|
||
propagate; | ||
} | ||
|
||
end | ||
//////////////////////////////////////////////////////////////////////////////// |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
room_name_Necropolis6 = de "Die verfallende Stadt von Brax II" | ||
Necropolis6_no_rift = de "Hier Schattenriss zu zaubern w�rde nutzlos sein." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.