// TMW2 Script
// Authors:
// Jesusalva
// Description:
// Dungeon utilities
- script #DungeonCore NPC_HIDDEN,{
end;
// Main initialization
OnInit:
setarray .heatmap$, "007-2";
setarray .cursemap$, "006-4", "006-4-1", "025-1";
end;
/////////////////////////////////////////
// Heartbeat for Heat effects
OnHeat:
// Did you left?
.@i=array_find(.heatmap$, getmap());
if (.@i < 0) {
@heat$="";
end;
}
// First time seeing this
if (@heat$ != getmap()) {
@heat$=getmap();
dispbottom l("This is a hot map, you're suffering damage over time.");
}
// You are in a HEATMAP$, so suffer damage from heat
if (@coolio > gettimetick(2) || Class == Redy)
percentheal -1, 0;
else
percentheal -5, 0;
// New tick (dies in 140~180 seconds)
addtimer2 rand2(7000, 9000), .name$+"::OnHeat";
end;
/////////////////////////////////////////
// Heartbeat for Cursed Land map effects
OnCurse:
// Did you left?
.@i=array_find(.cursemap$, getmap());
if (.@i < 0) {
@curse$="";
end;
}
// First time seeing this
if (@curse$ != getmap()) {
@curse$=getmap();
dispbottom l("This is a Cursed Lands map, you'll lose mana over time and may also incurr in debuffs if mana is low (may cause death).");
}
// You are in a CURSEMAP$, so suffer damage from heat
if (@purifio > gettimetick(2))
percentheal 0, -5;
else
heal 0, -1;
// MP is below 20%, you'll get cursed
if (Sp*100 < MaxSp*20)
SC_Bonus(15, SC_CURSE, 1);
// MP is below 1%, you'll get start losing HP rapidly
if (Sp*100 < MaxSp)
percentheal -10, 0;
// New tick (cycles every 15 seconds in average)
addtimer2 rand2(14000, 15000), .name$+"::OnCurse";
end;
}
//////////////////////////////
007-2 mapflag nosave 007-1,99,189
006-4 mapflag nosave 006-3,54,36
006-4-1 mapflag nosave 006-3,54,36