%DamageLava = 0.01;
%DamageHotLava = 0.01;
%DamageCrustyLava = 0.01;
function ShapeBase::setDamageDt(%this, %damageAmount, %damageType)
{
if( %this.getState() !$= "Dead" ) {
%this.damage(0, "0 0 0", %damageAmount, %damageType);
%this.damageSchedule = %this.schedule(50, "setDamageDt", %damageAmount, %damageType);
}
else
%this.damageSchedule = "";
}
function ShapeBase::clearDamageDt(%this)
{
if( %this.damageSchedule !$= "" ) {
cancel(%this.damageSchedule);
%this.damageSchedule = "";
}
}
function PlayerArmorDataNameHere::onEnterLiquid(%this, %obj, %coverage, %type)
{
switch(%type)
{
case 0: //Water
case 1: //Ocean Water
case 2: //River Water
case 3: //Stagnant Water
case 4: //Lava
%obj.setDamageDt(%this, %DamageLava, "Lava");
case 5: //Hot Lava
%obj.setDamageDt(%this, %DamageHotLava, "Lava");
case 6: //Crusty Lava
%obj.setDamageDt(%this, %DamageCrustyLava, "Lava");
case 7: //Quick Sand
}
}
function PlayerArmorDataNameHere::onLeaveLiquid(%this, %obj, %type)
{
%obj.clearDamageDt();
}
Garage Games code.