XuN
Sphere Developer
Posts: 852
Likes Given: 102
Likes Received: 156 in 119 posts
Joined: Jul 2013
Reputation: 30
|
Palace of Paroxysmus (Acid tiles damage)
With the idea of not spamming floor of items doing dmg @Step I made this script with some help on IRC (maybe a call for join it while submitting this?).
Code:
[RegionType r_paroxysmus]
ON=@Step
if (<src.npc>==0) && !((<src.flags>&statf_invul) || (<src.flags>&statf_dead))
if ((<SERV.MAP(<src.p.x>,<src.p.y>,<map>).type>==t_acid) && !(<src.isneartypetop t_arock 0>)) || (<src.isneartypetop t_acid 0>==1) //if terrain above us is t_acid and we are not over t_arock OR we are over t_acid (static t_Acid differs from terrain one, so we have to double check)
src.damage=30,dam_Acidic,<uid>// i don't know OSI's real damage for this tiles since there's not info about it
endif
endif
[RegionType r_paroxysmus_lair]
ON=@Step
if (<src.npc>==0) && !((<src.flags>&statf_invul) || (<src.flags>&statf_dead))
if ((<SERV.MAP(<src.p.x>,<src.p.y>,<map>).type>==t_acid) && !(<src.isneartypetop t_arock 0>)) || (<src.isneartypetop t_acid 0>==1)
src.damage=<src.maxhits>,dam_Acidic,<uid>//instakill.
endif
endif
You'll have to modify '[AREADEF a_ml_dungeon_3]' in 'sphere_map0_ml.scp' and add first event to it and then create a room (or an area apart of it) for the lair itself because acording to UOGuide it does insta-kill when you step in one acid pool.
Code:
[AREADEF a_ml_dungeon_3]
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass,r_paroxysmus
NAME=Palace of Paroxysmus
FLAGS=REGION_ANTIMAGIC_RECALL_IN|REGION_FLAG_NOBUILDING|REGION_FLAG_UNDERGROUND
GROUP=ML Dungeons
P=6306,403,60,0
RECT=6198,316,6563,676,0
[Areadef a_ml_dungeon_3_lair]
NAME=Palace of Paroxysmus Lair
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass,r_paroxysmus_lair
FLAGS=REGION_ANTIMAGIC_RECALL_IN|REGION_FLAG_NOBUILDING|REGION_FLAG_UNDERGROUND
GROUP=ML Dungeons
P=6510,514,-50
RECT=6468,329,6559,543,0
AND one more thing, near the exit (NW corner) there's a group of rocks in wich you can't walk over... so here's a function to create a few marble floors above them (not really above, you can walk over but they are not above, its important that you don't change these floor's Z or trigger won't work correctly as it only check for t_arock for 'acid-saver' type)
Code:
[function paroxysmus_fix_floor]
serv.newitem i_floor_marble
new.attr=090
new.p=6239,350,61
serv.newitem i_floor_marble
new.attr=090
new.p=6238,350,62
serv.newitem i_floor_marble
new.attr=090
new.p=6238,351,62
serv.newitem i_floor_marble
new.attr=090
new.p=6238,352,62
serv.newitem i_floor_marble
new.attr=090
new.p=6237,352,62
serv.newitem i_floor_marble
new.attr=090
new.p=6237,353,63
serv.newitem i_floor_marble
new.attr=090
new.p=6237,354,62
serv.newitem i_floor_marble
new.attr=090
new.p=6237,355,63
serv.newitem i_floor_marble
new.attr=090
new.p=6236,356,62
|
|